本周介绍了有关数据不匹配,迁移学习,多任务学习等相关的概念。
数据不匹配
数据不匹配问题是指算法擅长处理的数据和你所关心的数据分布不相同的一种情况。比如说,在🐱分类的例子中,你训练所使用的数据是专业的清晰度较高的数据,而在测试时算法所要面对的是用户上传的清晰度并不是很高的图片。
迁移学习
神经网络可以从一个任务中习得知识,并将这些知识应用到另一个独立的任务中。举例来说,如果已经训练好了一个网络,可以识别猫这样的对象,然后用习得的知识或部分知识来帮助更好的阅读 x 射线扫描图。这就是所谓的迁移学习。
在下图中,上面部分是识别🐱的神经网络,我们将它的输出层替换掉而前面的隐藏层保留起来,这样就将其应用在了识别 x 射线的扫描图中。
在什么样的条件下应用迁移学习才有意义?
- 任务 A 和 B 有相同的输入
- 任务 A 比 任务 B 有更多的数据
- A 的低层的特征可以帮助 学习 B
对于上面的例子来说,识别🐱和识别 x 射线扫描图的输入都是图像,猫的图像数据要远远多于 x 射线扫描图,且识别猫的网络的底层特征有助于识别 x 射线扫描图。
多任务学习
多任务学习是指在一个神经网络中我们试图让它同时做几件事。
例如在自动驾驶的场景当中,我们输入一张图片,希望神经网络可以同时识别出行人,红绿灯,指示牌,其他车辆等目标物体。
该例中的神经网络结构如下,前面共用特征,在输出层得出对不同目标的预测。
在什么样的条件下应用多任务学习才有意义?
底层的共享特征均有助于训练多个任务
通常来说,对于这多个任务它们的数据应该大致相同
训练一个足够大的神经网络能够在所有任务中表现良好