前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >多任务学习(multi-task learning)

多任务学习(multi-task learning)

作者头像
Steve Wang
发布2019-05-26 14:57:50
3.6K0
发布2019-05-26 14:57:50
举报
文章被收录于专栏:从流域到海域

整理并翻译自吴恩达深度学习系列视频:结构化机器学习2.8。

与迁移学习的对比

在迁移学习时,你有一个顺序执行的过程,先学习任务A,然后迁移到任务B。

在多任务学习中,你开始就使用一个神经网络同时做几个任务,并且希望这些任务里的每一个都可以帮助到其他的任务。

在这里插入图片描述
在这里插入图片描述

如上图,你需要同时检测行人、车辆、停止标志、交通信号灯。

多任务学习的网络结构

在这里插入图片描述
在这里插入图片描述

重点在最后一层,有四个神经元。输出yhaty^{hat}yhat是一个4*1的vector。

它跟softmax regression的区别在于,softmax regression只给一个图像输出一个标签,而多任务学习给一个图像输出了多个标签(如本例4*1向量中有四个标签)。

计算损失函数时,多了从第一个标签到最后一个标签的求和(图中红色部分)。 loss:yhat→1m∑i=1m∑j=14l(yihat (i),yi(i))loss:y^{hat}\rightarrow\frac{1}{m}\sum_{i=1}^m\sum_{j=1}^4l(y_i^{hat \ (i)},y_i^{ (i)})loss:yhat→m1​i=1∑m​j=1∑4​l(yihat (i)​,yi(i)​) l使用的是logistic regression。

什么时候使用多任务学习

在这里插入图片描述
在这里插入图片描述
  • 在一系列任务上进行训练,它们有共享的底层特征,这使得任务之间相互获益。
  • 常见用例:你每个任务的数据量过小。
  • 你可以训练一个足够大的网络使得它在所有的任务上都表现良好。

原字幕: If you can train a big enough neural network, then multi-task learning certainly should not or should rarely hurt performance. And hopefully it will actually help performance compared to if you were training neural networks to do different tasks in isolation. In practice, multi-task learning is used much less often than transfer learning.

关键点在于,你的网络必须足够大,在这个条件下多任务学习才不会对总体性能产生有害影响。

实践中,多任务学习比迁移学习用得少得多。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018年12月13日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 与迁移学习的对比
  • 多任务学习的网络结构
  • 什么时候使用多任务学习
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档