经典文章-迁移学习该做的和不该做的

迁移学习是人工智能领域中的重难点问题,是当前人工智能研究的重点方向

 开始学习深度学习的时候,最新奇的感觉就是只要成功搭建好环境,利用完善的深度学习框架,只要十几行甚至几行代码就可以成功建立一个图像分类器。
 为了让分类器取得较好的效果,往往需要准备大量数据集让模型训练。但现在更为方便的是可以使用在其他任务中已经训练完成的模型应用于当前新的问题环境中。这个方法的答案当然是迁移学习,这是深层神经网络最迷人,又让人困惑的特性之一。
本文中,主要参考学习杨强教授,来学习什么是迁移学习,什么时候它能起作用,以及为什么在某些情况下它又不能起作用,最后给出一些迁移学习最佳实践的建议。

  • 什么是迁移学习

     Pan和Yang(2010)在他们关于这个主题的开创性论文中给出了迁移学习的一个优雅的数学定义(见2.2小节)。然而,就我们的目的而言,一个简单得多的定义就足够了:迁移学习使用为特定任务(有时称为源任务)所学的知识来解决不同的任务(目的任务)。当然,假设源任务和目标任务非常相似。这一假设是迁移学习的核心。因此,我们必须首先理解为什么迁移学习首先起作用。典型的当代神经网络-比方说,多层卷积深度神经网络(cDNN)-由神经元层组成,每个神经元层根据训练结果计算出的网络权重和偏差来反馈其结果。这种架构是根据人脑中与此相当相似的一个特定过程形成的,即Ventral Visual Stream。