吴恩达神经网络和深度学习-学习笔记-27-多任务学习

在迁移学习中,你的步骤是串行的。
在多任务学习中,你是试图让神经网络同时做几件事情,然后希望这里每个任务都能其他所有任务。

一个自动驾驶的例子:
吴恩达神经网络和深度学习-学习笔记-27-多任务学习
在这里,一个x对应多个y,或者说Y = [y(1), y(2), y(3), y(4)]

对神经网络的训练如下:
吴恩达神经网络和深度学习-学习笔记-27-多任务学习
需要强调的是,损失函数需要的四个y求和。与Softmax分类给一张图一个标签不同,这里的每张图会有多个标签。

当然也可以,训练4个神经网络来实现功能,但是它们的低水平特征在识别不同物体的时候都会用到。所以训练一个网络的多任务学习,确实要好于训练多个神经网络单目标学习。

另外,对于未完全标记的数据集,我们也可以在上面训练算法。
吴恩达神经网络和深度学习-学习笔记-27-多任务学习

什么时候多任务学习有意义:
吴恩达神经网络和深度学习-学习笔记-27-多任务学习
汉语翻译:

  • 你训练的一组任务可以共用低层次特征。
  • 通常:如果每个任务的数据量很接近。
    相对于迁移学习的一个对另一个提升的关系(大数据量 -> 小数据量),多任务学习的不同任务之间是相互提升(其余 -> 本身)。
  • 当你可以训练一个足够大的网络,来同时做好所有的工作。

多任务学习会降低性能的唯一情况(相比于训练单个神经网络):
神经网络不够大。

小结:

多任务学习能让你训练一个神经网络来执行许多任务,这可以给比单独完成各个任务你更高的性能。
在实践中,多任务学习的使用频率要低于迁移学习(计算机视觉的物体检测是一个例外)。