多任务学习(multi-task learning)
归纳迁移机制,主要目标是利用隐含在多个相关任务的训练信号中的特定领域信息来提高泛化能力。
深度学习中两种多任务学习模式:隐层参数的硬共享和软共享。
(1)硬共享机制:在所有任务之间共享隐藏层,同时保留几个特定任务的输出层来实现。降低了过拟合的风险。直观来讲,越多任务同时学习,我们的模型就能捕捉到越多任务的同一个表示,从而导致在我们原始任务上的过拟合风险越小。
(2)软共享机制:每个任务都有自己的模型,自己的参数。模型参数之间的距离是正则化的,以便鼓励参数相似化。
多任务学习的有效性:
由于所有任务都或多或少存在一些噪音,例如,当我们训练任务A上的模型时,我们的目标在于得到任务A的一个好的表示。由于不同任务有不同的噪声模式,同时学习到两个任务可以得到一个更为泛化的表示。
实例介绍:
(1)人脸识别:多任务学习给出多个监督信息(标签),利用任务之间的 相关性相互促进。汤晓鸥组的DeepID2中共有两个损失函数,分别为人脸分类损失函数和人脸验证loss。
(2)目标检测: Fast R-CNN。每个RoI有两个输出:softmax概率和每个分类的矩形框回归补偿。
案例2-Text-CNN
《Text-Attentional Convolutional Neural Network for Scene Text Detection》一文中介绍了TextCNN在传统CNN基础上加上了两个辅任务(auxiliary tasks)。
主任务:判断图片块是否含有字符(text/non-text,二分类问题)
辅任务1:给图片块中的字符分类(‘0-9,a-z,A-Z’,62类分类问题)
辅任务2:用Binary Mask表示字符位置(回归问题)