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

4个计算机视觉领域常⽤迁移学习模型
作者: Orhan G. Yalçın
编译:ronghuaiyang
导读
使⽤SOTA的预训练模型来通过迁移学习解决现实的计算机视觉问题。
如果你试过构建⾼精度的机器学习模型,但还没有试过迁移学习,这篇⽂章将改变你的⽣活。⾄少,对我来说是的。
我们⼤多数⼈已经尝试过,通过⼏个机器学习教程来掌握神经⽹络的基础知识。这些教程⾮常有助于了解⼈⼯神经⽹络的基本知识,如循环神经⽹络,卷积神经⽹络,GANs和⾃编码器。但是这些教程的主要功能是为你在现实场景中实现做准备。
现在,如果你计划建⽴⼀个利⽤深度学习的⼈⼯智能系统,你要么(i)有⼀个⾮常⼤的预算⽤于培训优秀的⼈⼯智能研究⼈员,或者(ii)可以从迁移学习中受益。
什么是迁移学习?
迁移学习是机器学习和⼈⼯智能的⼀个分⽀,其⽬的是将从⼀个任务(源任务)中获得的知识应⽤到⼀个不同但相似的任务(⽬标任务)中。
迁移学习是指从相关的已经学习过的任务中迁移知识,从⽽对新的任务中的学习进⾏改进
总⽽⾔之,迁移学习是⼀个让你不必重复发明轮⼦的领域,并帮助你在很短的时间内构建AI应⽤。
化工设备与机械迁移学习的历史
为了展⽰迁移学习的⼒量,我们可以引⽤Andrew Ng的话:
迁移学习将是继监督学习之后机器学习商业成功的下⼀个驱动因素
迁移学习的历史可以追溯到1993年。Lorien Pratt的论⽂“Discriminability-Based Transfer between Neural Networks”打开了潘多拉的盒⼦,向世界介绍了迁移学习的潜⼒。1997年7⽉,“Machine Learning”杂志发表了⼀篇迁移学习论⽂专刊。随着该领域的深⼊,诸如多任务学习等相邻主题也被纳⼊迁移学习领域。“Learning to Learn”是这⼀领域的先驱书籍之⼀。如今,迁移学习是科技企业家构建新的⼈⼯智能解决⽅案、研究⼈员推动机器学习前沿的强⼤源泉。
千疮百孔的心
迁移学习是如何⼯作的?
实现迁移学习有三个要求:
由第三⽅开发开源预训练模型
重⽤模型大学生跳楼自杀
对问题进⾏微调
开发开源预训练模型
开发开源预训练模型
预训练的模型是由其他⼈创建和训练来解决与我们类似的问题的模型。在实践中,⼏乎总是有⼈是科
技巨头或⼀明星研究⼈员。他们通常选择⼀个⾮常⼤的数据集作为他们的基础数据集,⽐如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个物体。对224x224像素的彩⾊图像进⾏⽹络训练。以下是关于其⼤⼩和性能的简要信息:
⼤⼩:549 MB
精神关怀
Top-1 准确率:71.3%
alexa
Top-5 准确率:90.0%
参数个数:143,667,240
深度:26
Inceptionv3 (GoogLeNet)
Inceptionv3是⼀个深度为50层的卷积神经⽹络。它是由⾕歌构建和训练的,你可以查看这篇论⽂:“Going deep with convolutions”。预训练好的带有ImageNet权重的Inceptionv3可以分类多达1000个对象。该⽹络的图像输⼊⼤⼩为
299x299像素,⼤于VGG19⽹络。VGG19是2014年ImageNet竞赛的亚军,⽽Inception是冠军。以下是对Inceptionv3特性的简要总结:
尺⼨:92 MB
尺⼨:92 MB
Top-1 准确率:77.9%
Top-5 准确率:93.7%
参数数量:23,851,784
深度:159
ResNet50 (Residual Network)
尺⼨:98 MB
Top-1 准确率:74.9%
Top-5 准确率:92.1%
参数数量:25,636,712
如果你⽐较ResNet50和VGG19,你会发现ResNet50实际上⽐VGG19性能更好,尽管它的复杂性更低。你也可以使⽤更新的版本,如ResNet101,ResNet152,ResNet50V2,ResNet101V2,ResNet152V2。

本文发布于:2024-09-22 10:31:45,感谢您对本站的认可!

本文链接:https://www.17tex.com/xueshu/453158.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:学习   模型   迁移   训练   神经   问题   图像   分类
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议