National Taiwan University (NTU)李宏毅老师的《Machine Learning》的学习笔记,因此在全文对视频出现的内容多次引用。初出茅庐,学艺不精,有不足之处还望大家不吝赐教。
欢迎大家在评论区多多留言互动~~~~
0. 相关链接
迁移学习发展至今天有了很大的进展,对其中比较经典的综述进行了相关总结《A Survey on Transfer Learning》,里面主要是关于迁移学习相关概念和方法的总结;当时深度学习孩还不是很流行,所以里面关于深度学习的内容不多,之后迁移学习在深度学习和神经网络中的应用博主也进行了相关的归纳,见《Learning and Transferring Mid-Level Image Representations using Convolutional Neural Networks》,还有《How transferable are features in deep neural networks?》,尚未进行整理。
关于迁移学的相关基础概念,如域(domain)、任务(task)已经在《A Survey on Transfer Learning》进行了相关总结,所以不会再进行计算。
1. 迁移学习的四种类型
主要根据源域与目标域中的数据的标签情况进行分类,具体如图1
图1. 按源域与目标域的的数据是否具有标签对迁移学习进行分类
其中需要注意的是,迁移学习的种类特别多,别称也很多,所以在进行分类或者概念介绍的时候会出现分歧,但实际上只是概念上的区别,不需要过多的关注,主要关注算法的核心思想和使用情况。
2. Fine-tuning(微调)
它使用的情况如图1 ,是源数据域与目标数据域的数据都具有标签,并且源域的数据量很大,而目标域的数据量很小,当目标数据域的数量特别小的时候就将称为“One-shot learning”。其主要想法是使用源域数据训练模型,使用目标域数据进行Fine-tuning(微调)。Fine-tuning 的主要难度在于目标域中只有有限的数据的时候,要小心模型会发生过拟合。
下面将介绍在 Fine-tuning 的过程中防止模型过拟合的几种方法
2.1 Conservative Training(保守训练)
在对通过源域数据得到模型上进行 Fine-tuning 的过程中加入了关于参数 w 的惩罚项,使得迁移前后模型的参数很相近,防止模型过拟合。
2.2 Layer Transfer(层迁移)
将通过源域数据得到模型中的某些层保持不变,只将剩余的一层用目标域数据进行训练,大大减少了过拟合的风险。当然,当你的目标域数据量很大的时候,可以将整个网络进行 Fine-tuning ,而不是仅仅将其中的某一层进行 Fine-tuning。
对于语音信号来讲,常常使用最后几层进行迁移学习。这是因为 speech 的底层特征得到的这段语音的发音方式,但是对于同样一段话每个人的发音方式是不同的,由于口腔的构造是不同,所以常常采用后面几层进行迁移学习。
对于图像信号来讲,常常使用前几层进行迁移学习。这是因为图像的底层特征在检查图像中是否具有某些直线或者曲线,是否具有某些特殊的图案,如图 2 所示。
图2. 图像往往迁移底层的特征层
下面是NIPS, 2014论文《How transferable are features in deep neural networks?》中关于图像层迁移的一些实验。
其中横坐标代表网络在第 n 层被切开并进行重新训练,实际上就是从第一层开始有几个层保持不变。最开始是 0 层,也就是相当于整个网络没有迁移学习,而是通过正常的训练得到的。其中需要注意的是,在这里目标域中的数据与源域中的数据量是相当的,所以当然可以直接进行训练而不会发生严重的过拟合。纵坐标是 top-1 正确率(越高越好)。
4号线表示的是只训练剩余部分的网络。其中我们可以看到,保持不变的层数越大,网络的表现就下降的越多,这主要是因为越往后的层越是针对某一种特殊的特征表示,并且后面这些层在进行 fine tune 的过程中实际上是要与前面的层进行沟通,没有办法沟通当然效果的就会变差,这也证明了网络的前几层往往提取的是一些通用特征,可迁移性更高。
5 号线表示的是同样是选取前面几个层,让前面几个层保持在源域得到的参数,而后面的层参数初始值不是源域训练得到的, 最后对整个网络进行fine-tune the whole network,可以看出这种效果是最好的。
下面是这篇文章的另一个图。
其中的横坐标与图4 中的横坐标相同,纵坐标为相对 top-1 正确率,其中的红色的线与图3 中 4 号线是同一条线。黄色的线表示,当源域与目标域的数据相关度不是很高的时候(比如说源域中都是自然风景的图片,而目标域中都是人造物品的图片),那么他在保持前两个层不变的时候还没有较大的差别,但是越往后效果退化的越严重。我们可以看出源域与目标域的数据相关程