什么是迁移学习 (Transfer Learning)?这个领域历史发展前景如何?

关注者
1533
被浏览
45482

15 个回答

Transfer learning 顾名思义就是就是把已学训练好的模型参数迁移到新的模型来帮助新模型训练数据集。就跟其他知友回答的那样,考虑到大部分数据或任务是存在相关性的,所以通过transfer learning我们可以将已经学到的parameter 分享给新模型从而加快并优化模型的学习不用像之前那样learn from zero.

比较标志性的例子是Deepmind的作品 progressive neural network. arxiv.org/pdf/1606.0467 文章里将三个小游戏Pong, Labyrinth, Atari 通过将已学其一的游戏的parameter 通过一个 lateral connection feed 到一个新游戏。外墙可以看youtube的演讲视频: youtube.com/watch? 知乎的一个主页也写的比较清楚:最前沿:从虚拟到现实,迁移深度增强学习让机器人革命成为可能! - 智能单元 - 知乎专栏


至于发展前景,我们可以这么想。

Deep learning 可能不一定是通往meta learning的唯一路径,但非常有可能是一个可行的方法。我和领域其他的朋友讨论这个问题后,得到以下这么几个general 方向分解了meta learning。

  • Dynamic learning. 标志作品是AlphaGo,或者也称reinforcement learning, 能通过非暴力的方法对一些非常复杂的且定义模糊的任务有着全局观的理解,以此来take action 最大化获得reward。这块我并特别熟悉所以不详细解释来误导大众了。相关文章:Human-level control through deep reinforcement learning : Nature : Nature Researchnature.com/nature/journ
  • Transfer learning / progressive (continual) learning. 就如刚才所说的,现在所有的deep learning模型都是learn from scratch 而并不像人类一样,可以很快速的上手一些类似的游戏,或者永远不会忘掉骑自行车那样的特征。所以一定程度的share parameter是非常必要的,不仅加速模型的训练还可以节省内存避免对已有类似的问题重复学习。
  • One/zero-shot learning. 现在在vision领域里,基本上所有的recognition和classification task都需要大量的数据集。而事实上,人类并不是通过这样的方式去认识一个新事物。比如说,当人类看到一个恐龙的图片,之后给的恐龙多么古怪,毛发,颜色,特征都不一样,但是人类依然可以相当轻松的知道这是恐龙。或者说, 通过已学到的特征,我们通过文字描述,这是一只白色的毛茸茸的兔子,我们自己脑子里就可以大致想象出他的样子。所以在recognition和classification task里还有很大的提升空间。相关文章:vision.stanford.edu/doc, arxiv.org/pdf/1605.0606
  • Generative learning. 或者俗称举一反三。现在已有的作品:Variational autoencoder (VAE),generative adversarial network (GAN) 通过将probabilistic graphical model与Bayesian stat和deep learning相结合,把所有数据看做一个概率分布,而deep learning是用来学习概率分布的参数,最后通过sample分布在得到一个类似数据集里的数据但并不完全相等的新数据。同样是DeepMind,最近发布的WaveNet就是通过generative model来学习人声,demo可见:deepmind.com/blog/waven.
  • Hierarchical learning. (?) 这块纯粹想象,并没有任何paper出现。大致想法是希望model能跟人类一样从1+1=2 慢慢学会微积分。从而真正达到强人工智能。

上述前面四个方向都有paper和相关研究,但是都并未发展完全,而且相互依赖。并且我相信,NLP也会和vision converge,因为类似generative learning 和 zero-shot learning他们需要互相利用对方的结果才能继续发展。

路漫漫其修远兮,吾将上下而求索。大家一起为meta learning而努力吧。

我最近在研究这个方向,一个比较重要的误区是总是有人把Transfer Learning和神经网络的训练联系起来,这两个概念刚开始是无关的。Transfer Learning是机器学习的分支,很多方法其实是不需要用NN的,而现在之所以Transfer Learning和神经网络联系如此紧密,主要因为NN的发展太快,太强大,太火爆,导致Transfer Learning的研究都往神经网络靠了。

----------------------------------------------------------------------------------------------------------------------

Transfer Learning的初衷是节省人工标注样本的时间,让模型可以通过已有的标记数据(source domain data)向未标记数据(target domain data)迁移。从而训练出适用于target domain的模型。我在某篇论文当中引用了一些图片来帮助大家更好的理解:


上图是某行人检测任务数据集当中的4张图片,假设前两张正对着摄像机的行人作为训练集,后两张背对着的行人图片作为测试集,结果该模型的测试评分会很差,因为训练时没有考虑到摄像机观察角引起的问题,相类似在图像识别领域会有很多因素会降低识别率(例如光照,背景等)。ok,那能否用一些未标记的图片(类似图3,4这样的图),增强我们的行人检测模型,让它不仅可以识别正对着的行人,还可以识别背对着的行人?这就是迁移学习要干的事。

既然说到这个问题,就不得不提domain adaptation了,domain adaptation是迁移学习原先就有的概念,在研究source domain和target domain时,基于某一特征,会发现两个domain的数据分布差别很大,比如说选择某一区域的颜色信息作为图像特征,下图红线表示source dataset的颜色信息值分布,蓝线表示target dataset的颜色信息值分布,很明显对于这一特征来讲,两个域的数据本来就是有shift的。而这个shift导致我们evaluate这个模型的时候准确率会大大降低。

既然这个特征不合适,那我们就换特征,没错,domain adaptation旨在利用各种的feature transformation手段,学习一个域间不变的特征表达,基于这一特征,我们就可以更好的同时对两个域的数据进行分类了。

----------------------------------------------------------------------------------------------------------------------

至于发展前景,题主可以关注最近的论文,虽然有了迁移学习的帮助,但是大部分论文都会尽量去化简网络从而减少数据的需求量,由此来看,transfer learning并没有很好的解决样本标注的困难,就我来看,迁移学习距离成功还很远,有待进一步发展和提高。

迁移学习领域有一篇公认的比较好的综述,楼上都已经说了:A Survey on Transfer Learning

对于这篇论文我做了翻译和整理,如果你刚入门transfer learning,可以去这里下载这个文档:

迁移学习综述a survey on transfer learning的整理

我概括了论文当中精华的部分,并且加上了自己的理解,对迁移学习整体的研究做了概述。

到这还没完!!相信你也看到了这篇论文是很早以前的(2013),里面没有介绍最新的研究,实际上近几年迁移学习的变化是很大的,特别是deep neural network的发展让很多学者开始挖掘深度神经网络模型的迁移能力。

为什么深度神经网络模型具有强大的可迁移能力?回答这一点需要了解DNN的原理,DNN是一个通过pre-train获得数据的分层特征表达,然后用高层语义分类的模型,模型的底层是低级语义特征(比如说,边缘信息,颜色信息等),这样的特征实际上在不同的分类任务中都是不变的,而真正区别的是高层特征,这也解释了通常使用新的数据集去更新AlexNet,GoogleNet的最后几层网络权值,来实现简单的“迁移”这个小trick。具体细节可以参考这两篇论文:

Yosinski, J., Clune, J., Bengio, Y., and Lipson, H. How transfer-able are features in deep neural networks? In NIPS, 2014.

J. Donahue, Y. Jia, O. Vinyals, J. Hoffman, N. Zhang, E. Tzeng, and T. Darrell. Decaf: A deep convolutional activation feature for generic visual recognition. In ICML, 2014.

近两年迁移学习的发展很迅速,基于domain adapation这个方向,有不少和深度神经网络相结合的transfer模型,怎么结合的,具体就不做详细介绍了。基本思想都类似,为了保证域差异最小,loss项都会加一个MMD约束。

贴几篇论文:

Deep Transfer Network: Unsupervised Domain Adaptation

Learning Transferable Features with Deep Adaptation Networks

Unsupervised Domain Adaptation by Backpropagation

Unsupervised Domain Adaptation with Residual Transfer Networks(这篇文章我特别推荐一下,它打破了传统用一个分类器处理跨域数据,并首次提出用Residual Function来区分source classifier和target classifier)