2.8 多任务学习(Multi-task learning)
假设无人驾驶需要同时检测行人、车辆、停车标志,还有交通灯各种其他东西
整个训练集的平均损失:
Multi-task learning与Softmax regression的区别在于:
Multi-task learning是multiple labels的,即输出向量y可以有多个元素为1
Softmax regression是single label的,即输出向量y只有一个元素为1
神经网络一些早期特征,在识别不同物体时都会用到,训练一个神经网络做四件事情会比训练四个完全独立的神经网络分别做四件事性能要更好
多任务学习也可以处理图像只有部分物体被标记的情况。比如没有标记是否有停车标志,或者是否有交通灯。也许有些样本都有标记,有些样本只标记了有没有车,然后还有一些是问号
多任务学习当三件事为真时有意义的:
训练的一组任务,可以共用低层次特征。对于无人驾驶的例子,同时识别交通灯、汽车和行人是有道理的,这些物体有相似的特征
如果每个任务的数据量很接近,这个准则没那么绝对,不一定对
想要从多任务学习得到很大性能提升,其他任务加起来必须要有比单个任务大得多的数据量
多任务学习会降低性能的唯一情况是神经网络还不够大。但如果可以训练一个足够大的神经网络,多任务学习肯定不会或者很少会降低性能
在实践中,多任务学习的使用频率要低于迁移学习。因为很难找到那么多相似且数据量对等的任务可以用单一神经网络训练。不过在计算机视觉领域,物体检测这个例子是最显著的例外情况
Last updated