吴恩达DL3.2.8节:多任务学习

  1. 课堂笔记
    迁移学习是串行的学习,完成任务A,再迁移到任务B,而多任务学习是好几个任务同时进行,希望每个人物都能够帮到其他所有任务。
    pedestrian:,行人,步行者
    如何理解这个多任务学习呢?举个例子:
    比如要开发自动驾驶汽车,需要识别图像,
    识别图像四个标签:图中有无:行人,车辆,停止标识,交通灯。输入是一幅图片,输出是一个(4,1)的向量。

和softmax不同的是,这个任务的输出可以将标签分配给很多类,而softmax只能分给一个类,属于单任务学习;而在这里很多物体可能同时出现在一张图片中,这就叫多任务学习。你可以训练一个神经网络同时识别这四件东西或者分别训练四个神经网络来识别每个东西,如果神经网络的早期特征可以被学习到的话,训练一个网络会比训练四个完全独立的网络分别做四件事情性能会更好。


  1. 关于样本的问题:有这样一种情况,样本的标签在标记的时候只标记了一部分,另外的类别是问号,这时候我们再计算loss的时候把相应的那个类别给忽略掉即可
    多任务学习的liss和样本未完全标记时的处理

  2. 多任务学习何时有意义?
    有3个条件:

    1. 你训练的一组任务,可以共用低层次特征。
      例子:无人驾驶,同时识别交通灯、汽车和行人是有道理的,这些物体有相似的特征,也许能帮你识别停车标志,因为这些都是道路上的特征。

    2. 你的每个任务的数据量是很相似的。
      例子:上节课讲到,当A任务有1,000,000个样本,B任务有1,000个样本,那么从A学习到的知识可以帮助你增强对任务B的训练。同样,当你有100个任务,A1~A100,每个任务大概有1000个样本,你要专注于第100个任务的表现,其它的人物的样本总数有99000个,如果数据有一定的对称性,其他99个任务也许能提供一些数据或知识来帮助第100个任务。这里的关键在于如果单任务有1000个样本,其他任务最好有超过1000个样本,这样其他任务的知识才能帮改善这个任务的性能。

    3. 能够训练一个足够大的网络,在所有的任务上都表现的好。
      说明:多任务学习的一种替代方法时分别训练若干个神经网络,每个网络只承担一个任务,比如一个识别人,一个识别车,一个识别停止标志,一个识别交通灯,研究员Rich Carona 几年前发现,只有当你的网络不够大时,多任务学习的性能才可能会比多个单独任务的性能差,如果你可以训练一个足够大的神经网络, 那么多任务学习肯定不会或者很少会降低性能。


  1. 小结
    实际应用中,迁移学习比多任务学习用多,因为多任务学习要同时兼顾到所有的任务,用的多的有:计算机视觉中的物体检测。
    下一节讲端到端学习。
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值