1、简介
多任务学习是机器学习中重要的一部分,关于多任务学习的更多内容可以去看这篇文章。但是对于应用深度学习进行多任务学习会遇到一个棘手的问题,那就是我们该如何确定网络的共享部分。针对不同的任务,其最佳共享层往往存在不同,其中作者针对使用AlexNet网络分别进行图像检测、图像属性生成及图像语义分割、图像平面法向量(Surface Normal)进行多任务学习,针对两个任务,作者分别从fc8层进行共享,一直测试到两者完全不进行共享的情况。实验结果如图1所示,其中图1(b)部分是不同共享层与完全独立时的效果对比,可以看出对于任务一来说,共享部分在conv4时所能达到的效果,针对于任务二来说,在fc7层的效果最好。因此,针对于不同的多任务学习来说,一般我们需要根据任务需求设计不同的共享层,没有统一的标准。本文就针对这一问题设计了“十指绣”单元,可以通过端对端的学习来自动决定共享层。
图1
2、“十字绣”结构
这篇论文的核心就在这里,设计“十字绣”单元的思想如图2所示,通过在两个网络的特征层之间增加“十字绣”单元可以使网络自动学习到需要共享的特征。其中“十字绣”单元就是一个系数矩阵。其表达式如式(1)所示。从这个公式中可以明显看出,当或
值为0时,说明两者没有共享的特征,相反的,当两者的值越大,说明共享部分越大。
图2