科研发现

注册

 

发新话题 回复该主题

读懂深度迁移学习,看这文就够了赠书 [复制链接]

1#
北京中医治疗白癜风哪家好 http://wapyyk.39.net/bj/zhuanke/89ac7.html
百度前首席科学家、斯坦福大学副教授吴恩达(AndrewNg)曾经说过:迁移学习将是继监督学习之后的下一个促使机器学习成功商业化的驱动力。本文选自《深度学习问:AI工程师面试宝典》,将重点介绍目前最热门的深度迁移学习方法的基本思路。随着迁移学习方法的大行其道,越来越多的研究人员开始使用深度神经网络进行迁移学习。与传统的非深度迁移学习方法相比,深度迁移学习直接提升了在不同任务上的学习效果,并且由于深度迁移学习直接对原始数据进行学习,所以它与非深度迁移学习方法相比有两个优势。(1)能够自动化地提取更具表现力的特征。(2)满足了实际应用中的端到端(End-to-End)需求。近年来,以生成对抗网络(GenerativeAdversarialNets,GAN)为代表的对抗学习也吸引了很多研究者的目光,基于GAN的各种变体网络不断涌现。对抗学习网络与传统的深度神经网络相比,极大地提升了学习效果。因此,基于对抗网络的迁移学习也是一个热门的研究点。上图为深度迁移学习方法与非深度迁移学习方法的结果对比,展示了近几年的一些代表性方法在相同数据集上的表现。从图中的结果可以看出,与传统的非深度迁移学习方法(TCA、GFK等)相比,深度迁移学习方法(BA、DDC、DAN)在精度上具有显著的优势。下面我们来重点介绍深度迁移学习方法的基本思路。首先来回答一个最基本的问题:为什么深度网络是可迁移的?然后,介绍最简单的深度网络迁移形式——微调。接着分别介绍使用深度网络和深度对抗网络进行迁移学习的基本思路和核心方法。深度网络的可迁移性随着AlexNet在年的ImageNet大赛上获得冠*,深度学习开始在机器学习的研究和应用领域大放异彩。尽管取得了很好的结果,但是神经网络本身解释性不好。神经网络具有良好的层次结构,很自然地就有人开始思考能否通过这些层次结构来很好地解释网络。于是,就有了我们熟知的例子:假设一个网络要识别一只猫,那么一开始它只能检测到一些边边角角的东西,和猫根本没有关系;然后可能会检测到一些线条和圆形;慢慢地,可以检测到猫所在的区域;接着是猫腿、猫脸等。下图是深度神经网络进行特征提取分类的简单示例。概括来说就是:前面几层学到的是通用特征(GeneralFeature);随着网络层次的加深,后面的网络更偏重于与学习任务相关的特定特征(SpecificFeature)。这非常好理解,我们也很容易接受。那么问题来了,如何得知哪些层能够学到通用特征,哪些层能够学到特定特征呢?更进一步来说,如果应用于迁移学习,如何决定该迁移哪些层、固定哪些层呢?这个问题对于理解神经网络和深度迁移学习都有着非常重要的意义。来自康奈尔大学的JasonYosinski等人率先进行了深度神经网络可迁移性的研究,该论文是一篇实验性质的文章(通篇没有一个公式)[Yosinskietal.,]。其目的就是要探究上面提到的几个关键性问题。因此,文章的全部贡献都来自实验及其结果。对于ImageNet的个类别,作者将其分成两份(A和B),每份个类别。然后,分别对A和B基于Caffe训练AlexNet网络。AlexNet网络共有8层,除第8层为与类别相关的网络无法进行迁移外,作者在1到7这7层上逐层进行微调实验,探索网络的可迁移性。为了更好地说明微调的结果,作者提出了两个有趣的概念:AnB和BnB。这里简单介绍一下AnB和BnB。(所有实验都是针对数据B来说的。)AnB:将A网络的前n层拿来并将其固定,剩下的层随机初始化,然后对B进行分类。BnB:将B网络的前n层拿来并将其固定,剩下的随机初始化,然后对B进行分类。深度网络迁移的实验结果1如下。这个图说明了什么呢?我们先看BnB和BnB+(即BnB加上微调)。对于BnB而言,原训练好的B模型的前3层可以直接拿来使用,而不会对模型精度有什么损失。到了第4层和第5层,精度略有下降,不过还可以接受。然而到了第6层、第7层,精度居然奇迹般地回升了,这是为什么?原因如下:对于一开始精度下降的第4层、第5层来说,到了这两层,特征变得越来越具体,所以下降了。而对于第6层、第7层来说,由于整个网络就8层,我们固定了第6层、第7层,那这个网络还能学什么呢?所以很自然地,精度和原来的B模型几乎一致。对BnB+来说,结果基本上保持不变。说明微调对模型精度有着很好的促进作用。我们重点
分享 转发
TOP
发新话题 回复该主题