本文概述
在过去的十年中, 监督学习一直是计算机视觉和深度学习研究的最前沿。
在有监督的学习环境中, 需要人工手动注释大量数据集。然后, 模型使用此数据来学习数据与标签之间的复杂基础关系, 并在给定数据的情况下开发预测标签的功能。深度学习模型通常需要大量数据, 并且需要大量的数据集才能获得良好的性能。不断改进的硬件和大型人工标记数据集的可用性一直是深度学习最近取得成功的原因。
监督式深度学习的一个主要缺点是, 它依赖于大量的人类标记数据集进行训练。并非在所有领域都可以使用这种奢侈品, 因为获取专业人员注释的庞大数据集可能在后勤方面非常困难且非常昂贵。虽然获取标记数据可能是一项具有挑战性且代价高昂的工作, 但我们通常可以访问大量未标记的数据集, 尤其是图像和文本数据。因此, 我们需要找到一种方法来利用这些未充分利用的数据集并将其用于学习。
从预训练的模型转移学习
在没有大量标记数据的情况下, 我们通常求助于使用转移学习。那么什么是转学?
转移学习意味着使用来自类似任务的知识来解决眼前的问题。在实践中, 通常意味着使用从相似任务中学习的深度神经网络权重作为初始化, 而不是从权重的随机初始化开始, 然后进一步在可用的标记数据上训练模型以解决手头的任务。
转移学习使我们能够在仅数千个示例的数据集上训练模型, 并且可以提供非常好的性能。可以通过三种方式从预训练模型中进行转移学习:
1.特征提取
通常, 神经网络的最后一层正在执行最抽象和特定于任务的计算, 这些计算通常不容易转移到其他任务。相比之下, 网络的初始层学习一些基本功能, 例如边缘和通用形状, 这些功能可以轻松地跨任务转移。
下面的图像集描述了卷积神经网络(CNN)中不同级别的卷积内核实际上正在学习什么。我们看到了分层表示, 初始层学习基本形状, 而更高的层逐渐学习更复杂的语义概念。
通常的做法是采用在大型标签图像数据集(例如ImageNet)上经过预训练的模型, 并在最后切掉完全连接的层。然后, 根据所需的类数, 附加并配置新的完全连接的层。冻结传输的图层, 并根据任务中可用的带标签数据训练新图层。
在此设置中, 预训练模型被用作特征提取器, 并且顶部的完全连接层可以视为浅分类器。由于可训练参数的数量相对较小, 因此此设置比过拟合更健壮, 因此, 当可用的标记数据非常稀缺时, 此配置效果很好。数据集的大小符合非常小的数据集通常是一个棘手的问题, 需要考虑许多方面, 包括当前的问题和模型主干的大小。粗略地说, 我将对包含数千个图像的数据集使用此策略。
2.微调
或者, 我们可以从预训练的网络传输层, 并在可用的标记数据上训练整个网络。此设置需要更多带标签的数据, 因为你正在训练整个网络, 因此需要训练大量参数。当数据不足时, 此设置更容易过度拟合。
3.两阶段转移学习
这种方法是我个人最喜欢的方法, 通常至少在我的经验中, 它会产生最佳效果。在这里, 我们在对整个网络进行微调之前, 训练新连接的层, 同时将传输的层冻结几个纪元。
对整个网络进行微调而不给最后的层一些时间可能会导致有害梯度从随机初始化的层传播到基础网络。此外, 微调需要相对较小的学习率, 而两阶段方法是对此的便捷解决方案。
半监督和无监督方法的需求
对于大多数图像分类任务来说, 这通常效果很好, 因为我们拥有庞大的图像数据集(如ImageNet), 它覆盖了可能的图像空间的很大一部分-通常, 从中获得的权重可以转移到自定义图像分类任务中。而且, 预训练的网络可随时使用, 从而简化了流程。
但是, 如果任务中图像的分配与基础网络所训练的图像完全不同, 则此方法将无法很好地工作。例如, 如果你要处理由医学成像设备生成的灰度图像, 那么从ImageNet权重进行的传递学习将不会那么有效, 并且你将需要超过数千张带标签的图像来训练网络以达到令人满意的性能。
相反, 你可能会因问题而访问大量未标记的数据集。这就是为什么从未标记的数据集中学习的能力至关重要的原因。此外, 未标记的数据集的种类和数量通常甚至比最大的标记数据集还要大得多。
半监督方法已显示出比ImageNet等大型基准上的监督方法优越的性能。 Yann LeCun著名的蛋糕类比强调无监督学习的重要性:
半监督学习
这种方法利用标记和未标记的数据进行学习, 因此被称为半监督学习。当你有少量标记数据和大量未标记数据时, 通常是首选方法。你可以同时从标记的和未标记的数据中学习一些技术, 但是我们将分两阶段讨论该问题:对未标记的数据进行无监督学习, 以及使用上述策略之一转移学习以解决分类任务。
在这些情况下, 无监督学习是一个相当混乱的术语。从存在指导权重学习的监督信号的意义上说, 这些方法并不是真正不受监督的, 但是监督信号是从数据本身得出的。因此, 有时将其称为自我监督学习, 但这些术语在文献中已被互换使用以指代相同的方法。
自我监督学习中的主要技术可以按它们如何从数据生成此监督信号的方式进行划分, 如下所述。
生成方法
生成方法旨在使数据经过瓶颈后进行准确的重建。这种网络的一个例子是自动编码器。它们使用编码器网络将输入减少到低维表示空间中, 并使用解码器网络将图像重建。
在此设置中, 输入本身成为用于训练网络的监控信号(标签)。然后, 可以使用上一节中讨论的转移学习技术之一, 提取编码器网络并将其用作构建分类器的起点。
类似地, 另一种形式的生成网络-生成对抗网络(GAN)-可用于对未标记的数据进行预训练。然后, 可以采用鉴别器并对分类任务进一步进行微调。
判别方法
判别方法训练神经网络来学习辅助分类任务。选择辅助任务, 以便可以从数据本身获取监视信号, 而无需人工注释。
这类任务的示例是学习图像块的相对位置, 为灰度图像着色或学习应用于图像的几何变换。我们将进一步详细讨论其中两个。
学习图像补丁的相对位置
在这种技术中, 从源图像中提取图像补丁以形成类似拼图的网格。路径位置经过混洗, 经过混洗的输入被馈送到网络中, 网络经过训练可以正确预测网格中每个面片的位置。因此, 监控信号是网格中每个路径的实际位置。
在学习中, 网络学习对象的相对结构和方向以及诸如色彩之类的低级视觉特征的连续性。结果表明, 通过解决该拼图游戏所学习的功能可高度转换为诸如图像分类和目标检测之类的任务。
学习应用于图像的几何变换
这些方法将一小组几何变换应用于输入图像, 并训练分类器通过仅查看变换的图像来预测应用的变换。这些方法的一个示例是将2D旋转应用于未标记的图像以获得一组旋转的图像, 然后训练网络以预测每个图像的旋转。
这个简单的监控信号迫使网络学习定位图像中的对象并了解其方向。通过这些方法学习到的功能已被证明具有高度可移植性, 并且可以在半监督环境下为分类任务提供最新的性能。
基于相似度的方法
这些方法将图像投影到固定大小的表示空间中, 在该空间中, 相似的图像距离更近, 而不同的图像距离更远。实现此目的的一种方法是使用基于三重态损失的暹罗网络, 该网络可将语义相似的图像之间的距离最小化。三重态损失需要一个锚点, 一个正例和一个负例, 并且就潜在空间中的欧几里德距离而言, 使正值比负值更接近锚点。锚和正数来自同一类别, 负数示例是从其余类别中随机选择的。
在未标记的数据中, 我们需要提出一种策略, 在不知道图像类别的情况下生成锚定正例和负例的三元组。一种方法是使用锚图像的随机仿射变换作为正例, 并随机选择另一个图像作为负例。
实验
在本节中, 我将涉及一个实验, 该实验凭经验确定无监督预训练在图像分类中的潜力。这是我去年春天在纽约大学的Yann LeCun参加的深度学习课程的一个学期项目。
- 数据集。它由128K个带标签的示例组成, 其中一半用于培训, 另一半用于验证。此外, 我们提供了512K未标记的图像。数据总共包含1, 000个类。
- 无人监督的预训练。 AlexNet接受了轮换分类的培训, 使用了63个时期的大量数据增强功能。我们在他们的论文中使用了Rotnet记录的超参数。
- 分类器培训。从第四卷积层提取特征, 并在其上附加三个完全连接的层。这些层被随机初始化并按计划的递减学习率进行训练, 并实施了早期停止以停止训练。
- 全网微调。最终, 我们对在整个标记数据上训练的网络进行了微调。特征提取器和分类器(之前分别进行过训练)均经过微调, 并且学习率较低, 持续15个纪元。
我们训练了七个模型, 每个模型使用每个班级使用不同数量的带标签的训练示例。这样做是为了了解训练数据的大小如何影响我们的半监督设置的性能。
对于旋转分类的预训练, 我们能够获得82%的准确率。对于分类器训练, 最高的5%精度在46.24%的值附近达到饱和, 并且对整个网络进行微调得出的最终数字为50.17%。通过利用预训练, 我们获得了比有监督的训练更好的性能, 后者提供了40%的前5名准确性。
不出所料, 验证精度随标记训练数据的减少而降低。但是, 性能的下降并不像在受监管的环境中所期望的那样大。训练数据从每班64个示例减少到每个班32个示例减少50%, 只会导致验证准确性降低15%。
通过每班仅使用32个示例, 我们的半监督模型比使用每班64个示例训练的监督模型具有更高的性能。这提供了在低资源标记数据集上进行图像分类的半监督方法潜力的经验证据。
总结
我们可以得出结论, 无监督学习是一种强大的范例, 可以提高低资源数据集的性能。无监督学习目前尚处于起步阶段, 但它将通过允许从便宜且易于访问的未标记数据中进行学习, 逐步扩大其在计算机视觉领域的份额。
评论前必须登录!
注册