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

作者:Orhan G. Yal??n
编译:ronghuaiyang
导读
使用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
你可以使用上面的一个源来加载经过训练的模型 。 它通常会有所有的层和权重 , 你可以根据你的意愿调整网络 。