ubuntu之路——day11.6 多任务学习

在迁移学习transfer learning中,你的步骤是串行的sequential process

在多任务学习multi-task learning中,你试图让单个神经网络同时做几件事情,然后这里的每个任务都希望能够帮助到其他的任务。

这是一个汽车自动驾驶的问题,在这张图像中我们需要同时检测四个目标:行人、车辆、停车标志、交通灯

所以可以认为这是一个多任务学习问题,请看下图:

对于这个神经网络的输出层而言,很像softmax多分类输出。

但是对于softmax而言,是得到一个概率分布,最终对多分类的结果确定一个最有可能的结果,所以可以认为输出依然是单个的。

对于多任务学习来说,我们得到的不是一个概率分布,而是一个对于每个子任务的确定性分类,比如上述任务中有四个检测目标,所以我们的输出也是对张图片输出四个二分类标签比如[0,1,1,0]

其损失函数如上图loss,和一般损失函数的区别就是每次对四个分类标签进行累加。

特别注意:对于上图红色标记的Y矩阵来说,其中有些标签可能是没有标记的 比如有些图片只标记了行人和车辆,但是没有标记信号灯和停止标志,但是多任务学习依然可以处理这种数据。只需要在累加的时候只计算标记0/1的数据即可。

when multi-task learning makes sense?

1.训练的子目标可以共用低层次特征

比如自动驾驶中检测的几类目标都是通过图像检测的,他们可以共用如光线、边缘等等的低层次特征。

2.其他子目标的样本数量之和必须比单个子目标的样本数量大得多

3.可以训练一个足够大的网络针对所有子任务。理论来说可以对单个子任务训练对应的网络,但是只要你的网络足够大,使用1个网络对所有任务进行处理绝对是可行的。

多任务学习的模式并没有迁移学习应用的广泛,实际上只有类似交通检测等少数领域才是用到了多任务学习,但是随着算力的提升,更大的网络将使得多任务学习具备良好的前景。

 

转载于:https://www.cnblogs.com/NWNU-LHY/p/11213649.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值