自我监督学习的介绍
深度学习确实在一定程度上改变了机器学习,特别是在图像识别任务中。2012年,Alex-net发起了一项(仍然远未结束)的竞赛,以解决或至少显著改善了计算机视觉任务。虽然主要思想非常稳定(对所有事物都使用深度神经网络),但研究人员采取了截然不同的方式:
- 尝试优化模型架构。
- 尝试优化训练计划,例如优化程序。
- 尝试优化数据,例如顺序、大小、多样性等。
这些研究路径中的每一个都提高了训练质量(速度、准确性,有时是一般化),但似乎做同样的事情可能会导致逐步改进,但不会取得重大突破。
另一方面,在深度学习中不断增长的工作表明当前方法存在重大缺陷,特别是在泛化方面,例如最近的一个:当对象旋转时的泛化失败:
所以似乎需要进行更具侵略性的改进。或者可能将研究范围扩展到可能风险更大的领域。
除了上述方法之外,还有一些方向试图改变。
- N类别单样本学习
- 半监督学习
- 域适应
- 自我监督学习
这些方法采用了一些不同的训练范式,尝试更具创造性,或模仿一些类似人类的模式。虽然我们尚未从上述方法(和其他方法)中获得证据来取得重大突破,但它们确实达到了一些非常重要的结果,并且还教会了我们很多关于训练过程的知识。
在这篇文章中,我将尝试讨论一些最有趣的方法:其中一些是做事,并称之为“不同种类(深度)学习”。我绝不会试图预测深度学习的未来发展,而只是呈现给大家一些最近有趣的作品,这可能不会成为人们关注的焦点。只可能会为读者提供一些目的:
- 您可能有兴趣了解您不知道的作品。
- 您可能会为自己的工作获得新的想法。
- 您可以了解您不了解的深度学习中的逻辑部分和任务之间的关系。
本系列的第一部分将讲述自我监督(self supervised learning)学习,这是我编写本系列的主要动力之一。
自我监督学习
想象一下,你有一个代理人,它可以搜索网络,并从它遇到的每一个图像中无缝地学习。这个概念非常有趣,因为如果能够实现,那么深度学习的最大障碍,即注释数据将被(部分)删除。
但是怎么做呢?最初它是在文本中提出的,文本由人类很好地构建,因此有许多概念可以从中学习而没有任何注释。预测下一个/上一个单词是一个突出的例子,就像在单词嵌入和语言模型任务中所做的那样。
在视觉中,这样的技巧稍微有点复杂,因为视觉数据(图像和视频)不是人类明确创造的(当然,有些摄影师可能会在他的摄影中加入一定的思考)但不是每一个视频,并且绝对不是每一个图像都具有某种可以从中提取信号的逻辑结构。
这难道不是另一种无监督学习的形式吗?确实如此,但它有一个特殊的微妙之处:由于任务受到监督(例如分类),但没有发生有效的注释。这个主题是我的最爱,并且迅速成为本文的主题。我不能保证这个会给深度学习带来最好的成就,但它肯定已经带来了一些伟大的创意。
这些任务称为自我监督学习。与“弱注释”不同,“弱注释”意味着具有不同标签、标题或标题的图像,自我监督的任务不考虑注释而是图像本身。如果您想知道可以从没有注释的图像中学到什么,请继续关注。
不用多说,让我们来看看自我监督领域的一些想法:
彩色化
也许图像中最直观的信号就是它的颜色。当大多数计算机化颜色表示有3个通道时,1或2可以无缝地用作注释。
由于着色旧图像是一项有趣的任务,因此有许多工作可以解决它。但是,如果我们考虑全自动着色(它符合自我监督的标准),那么数字会减少相当多。
在这种情况下的着色任务形成为“交叉信道编码器”,这意味着图像中的一个(或一些)信道用于编码其他信道。这个概念将在后面的文章中进一步讨论。
最引人注目的着色纸是由Richard Zhang和Alexei Efros设计的。
寻址着色任务的常用方法不是使用标准RGB编码,而是使用Lab颜色空间。在Lab色彩空间中,L代表亮度(B&W强度),用于预测ab通道(a - 绿色到红色,b - 蓝色到黄色)。
实验室编码着色
正如我们将在我们讨论的所有任务中看到的那样,自我监督学习并不像我们在深度学习中习惯的那样简单。有些工件会中断模型实现其设计目标。此外,有时如果不仔细检查训练,模型会制作“捷径”,这将阻碍其推广到其他任务。
以下是着色任务的一些挑战:
1.着色中的固有歧义:很明显,对于某些图像,存在多于一种合理的着色。此问题在训练和评估中会导致多个问题:
在下面的唐纳德特朗普图像中,窗帘的颜色可以是红色或蓝色(以及许多其他)。唐纳德的领带可以匹配(或不匹配)。给定数据集中关系和窗帘的不同示例,模型将倾向于对它们进行平均,将这些项目着色为灰色。
解决方案:在张的文章中,研究人员将着色视为分类问题,而不是回归。除了使用特殊的损失函数,他们的模型预测概率分布层而不是图像的实际颜色,然后将这些概率转换为颜色- 在Lab空间中的313种可用颜色中:
2.偏见:实验室不是一个均匀分布的空间。由于云层、路面等的高频率,大多数解决方案都趋向于较低的数值。
解决方案:发生损失函数的重新加权以解决此问题。
3.评估问题:现在模型可以预测正确的不同答案,例如,如果基础事实为蓝色且模型将选择红色,则在标准评估中将被视为错误。
解决方案:使用不同的评估方法,其中包括:人类后期分类- “着色图灵测试”,人们被要求在真实图像和机器着色图像之间进行分析。另外,将图像馈送到图像分类器中,将结果与真实图像进行比较。
该模型在Colorization Turing测试中得分为35%,这不是那么糟糕。
在这张图片中,机器着色的狗看起来比原来的更真实
在最近的另一篇论文中,Larson等人同时与Zhang和Efros合作(两篇论文互相提及),并使用空间局部化的多层切片(超列)和回归损失。他们试图通过预测颜色直方图并从中抽样来克服模糊性问题:
除了使用LAB空间之外,这项工作还尝试预测Hue / Chroma属性,这与“HSV”颜色空间有关。
上下文
除了颜色预测之外,下一个最明显(但也很有创意)的任务是学习图像结构。更确切地说,试图预测图像作物的某些内容。
这个任务的灵感直接来自word2vec,也许我们可以把它称为图像的“skip gram”。
但是,在文本中,单词的数量仅限于词汇量的大小,并且可能不会超过100万。虽然一个一个的像素完成图像补丁时,它存在于更大的空间中。您可能会说GAN确实如此,但是:
实际上确实存在大量正确的解决方案,因此很难进行推广。
我们将在接下来的部分会讨论GAN。
在这种范式中,实际任务并不是自然而然地出现的:研究人员必须为模型想出“游戏”才能解决。比如通过一些突出的例子:
拼接上下文
填补后的补丁似乎并不能很好地概括,因此研究转向了类似拼图的任务。第一个是Doersch和Efros的作品:补丁是从图像中裁剪出来的,并且训练模型来对它们的关系进行了分类。用一个例子来简单的解释它:
就像着色一样,任务并不简单。具体来说,模型正在寻找一个“快捷方式”:它并没有实际学习高级特征及其关系,而是可能学习某些低级特征,例如边缘和光照关系。这往往暗示了图像部分。
为了解决这个问题,研究人员在贴片上应用了一些抖动(如图所示)
研究人员遭受的另一个问题是模型通过一些照明伪像-色差来模拟预测斑点的位置。这意味着在某些相机中,颜色的分布在图像的不同部分中变化。解决方案:这部分由一些颜色转换处理,特别是将绿色和洋红色转成灰色。
下一个突出的结果是Noroozi和Favaro的这篇论文,一路走来,使用了一个更难的问题,解决了完整的9部分拼图,但得到了更好的结果:
研究人员应用了对补丁进行良好改组的验证,并对每张图像进行了多次洗牌。
上下文编码器
如上所述,文本中的word2vec填写了缺失的单词。 在愿景中是否有这样的尝试?事实上,有。在本文中,Pathak等人(当然还有Efros)尝试了一些自动编码器模型来填充图像上的裁剪空间。
结果表明它实际上是可能的,特别是增加了对抗性损失,成功地避免了处理多种模式(如前所述),从而防止了模糊的“平均”结果。
旋转
在我们跳到下一级的东西之前,我想提一下这个花絮:旋转预测。本文接着采用了预测图像旋转的创新方法。
旋转预测除了具有创造性之外,相对较快,并且不需要像我们之前看到的其他任务那样进行任何预先考虑,以克服对琐碎特征的学习。
论文还探讨了一些“注意地图”,这些图显示了他们的网络侧重于图像的重要部分:头部、眼睛等。
虽然报告了关于迁移学习到ImageNet分类的最新技术成果(大多数其他工作与pascal相关),但是评论者在论文中发现了一些缺陷,因此必须采取一些措施。
泛化
那么我们做了这么多工作之后,我们从中获得了什么?当然,给黑白图像上色很好,而解决拼图可能是一个有趣的演示应用程序,但更大的目标是在主要任务中实现更好的结果- 尤其是分类、检测和分割。
最常见的基准是VOC Pascal数据集,当使用imagenet预训练时,其技术现状是:
目前的结果是:
检测结果
好吧,似乎我们还没有达到那一步。虽然自我监督的数据实际上是无限的,但尚未开展挑战“经典”的基于Imagenet的迁移学习结果的工作。我们将在后面的帖子中讨论具体任务的一些不错的结果。
除了对上述任务的标准概括之外,研究人员利用这组任务的特定功能来尝试和推广其他一些任务,例如图像聚类(最近邻、可视化数据挖掘等)
总结
下一个重要步骤将来自自我监督学习吗?也许是,或许不是,但我相信,探索这些不同的方法可以显著改善深度学习领域,并可能间接地积极影响真正的突破。在下一篇文章中,我们将学习更多的想法和方法,从而产生一些有趣和新颖的结果。