迁移学习,知识蒸馏,教师-学生网络

1. 迁移学习
迁移学习( Tranfers Learning)是机器学习的一个分支,只是神经网络太火了,最近研究和神经网络靠。
迁移学习的初衷是节省人工标注样本的时间,让模型可以通过已有的标记数据(source domain data)向未标记数据(target domain data)迁移。

换句话说,迁移学习就是把已学训练好的模型参数迁移到新的模型来帮助新模型训练。考虑到大部分数据或任务是存在相关性的,所以通过迁移学习我们可以将已经学到的模型参数(也可理解为模型学到的知识)通过某种方式来分享给新模型从而加快并优化模型的学习效率不用像大多数网络那样从零学习(starting from scratch,tabula rasa)。

2. 知识蒸馏
在利用深度网络解决问题的时候人们常常倾向于设计更为复杂的网络收集更多的数据以期获得更好的performance。但是,随之而来的是模型的复杂度急剧提升,直观的表现是模参数越来越多size越来越大,需要的硬件资源(内存、GPU)越来越高。不利于模型的部署和应用向移动端的推广。

有研究表明深度模型具有较大的信息参数冗余。因此我们可以通过一定的技术方法对复杂的模型进行去冗余压缩。现有的压缩方法有以下四类:浅层网络、直接压缩训练好的复杂模型、多值网络、蒸馏模型

其中蒸馏模型采用的是迁移学习通过采用预先训练好的复杂模型(Teacher model)的输出作为监督信号去训练另外一个简单的网络。这个简单的网络称之为student model。

3. 教师-学生网络
教师–学生网络的方法,属于迁移学习的一种。迁移学习也就是将一个模型的性能迁移到另一个模型上,而对于教师–学生网络,教师网络往往是一个更加复杂的网络,具有非常好的性能和泛化能力,可以用这个网络来作为一个soft target来指导另外一个更加简单的学生网络来学习,使得更加简单、参数运算量更少的学生模型也能够具有和教师网络相近的性能,也算是一种模型压缩的方式。

你可能感兴趣的:(迁移学习,知识蒸馏,教师-学生网络)