知行编程网知行编程网  2022-05-05 15:00 知行编程网 隐藏边栏 |   抢沙发  45 
文章评分 1 次,平均分 5.0

数据太少怎么办?试试自监督学习,CV训练新利器,fast.ai新教程,LeCun点评

转自 | 量子位

数据少,又没有预训练模型,怎么破?

给你个秘密武器——自监督学习

数据太少怎么办?试试自监督学习,CV训练新利器,fast.ai新教程,LeCun点评

数据科学家 Jeremy Howard 发布一条Twitter:

在医学图像领域,我们经常需要靠一点点的数据来做很多工作。

在这个问题上,有一种被低估的方法,正是自监督学习,简直太神奇!

还附上了与之相关的最新fast.ai教程。

数据太少怎么办?试试自监督学习,CV训练新利器,fast.ai新教程,LeCun点评

地址:https://www.fast.ai/2020/01/13/self_supervised/

这一推文立即引起了大量网友的关注,可谓是好评如潮。

数据太少怎么办?试试自监督学习,CV训练新利器,fast.ai新教程,LeCun点评

这是篇了不起的文章,太酷了!

这是一种简单且强大的技术。

接下来,让我们一起看下,自监督学习到底有多厉害。

自监督学习简介

在多数情况下,训练神经网络都应该从一个预训练(pre-trained)模型开始,然后再对它进行微调。

通过预训练模型,可以比从头开始训练,节省1000倍的数据。

那么试想一下,你所在的领域中,要是没有预训练模型,该怎么办?

例如在医学图像领域,就很少有预先训练过的模型。

而最近有一篇比较有意思的论文,就对这方面问题做了研究。

数据太少怎么办?试试自监督学习,CV训练新利器,fast.ai新教程,LeCun点评

论文地址:https://arxiv.org/pdf/1902.07208.pdf

研究发现,即便使用ImageNet模型(预训练过的)中的前几层(early layers),也可以提高医学成像模型的训练速度和最终准确性。

所以说,即便某个通用预训练模型,不在你的研究领域范围内,也可以尝试使用它。

然而,这项研究也指出了一个问题:

其改进程度并不大。

那有没有不需要大量数据,还能取得较好效果的技术呢?

自监督学习就是一个秘密武器。

它可以被看作是机器学习的一种“理想状态”,模型直接从无标签数据中自行学习,无需标注数据。

举个例子,ULMFiT(一种NLP训练方法)的关键就是自监督学习,极大的提高了NLP领域的技术水平。

数据太少怎么办?试试自监督学习,CV训练新利器,fast.ai新教程,LeCun点评

论文地址:https://arxiv.org/abs/1801.06146

在基于自监督学习的方法,首先训练了一个语言模型,可以预测某句话的下一个单词。

而当把这个预训练好的模型,用在另一个任务中时(例如情绪分析),就可以用少量的数据,得到最新的结果。

计算机视觉中的自监督学习

在自监督学习中,用于预训练的任务被称为pretext task(前置/代理任务)

然后用于微调的任务被称为downstream task(下游任务)

尽管目前在NLP领域中,自监督学习的应用还算普遍,但是在计算机视觉领域中,它却很少使用。

也许是因为诸如ImageNet这样的预训练模型比较成功,所以像医学成像领域中的研究人员,可能不太熟悉自监督学习的必要性。

接下来的内容便展示了CV领域中应用自监督学习的论文例子。

希望越来越多的人可以重视这一关键技术。

图像着色(Colorization)

Colorful Image Colorization

数据太少怎么办?试试自监督学习,CV训练新利器,fast.ai新教程,LeCun点评

论文地址:https://arxiv.org/abs/1603.08511

Learning Representations for Automatic Colorization

数据太少怎么办?试试自监督学习,CV训练新利器,fast.ai新教程,LeCun点评

论文地址:https://arxiv.org/pdf/1603.06668

Tracking Emerges by Colorizing Videos

数据太少怎么办?试试自监督学习,CV训练新利器,fast.ai新教程,LeCun点评

https://arxiv.org/pdf/1806.09594

效果展示

数据太少怎么办?试试自监督学习,CV训练新利器,fast.ai新教程,LeCun点评


将图像patch放在正确位置

Unsupervised Learning of Visual Representations by Solving Jigsaw Puzzles

数据太少怎么办?试试自监督学习,CV训练新利器,fast.ai新教程,LeCun点评

论文地址:https://arxiv.org/pdf/1603.09246

Unsupervised Visual Representation Learning by Context Prediction

数据太少怎么办?试试自监督学习,CV训练新利器,fast.ai新教程,LeCun点评

论文地址:https://arxiv.org/pdf/1505.05192

效果展示

数据太少怎么办?试试自监督学习,CV训练新利器,fast.ai新教程,LeCun点评


按照正确的顺序放置帧

Unsupervised Representation Learning by Sorting Sequences

数据太少怎么办?试试自监督学习,CV训练新利器,fast.ai新教程,LeCun点评

论文地址:https://arxiv.org/pdf/1708.01246

Shuffle and Learn: Unsupervised Learning using Temporal Order Verification

数据太少怎么办?试试自监督学习,CV训练新利器,fast.ai新教程,LeCun点评

论文地址:https://arxiv.org/pdf/1603.08561

效果展示

数据太少怎么办?试试自监督学习,CV训练新利器,fast.ai新教程,LeCun点评


图像修复(Inpainting)

Context Encoders: Feature Learning by Inpainting

数据太少怎么办?试试自监督学习,CV训练新利器,fast.ai新教程,LeCun点评

论文地址:https://arxiv.org/pdf/1604.07379

效果展示

数据太少怎么办?试试自监督学习,CV训练新利器,fast.ai新教程,LeCun点评


分类损坏的图像

Self-Supervised Feature Learning by Learning to Spot Artifacts

数据太少怎么办?试试自监督学习,CV训练新利器,fast.ai新教程,LeCun点评

论文地址:https://zpascal.net/cvpr2018/Jenni_Self-Supervised_Feature_Learning_CVPR_2018_paper.pdf

效果展示

数据太少怎么办?试试自监督学习,CV训练新利器,fast.ai新教程,LeCun点评


选择一个pretext task

为了在计算机视觉中使用自监督学习,需要回答一个非常重要的问题:

应该使用哪种pretext task?

很多人选择将“自动编码器”作为pretext task。

自动编码器将输入图像转换为一种简化的形式,然后将其再转换回尽可能接近原始图像的内容。

然而,我们不仅需要再生原始图像内容,还需要再生原始图像中的所有噪声。

因此,如果要在下游任务中生成更高质量的图像,那么这将是一个不好的选择。

此外,还需要确保pretext task是人类可以做的事情

例如,预测视频的下一帧,如果预测时间点过于遥远,那也是不太可行的。

为下游任务进行微调

一旦用pretext task预训练了模型,就可以继续进行微调。

在这一点上,应该把这个问题视为一种迁移学习,不要太多的改变预训练模型的权重。

总体而言,Jeremy Howard不建议浪费太多时间来创建“完美”的pretext模型,而要构建尽可能快速且容易的模型。

然后,需要确保这个pretext模型是否可以满足下游任务。

并且,事实证明,通常不需要非常复杂的pretext 任务,就可以在下游任务中取得较好的结果。

Yann LeCun更好的方法建议

Jeremy Howard在发出这条Twitter之后,深度学习三巨头之一的Yann LeCun对其回复。

数据太少怎么办?试试自监督学习,CV训练新利器,fast.ai新教程,LeCun点评

Yann LeCun提出了更好的建议:

现在,学习视觉特征最佳SSL方法是使用孪生神经网络(Siamese network)来学习嵌入。

相关研究包括:

Self-Supervised Learning of Pretext-Invariant Representations

数据太少怎么办?试试自监督学习,CV训练新利器,fast.ai新教程,LeCun点评

论文地址:https://arxiv.org/pdf/1912.01991

Jeremy Howard对LeCun回复道:

将PiRL添加到任意pretext task中是非常好的一件事情。

Jeremy Howard

数据太少怎么办?试试自监督学习,CV训练新利器,fast.ai新教程,LeCun点评

Jeremy Howard

Jeremy Howard,澳大利亚数据科学家和企业家。fast.ai创始研究人员之一,fast.ai是一家致力于使深度学习更易用的研究所。

在此之前,他曾是Enlitic(位于旧金山的高级机器学习公司)的首席执行官兼创始人。

传送门

Twitter:
https://twitter.com/jeremyphoward/status/1216882509692059650

fast.ai博客:
https://www.fast.ai/2020/01/13/self_supervised/

<pre style="max-width: 100%;letter-spacing: 0.544px;box-sizing: border-box !important;overflow-wrap: break-word !important;"><section style="margin-right: 8px;margin-left: 8px;max-width: 100%;white-space: normal;font-family: -apple-system-font, system-ui, "Helvetica Neue", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;letter-spacing: 0.544px;text-align: center;widows: 1;line-height: 1.75em;box-sizing: border-box !important;overflow-wrap: break-word !important;"><strong style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="max-width: 100%;letter-spacing: 0.5px;font-size: 14px;box-sizing: border-box !important;overflow-wrap: break-word !important;"><strong style="max-width: 100%;font-size: 16px;letter-spacing: 0.544px;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="max-width: 100%;letter-spacing: 0.5px;box-sizing: border-box !important;overflow-wrap: break-word !important;">—</span></strong>完<strong style="max-width: 100%;font-size: 16px;letter-spacing: 0.544px;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="max-width: 100%;letter-spacing: 0.5px;font-size: 14px;box-sizing: border-box !important;overflow-wrap: break-word !important;"><strong style="max-width: 100%;font-size: 16px;letter-spacing: 0.544px;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="max-width: 100%;letter-spacing: 0.5px;box-sizing: border-box !important;overflow-wrap: break-word !important;">—</span></strong></span></strong></span></strong></section><section style="max-width: 100%;white-space: normal;font-family: -apple-system-font, system-ui, "Helvetica Neue", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;letter-spacing: 0.544px;text-align: center;widows: 1;box-sizing: border-box !important;overflow-wrap: break-word !important;"><section powered-by="xiumi.us" style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"><section style="margin-top: 15px;margin-bottom: 25px;max-width: 100%;opacity: 0.8;box-sizing: border-box !important;overflow-wrap: break-word !important;"><section style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"><section style="max-width: 100%;letter-spacing: 0.544px;box-sizing: border-box !important;overflow-wrap: break-word !important;"><section powered-by="xiumi.us" style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"><section style="margin-top: 15px;margin-bottom: 25px;max-width: 100%;opacity: 0.8;box-sizing: border-box !important;overflow-wrap: break-word !important;"><section style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"><section style="margin-right: 8px;margin-bottom: 15px;margin-left: 8px;padding-right: 0em;padding-left: 0em;max-width: 100%;color: rgb(127, 127, 127);font-size: 12px;font-family: sans-serif;line-height: 25.5938px;letter-spacing: 3px;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="max-width: 100%;color: rgb(0, 0, 0);box-sizing: border-box !important;overflow-wrap: break-word !important;"><strong style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="max-width: 100%;font-size: 16px;font-family: 微软雅黑;caret-color: red;box-sizing: border-box !important;overflow-wrap: break-word !important;">为您推荐</span></strong></span></section><p style="margin-right: 8px;margin-bottom: 5px;margin-left: 8px;padding-right: 0em;padding-left: 0em;max-width: 100%;min-height: 1em;color: rgb(127, 127, 127);font-size: 12px;font-family: sans-serif;line-height: 1.75em;letter-spacing: 0px;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;">“12306”的架构到底有多牛逼?</span></p><p style="margin-right: 8px;margin-bottom: 5px;margin-left: 8px;padding-right: 0em;padding-left: 0em;max-width: 100%;min-height: 1em;color: rgb(127, 127, 127);font-size: 12px;font-family: sans-serif;line-height: 1.75em;letter-spacing: 0px;box-sizing: border-box !important;overflow-wrap: break-word !important;">一网打尽!深度学习100+经典模型TensorFlow与Pytorch代码实现大集合<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  /></p><p style="margin-right: 8px;margin-bottom: 5px;margin-left: 8px;padding-right: 0em;padding-left: 0em;max-width: 100%;min-height: 1em;color: rgb(127, 127, 127);font-size: 12px;font-family: sans-serif;line-height: 1.75em;letter-spacing: 0px;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="max-width: 100%;-webkit-tap-highlight-color: rgba(0, 0, 0, 0);cursor: pointer;font-size: 14px;box-sizing: border-box !important;overflow-wrap: break-word !important;">阿里如何抗住90秒100亿?看这篇你就明白了!</span></p><p style="margin-right: 8px;margin-bottom: 5px;margin-left: 8px;padding-right: 0em;padding-left: 0em;max-width: 100%;min-height: 1em;font-family: sans-serif;line-height: 1.75em;letter-spacing: 0px;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="max-width: 100%;color: rgb(87, 107, 149);box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="max-width: 100%;font-size: 14px;box-sizing: border-box !important;overflow-wrap: break-word !important;">60个Chrome神器插件大收集:助你快速成为老司机,一键分析网站技术栈</span></span><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  /></p><p style="margin-right: 8px;margin-bottom: 5px;margin-left: 8px;padding-right: 0em;padding-left: 0em;max-width: 100%;min-height: 1em;color: rgb(127, 127, 127);font-size: 12px;font-family: sans-serif;line-height: 1.75em;letter-spacing: 0px;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="max-width: 100%;-webkit-tap-highlight-color: rgba(0, 0, 0, 0);cursor: pointer;font-size: 14px;box-sizing: border-box !important;overflow-wrap: break-word !important;">深度学习必懂的13种概率分布</span></p></section></section></section></section></section></section></section></section>

本篇文章来源于: 深度学习这件小事

本文为原创文章,版权归所有,欢迎分享本文,转载请保留出处!

知行编程网
知行编程网 关注:1    粉丝:1
这个人很懒,什么都没写

发表评论

表情 格式 链接 私密 签到
扫一扫二维码分享