1.迁移学习
比如要训练一个放射科图片识别系统,但是图片非常少,那么可以先在有大量其他图片的训练集上进行训练,比如猫狗植物等的图片,这样训练好模型之后就可以转移到放射科图片上,模型已经从其他图片中学习到了低层的特征,可能会对当前训练系统产生帮助。但要保证其他图片的量很多。
对迁移的模型只要修改输出层,进行重新训练最后一层或者最后一两层的参数即可,或者还可以在最后层进行添加神经网络层。
任务A和B有相同的输入x;
对任务A比任务B有更多的数据;
A的低层特征对学习B有帮助。
2 多任务学习
对于迁移学习来说是串行的,现在其他数据集上学习,之后再迁移到当前数据集上。
在自动驾驶上的例子,一张图片中有车辆,人行道,停止标志,交通灯等,那么这些就可以构成一个特征,(0,1,1,0)。
多任务学习就是训练一个足够大的神经网络来识别所有的物体,替代方案是,训练多个NN分别识别汽车、交通灯、人行道等等。
此处的损失函数,是对结果向量中的每一个得分都求和,和softmax回归不同,此时一个图片可能有多个标记。
1.训练的任务能够有共享的低层特征
2.通常,对每个任务的数据量是相似的
3.能够训练一个足够大的网络来做好所有的任务。
通常迁移学习比多任务学习应用更多,因为条件2比较难满足。