资讯专栏INFORMATION COLUMN

迁移学习在图像分类中的简单应用策略

BigNerdCoding / 3261人阅读

摘要:地址为什么使用迁移学习根据联合创始人斯坦福副教授吴恩达介绍,迁移学习将会成为机器学习商业成就的下一驱动力。迁移学习是一种机器学习技术,允许在特定的数据集上再利用已训练的卷积神经网络,并将其调整或迁移到其他数据集。

GitHub 地址:https://github.com/miguelgfierro/sciblog_support/blob/master/A_Gentle_Introduction_to_Transfer_Learning/Intro_Transfer_Learning.ipynb

为什么使用迁移学习?

根据 Coursera 联合创始人、斯坦福副教授吴恩达介绍,迁移学习(Transfer Learning)将会成为机器学习商业成就的下一驱动力。

迁移学习是一种机器学习技术,允许在特定的数据集上再利用已训练的卷积神经网络(CNN),并将其调整或迁移到其他数据集。之所以要复用已经训练的 CNN,是因为训练时间太长。例如,在 4 个英伟达 K80 GPU 中将 ResNet18 训练 30 个 epoch 需要 3 天的时间;而在同样的 GPU 上将 ResNet152 训练 120 个 epoch 需要 4 个月。

迁移学习策略

总体而言,迁移学习有两种策略,不过我还没有看到关于命名的最终一致意见。微调(finetuning)——其中包括使用基础数据集上的预训练网络以及在目标数据集中训练所有层;冻结与训练(freeze and train)——其中包括冻结除最后一层的所有层(权重不更新)并训练最后一层。也可以冻结前面几层,然后微调其余层,这是由于一些证据表明 CNN 的前几层包含纹理过滤器(texture filter)和色彩斑点(color blob)。但是,我们这里的工作只分析两种极端情况:训练所有层,以及只训练最后一层。

最常见的基本数据集是 ImageNet,它包含 120 万个图像、1000 个类别。这些类别主要被分为两大类:动物和物体。每个类别的图像数量大约为 1000 个。大多数深度学习库都提供在 ImageNet 上预训练的 CNN 模型。

在下图中,我们可以看到上述提到的两种迁移学习策略。我们在 ImageNet 上使用了一个预训练的 CNN,并将 Simpsons 数据集的子集 Homer Simpson 作为目标集,用该网络对其进行分类。这个子集包含 20 个类,每个类有 300-1000 个图像。

然后,我们可以使用冻结与训练,只训练最后一层(如图上方所示);或者微调所有层(如图下方所示)。

微调 VS 冻结

我们很难知道在何种情况下应该只训练最后一层,在何种情况下应该微调网络。在「How transferable are features in deep neural networks?」(Yosinsky et. al., 2014) 中,作者解决了在 ImageNet 数据集中量化 CNN 特定层普适程度的问题。他们发现,由于层的相互适应,可迁移性会受到中间层分裂的负面影响。随着任务性质差异的增加,可迁移性的差距会逐渐增长。最终他们发现,通过权重迁移进行网络初始化,而非从零权重开始训练,能够提高泛化性能。

正如 Karpathy 的深度学习教程中指出的,以下是在不同场景中对新数据集使用迁移学习的一些指导原则:

小目标集,图像相似:当目标数据集与基础数据集相比较小,且图像相似时,建议采取冻结和训练,只训练最后一层。

大目标集,图像相似:建议使用微调。

小目标集,图像不同:建议采取冻结和训练,训练最后一层或最后几层。

大目标集,图像不同:建议使用微调。

在实验中,我们使用了有限的几个数据集,以及一个小型网络 ResNet18,所以是否能将结果推广到所有数据集和网络还言之尚早。但是,这些发现可能会对何时使用迁移学习这一问题提供一些启示。以下是结果的总结:

我们观察到的第一个细节是,相比色度数据集而言,训练灰度数据集准确率会下降。这与其他文章作者观察一致,即基础数据集和目标数据集之间的域差异越大,迁移效果越差。

我们同样发现,对于 Simpson 和 Caltech256 数据集而言,冻结会使得准确率大大下降。这在 Simpson 数据集中可以理解,原因可能是域的区别太大了:在 ImageNet 中都是自然图像,但在 Simpson 中大多数都是素色的。在 Caltech 数据集中,除了在冻结时产生的准确率下降,我们最先观察到的是它本身只具有很低的准确率。这可能是因为,对于涵盖很多类别的数据集,每个类别的图像太少了,大约每个类只有几百个而已。

猫狗(dogs vs cats)数据集的域和 ImageNet 最接近。事实上,ImageNet 中就包含着几个品种的猫和狗。在这种情况下,微调和冻结没有多大差别。

最后,在膜翅目昆虫(hymenoptera)数据库中,我们发现,在冻结时,色度数据集有一点小改善。这可能是因为域很靠近,且数据集比较小。在膜翅目昆虫灰度数据库中,冻结就没有改善,这很可能是由于域的差异。

原文地址:https://miguelgfierro.com/blog/2017/a-gentle-introduction-to-transfer-learning-for-image-classification/

欢迎加入本站公开兴趣群

商业智能与数据分析群

兴趣范围包括各种让数据产生价值的办法,实际应用案例分享与讨论,分析工具,ETL工具,数据仓库,数据挖掘工具,报表系统等全方位知识

QQ群:81035754

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/4695.html

相关文章

  • 综述论文:四大类深度迁移学习

    摘要:本篇综述的重点是回顾当前利用深度神经网络进行迁移学习的研究及其应用。这篇综述论文的贡献如下定义了深度迁移学习,并首次将其分为四类。这就是一个深度迁移学习任务,其中是一个表示深度神经网络的非线性函数。 论文:A Survey on Deep Transfer Learning论文地址:https://arxiv.org/pdf/1808.01974v1.pdf摘要:作为一种新的分类方法,深度学...

    cuieney 评论0 收藏0
  • 最后一届ImageNet挑战赛落幕,「末代」皇冠多被国人包揽

    摘要:在本次竞赛中,南京信息工程大学和帝国理工学院的团队获得了目标检测的最优成绩,最优检测目标数量为平均较精确率为。最后在视频目标检测任务中,帝国理工大学和悉尼大学所组成的团队取得了较佳表现。 在本次 ImageNet 竞赛中,南京信息工程大学和帝国理工学院的团队 BDAT 获得了目标检测的最优成绩,最优检测目标数量为 85、平均较精确率为 0.732227。而在目标定位任务中Momenta和牛津...

    jimhs 评论0 收藏0
  • 迁移学习与多任务学习简析

    摘要:摘要本文简要介绍迁移学习与多任务学习的思想,给出了两种方法的模型示例图,适合对此感兴趣的初学者。迁移学习在迁移学习中,科研人员希望利用源任务学到的知识来帮助学习另一个目标任务。 摘要: 本文简要介绍迁移学习与多任务学习的思想,给出了两种方法的模型示例图,适合对此感兴趣的初学者。 对于深度学习而言,训练网络这一过程是相当乏味的,需要不断根据实验结果调整网络结构和模型。相对于随机初始化后调...

    chaos_G 评论0 收藏0
  • 迁移学习与多任务学习简析

    摘要:摘要本文简要介绍迁移学习与多任务学习的思想,给出了两种方法的模型示例图,适合对此感兴趣的初学者。迁移学习在迁移学习中,科研人员希望利用源任务学到的知识来帮助学习另一个目标任务。 摘要: 本文简要介绍迁移学习与多任务学习的思想,给出了两种方法的模型示例图,适合对此感兴趣的初学者。 对于深度学习而言,训练网络这一过程是相当乏味的,需要不断根据实验结果调整网络结构和模型。相对于随机初始化后调...

    jerry 评论0 收藏0
  • AI技术智能海报设计中的应用

    摘要:所以,我们美团外卖技术团队尝试结合技术,来协助设计师避免这种低收益高重复的任务,同时低成本高效率高质量地完成海报图片的生成。图封面配色布局设计在设计领域的一些子问题上,可以用算法来挖掘出数据背后的规律如图所示。 背景 在视觉设计领域中,设计师们往往会因为一些简单需求付出相当多的时间,比如修改文案内容,设计简单的海报版式,针对不同机型、展位的多尺寸拓展等。这些工作需要耗费大量的时间、人力...

    wums 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<