本文正在参与「金石方案 . 分割6万现金大奖」

导读

运用SOTA的预练习模型来经过搬迁学习处理实际的计算机视觉问题。

4个计算机视觉领域用作迁移学习的模型

假如你试过构建高精度的机器学习模型,但还没有试过搬迁学习,这篇文章将改变你的日子。至少,对我来说是的。

咱们大多数人现已尝试过,经过几个机器学习教程来掌握神经网络的基础常识。这些教程非常有助于了解人工神经网络的基本常识,如循环神经网络,卷积神经网络,GANs和自编码器。但是这些教程的主要功能是为你在实际场景中完成做准备。

现在,假如你方案树立一个运用深度学习的人工智能系统,你要么(i)有一个非常大的预算用于培训优秀的人工智能研究人员,或者(ii)能够从搬迁学习中获益。

什么是搬迁学习?

搬迁学习是机器学习和人工智能的一个分支,其意图是将从一个使命(源使命)中取得的常识应用到一个不同但相似的使命(方针使命)中。

例如,在学习对维基百科文本进行分类时取得的常识能够用于处理法令文本分类问题。另一个例子是运用在学习对轿车进行分类时取得的常识来识别天空中的鸟类。这些样本之间存在关联。咱们没有在鸟类检测上运用文本分类模型。

搬迁学习是指从相关的现已学习过的使命中搬迁常识,从而对新的使命中的学习进行改善

总而言之,搬迁学习是一个让你不必重复发明轮子的范畴,并协助你在很短的时间内构建AI应用。

4个计算机视觉领域用作迁移学习的模型

搬迁学习的前史

为了展示搬迁学习的力量,咱们能够引用Andrew Ng的话:

搬迁学习将是继监督学习之后机器学习商业成功的下一个驱动要素

搬迁学习的前史能够追溯到1993年。Lorien Pratt的论文“Discriminability-Based Transfer between Neural Networks”打开了潘多拉的盒子,向国际介绍了搬迁学习的潜力。1997年7月,“Machine Learning”杂志发表了一篇搬迁学习论文专刊。跟着该范畴的深化,比如多使命学习等相邻主题也被纳入搬迁学习范畴。“Learning to Learn”是这一范畴的前驱书本之一。如今,搬迁学习是科技企业家构建新的人工智能处理方案、研究人员推动机器学习前沿的强大源泉。

4个计算机视觉领域用作迁移学习的模型

搬迁学习是如何作业的?

完成搬迁学习有三个要求:

  • 由第三方开发开源预练习模型
  • 重用模型
  • 对问题进行微调

开发开源预练习模型

预练习的模型是由其他人创建和练习来处理与咱们相似的问题的模型。在实践中,简直总是有人是科技巨头或一群明星研究人员。他们一般挑选一个非常大的数据集作为他们的基础数据集,比如ImageNet或Wikipedia Corpus。然后,他们创建一个大型神经网络(例如,VGG19有143,667,240个参数)来处理一个特定的问题(例如,这个问题用VGG19做图画分类。)当然,这个预先练习过的模型有必要揭露,这样咱们就能够运用这些模型并从头运用它们。

重用模型

在咱们掌握了这些预先练习好的模型之后,咱们从头定位学习到的常识,包括层、特征、权重和误差。有几种方法能够将预先练习好的模型加载到咱们的环境中。最终,它只是一个包括相关信息的文件/文件夹。但是,深度学习库现已托管了许多这些预先练习过的模型,这使得它们更容易访问:

  • TensorFlow Hub
  • Keras Applications
  • PyTorch Hub

你能够运用上面的一个源来加载经过练习的模型。它一般会有所有的层和权重,你能够根据你的志愿调整网络。

对问题进行微调

现在的模型也许能处理咱们的问题。对预先练习好的模型进行微调一般更好,原因有两个:

  • 这样咱们能够达到更高的精度。
  • 咱们的微调模型能够发生正确的格式的输出。

一般来说,在神经网络中,底层和中层一般代表一般的特征,而顶层则代表特定问题的特征。因为咱们的新问题与本来的问题不同,咱们倾向于删除顶层。经过为咱们的问题增加特定的层,咱们能够达到更高的精度。

在删除顶层之后,咱们需求放置自己的层,这样咱们就能够得到咱们想要的输出。例如,运用ImageNet练习的模型能够分类多达1000个目标。假如咱们企图对手写数字进行分类(例如,MNIST classification),那么最终得到一个只有10个神经元的层可能会更好。

在咱们将自界说层增加到预先练习好的模型之后,咱们能够用特别的丢失函数和优化器来配置它,并经过额外的练习进行微调。

计算机视觉中的4个预练习模型

这里有四个预先练习好的网络,能够用于计算机视觉使命,如图画生成、神经风格转换、图画分类、图画描绘、异常检测等:

  • VGG19
  • Inceptionv3 (GoogLeNet)
  • ResNet50
  • EfficientNet

让咱们一个一个地深化研究。

VGG-19

VGG是一种卷积神经网络,深度为19层。它是由牛津大学的Karen Simonyan和Andrew Zisserman在2014年构建和练习的,论文为:Very Deep Convolutional Networks for large Image Recognition。VGG-19网络还运用ImageNet数据库中的100多万张图画进行练习。当然,你能够运用ImageNet练习过的权重导入模型。这个预先练习过的网络能够分类多达1000个物体。对224×224像素的五颜六色图画进行网络练习。以下是关于其巨细和功能的扼要信息:

  • 巨细:549 MB
  • Top-1 准确率:71.3%
  • Top-5 准确率:90.0%
  • 参数个数:143,667,240
  • 深度:26

4个计算机视觉领域用作迁移学习的模型

Inceptionv3 (GoogLeNet)

Inceptionv3是一个深度为50层的卷积神经网络。它是由谷歌构建和练习的,你能够检查这篇论文:“Going deep with convolutions”。预练习好的带有ImageNet权重的Inceptionv3能够分类多达1000个目标。该网络的图画输入巨细为299×299像素,大于VGG19网络。VGG19是2014年ImageNet比赛的亚军,而Inception是冠军。以下是对Inceptionv3特性的扼要总结:

  • 尺度:92 MB
  • Top-1 准确率:77.9%
  • Top-5 准确率:93.7%
  • 参数数量:23,851,784
  • 深度:159

4个计算机视觉领域用作迁移学习的模型

ResNet50 (Residual Network)

ResNet50是一个卷积神经网络,深度为50层。它是由微软于2015年树立和练习的,论文:[Deep Residual Learning for Image Recognition](http://deep Residual Learning for Image Recognition /)。该模型对ImageNet数据库中的100多万张图画进行了练习。与VGG-19相同,它能够分类多达1000个目标,网络练习的是224×224像素的五颜六色图画。以下是关于其巨细和功能的扼要信息:

  • 尺度:98 MB
  • Top-1 准确率:74.9%
  • Top-5 准确率:92.1%
  • 参数数量:25,636,712

假如你比较ResNet50和VGG19,你会发现ResNet50实际上比VGG19功能更好,尽管它的复杂性更低。你也能够运用更新的版别,如ResNet101,ResNet152,ResNet50V2,ResNet101V2,ResNet152V2。

4个计算机视觉领域用作迁移学习的模型

EfficientNet

EfficientNet是一种最先进的卷积神经网络,由谷歌在2019年的论文“efficient entnet: Rethinking Model Scaling for convolutional neural Networks”中练习并发布。EfficientNet有8种可选完成(B0到B7),乃至最简单的EfficientNet B0也是非常出色的。经过530万个参数,完成了77.1%的最高精度功能。

4个计算机视觉领域用作迁移学习的模型

EfficientNetB0的特性扼要介绍如下:

  • 尺度:29 MB
  • Top-1 准确率:77.1%
  • Top-5 准确率:93.3%
  • 参数数量:~5,300,000
  • 深度:159

其他的计算机视觉问题的预练习模型

咱们列出了四种最先进的获奖卷积神经网络模型。但是,还有几十种其他模型可供搬迁学习运用。下面是对这些模型的基准剖析,这些模型都能够在Keras Applications中取得。

4个计算机视觉领域用作迁移学习的模型

总结

在一个咱们能够很容易地取得最先进的神经网络模型的国际里,企图用有限的资源树立你自己的模型就像是在重复发明轮子,是毫无意义的。

相反,尝试运用这些练习模型,在上面增加一些新的层,考虑你的特别计算机视觉使命,然后练习。其成果将比你从头构建的模型更成功。

英文原文:towardsdatascience.com/4-pre-train…