Yann LeCun团队新研究成果:对自监视进修逆向工程,原来聚类是这样实现的

自监视进修的聚类到底是怎么回事?Yann LeCun 等研究者举行一番「逆向工程」。自监视进修(SSL)在最近几年取得了很大的进展,在许多下游任意上几乎已经达到监视进修方法的水平。但是,由于模型的复杂

自监视进修的聚类到底是怎么回事?Yann LeCun 等研究者举行一番「逆向工程」。

自监视进修(SSL)在最近几年取得了很大的进展,在许多下游任意上几乎已经达到监视进修方法的水平。但是,由于模型的复杂性以及缺乏有标注训练数据集,我们还一直难以理解进修到的表征及其底层的工作机制。此外,自监视进修中应用的 pretext 任意通常与特定下游任意的直接关系不大,这就进一步增大了解释所进修到的表征的复杂性。而在监视式分类中,所学到的表征的结构往往很简单。

相比于传统的分类任意(目的是准确将样本归入特定类型),现代 SSL 算法的目的通常是最小化包含两大成分的损失函数:一是对巩固过的样本举行聚类(不变性约束),二是防止表征坍缩(正则化约束)。举个例子,对于同一样本经过分歧巩固之后的数据,对比式进修方法的目的是让这些样本的分类结果一样,同时又要能区分经过巩固之后的分歧样本。另一方面,非对比式方法要应用正则化器(regularizer)来避免表征坍缩。

自监视进修可以利用辅助任意(pretext)无监视数据中挖掘自身的监视信息,通过这种构造的监视信息对收集举行训练,从而可以进修到对下游任意有价值的表征。近日,图灵奖得主 Yann LeCun 在内的多位研究者发布了一项研究,宣称对自监视进修举行了逆向工程,让我们得以了解其训练流程的内部行为。

图片

论文地址:https://arxiv.org/abs/2305.15614v2

这篇论文通过一系列精心设计的实验对应用 SLL 的表征进修举行了深度分析,帮助人们理解训练期间的聚类流程。具体来说,研究揭示出巩固过的样本会表现出高度聚类的行为,这会围绕共享同一图像的巩固样本的含义嵌入形成质心。更出人意料的是,研究者观察到:即便缺乏有关目的任意的明确信息,样本也会根据语义标签发生聚类。这表明 SSL 有能力根据语义相似性对样本举行分组。

问题设置

由于自监视进修(SSL)通常用于预训练,让模型做好准备适应下游任意,这带来了一个关键问题:SSL 训练会对所学到的表征产生什么影响?具体来说,训练期间 SSL 的底层工作机制是怎样的,这些表征函数能学到什么类型?

为了调查这些问题,研究者在多种设置上训练了 SSL 收集并应用分歧的技术分析了它们的行为。

数据和巩固:本文提到的所有实验都应用了 CIFAR100 图像分类数据集。为了训练模型,研究者应用了 SimCLR 中提出的图像巩固协议。每一个 SSL 训练 session 都执行 1000 epoch,应用了带动量的 SGD 优化器。

骨干架构:所有的实验都应用了 RES-L-H 架构作为骨干,再加上了两层多层感知器(MLP)投射头。

线性探测(linear probing):为了评估从表征函数中提取给定离散函数(例如类型)的有效性,这里应用的方法是线性探测。这需要基于该表征训练一个线性分类器(也称为线性探针),这需要用到一些训练样本。

样本层面的分类:为了评估样本层面的可分离性,研究者创建了一个专门的新数据集。

其中训练数据集包含来自 CIFAR-100 训练集的 500 张随机图像。每张图像都代表一个特定类型并会举行 100 种分歧的巩固。因此,训练数据集包含 500 个类型的共计 50000 个样本。尝试集依然是用这 500 张图像,但要应用 20 种分歧的巩固,这些巩固都来自同一分布。因此,尝试集中的结果由 10000 个样本构成。为了在样本层面衡量给定表征函数的线性或 NCC(nearest class-center / 最近类型中心)准确度,这里采用的方法是先应用训练数据计算出一个相关的分类器,然后再在相应尝试集上评估其准确率。

揭示自监视进修的聚类流程

在帮助分析深度进修模型方面,聚类流程一直以来都发挥着重要作用。为了直观地理解 SSL 训练,图 1 通过 UMAP 可视化展示了收集的训练样本的嵌入空间,其中包含训练前后的情况并分了分歧层级。

图片

图 1:SSL 训练引起的语义聚类

正如预期的那样,训练流程成功地在样本层面上对样本举行了聚类,映射了同一图像的分歧巩固(如第一行图示)。考虑到目的函数本身就会鼓励这种行为(通过不变性损失项),因此这样的结果倒是不意外。然而,更值得注意的是,该训练流程还会根据标准 CIFAR-100 数据集的原始「语义类型」举行聚类,即便该训练流程期间缺乏标签。有趣的是,更高的层级(超类型)也能被有效聚类。这个例子表明,尽管训练流程直接鼓励的是样本层面的聚类,但 SSL 训练的数据表征还会在分歧层面上根据语义类型来举行聚类。

为了进一步量化这个聚类流程,研究者应用 VICReg 训练了一个 RES-10-250。研究者衡量的是 NCC 训练准确度,既有样本层面的,也有基于原始类型的。值得注意的是,SSL 训练的表征在样本层面上展现出了神经坍缩(neural collapse,即 NCC 训练准确度接近于 1.0),然而在语义类型方面的聚类也很显著(在原始目的上约为 0.41)。

如图 2 左图所示,涉及巩固(收集直接基于其训练的)的聚类流程大部分都发生在训练流程初期,然后陷入停滞;而在语义类型方面的聚类(训练目的中并未指定)则会在训练流程中持续提升。

图片

图 2:SSL 算法根据语义目的对对数据的聚类

之前有研究者观察到,监视式训练样本的顶层嵌入会逐渐向一个类质心的结构收敛。为了更好地理解 SSL 训练的表征函数的聚类性质,研究者调查了 SSL 流程中的类似情况。其 NCC 分类器是一种线性分类器,其表现不会超过最佳的线性分类器。通过评估 NCC 分类器与同样数据上训练的线性分类器的准确度之比,能够在分歧粒度层级上研究数据聚类。图 2 的中图给出了样本层面类型和原始目的类型上的这一比值的变化情况,其值根据初始化的值举行了归一化。随着 SSL 训练的举行,NCC 准确度和线性准确度之间的差距会变小,这说明巩固后的样本会根据其样本身份和语义属性逐渐提升聚类水平。

此外,该图还说明,样本层面的比值起初会高一些,这说明巩固后的样本会根据它们的身份举行聚类,直到收敛至质心(NCC 准确度和线性准确度的比值在 100 epoch 时 ≥ 0.9)。但是,随着训练继续,样本层面的比值会饱和,而类型层面的比值会继续增长并收敛至 0.75 左右。这说明巩固后的样本首先会根据样本身份举行聚类,实现之后,再根据高层面的语义类型举行聚类。

SSL 训练中隐含的信息压缩

如果能有效举行压缩,那么就能得到有益又有用的表征。但 SSL 训练流程中是否会出现那样的压缩却仍是少有人研究的课题。

为了了解这一点,研究者应用了互信息神经估计(Mutual Information Neural Estimation/MINE),这种方法可以估计训练流程中输入与其对应嵌入表征之间的互信息。这个度量可用于有效衡量表征的复杂度水平,其做法是展现其编码的信息量(比特数量)。

图 3 的中图报告了在 5 个分歧的 MINE 初始化种子上计算得到的平均互信息。如图所示,训练流程会有显著的压缩,最终形成高度紧凑的训练表征。

图片

图 3:(左)一个 SSL 训练的模型在训练期间的正则化和不变性损失以及原始目的线性尝试准确度。(中)训练期间输入和表征之间的互信息的压缩。(右)SSL 训练进修聚类的表征。

正则化损失的作用

目的函数包含两项:不变性和正则化。不变性项的主要功能是强化同一样本的分歧巩固的表征之间的相似性。而正则化项的目的是帮助防止表征坍缩。

为了探究这些分量对聚类流程的作用,研究者将目的函数分解为了不变性项和正则化项,并观察它们在训练流程中的行为。比较结果见图 3 左图,其中给出了原始语义目的上的损失项的演变以及线性尝试准确度。分歧于普遍流行的想法,不变性损失项在训练流程中并不会显著改善。相反,损失(以及下游的语义准确度)的改善是通过降低正则化损失实现的。

由此可以得出结论:SSL 的大部分训练流程都是为了提升语义准确度和所学表征的聚类,而非样本层面的分类准确度和聚类。

从本质上讲,这里的发现表明:尽管自监视进修的直接目的是样本层面的分类,但其实大部分训练时间都用于分歧层级上基于语义类型的数据聚类。这一观察结果表明 SSL 方法有能力通过聚类生成有语义含义的表征,这也让我们得以了解其底层机制。

监视进修和 SSL 聚类的比较

深度收集分类器往往是基于训练样本的类型将它们聚类到各个质心。但进修得到的函数要能真正聚类,必须要求这一性质对尝试样本依然有效;这是我们期望得到的效果,但效果会差一点。

这里有一个有趣的问题:相比于监视进修的聚类,SSL 能在多大程度上根据样本的语义类型来执行聚类?图 3 右图报告了在分歧场景(应用和不应用巩固的监视进修以及 SSL)的训练结束时的 NCC 训练和尝试准确度比率。

尽管监视式分类器的 NCC 训练准确度为 1.0,显著高于 SSL 训练的模型的 NCC 训练准确度,但 SSL 模型的 NCC 尝试准确度却略高于监视式模型的 NCC 尝试准确度。这说明两种模型根据语义类型的聚类行为具有相似的程度。有意思的是,应用巩固样本训练监视式模型会稍微降低 NCC 训练准确度,却会大幅提升 NCC 尝试准确度。

探索语义类型进修和随机性的影响

语义类型是根据输入的内在模式来定义输入和目的的关系。另一方面,如果将输入映射到随机目的,则会看到缺乏可辨别的模式,这会导致输入和目的之间的连接看起来很任意。

研究者还探究了随机性对模型进修所需目的的熟练程度的影响。为此,他们构建了一系列具有分歧随机度的目的系统,然后检查了随机度对所学表征的影响。他们在用于分类的同一数据集上训练了一个神经收集分类器,然后应用其分歧 epoch 的目的预测作为具有分歧随机度的目的。在 epoch 0 时,收集是完全随机的,会得到确定的但看似任意的标签。随着训练举行,其函数的随机性下降,最终得到与基本真值目的对齐的目的(可认为是完全不随机)。这里将随机度归一化到 0(完全不随机,训练结束时)到 1(完全随机,初始化时)之间。

图 4 左图展示了分歧随机度目的的线性尝试准确度。每条线都对应于分歧随机度的 SSL 分歧训练阶段的准确度。可以看到,在训练流程中,模型会更高效地捕获与「语义」目的(更低随机度)更接近的类型,同时在高随机度的目的上没有表现出显著的性能改进。

图片

图 4:SSL 持续进修语义目的,而非随机目的

深度进修的一个关键问题是理解中间层对分类分歧类型类型的作用和影响。比如,分歧的层会学到分歧类型的类型吗?研究者也探索了这个问题,其做法是在训练结束时分歧目的随机度下评估分歧层表征的线性尝试准确度。如图 4 中图所示,随着随机度下降,线性尝试准确度持续提升,更深度的层在所有类型类型上都表现更优,而对于接近语义类型的分类,性能差距会更大。

研究者还应用了其它一些度量来评估聚类的质量:NCC 准确度、CDNV、平均每类方差、类型均值之间的平均平方距离。为了衡量表征随训练举行的改进情况,研究者为语义目的和随机目的计算了这些指标的比率。图 4 右图展示了这些比率,结果表明相比于随机目的,表征会更加偏向根据语义目的来聚类数据。有趣的是,可以看到 CDNV(方差除以平方距离)会降低,其原因仅仅是平方距离的下降。方差比率在训练期间相当稳定。这会鼓励聚类之间的间距拉大,这一现象已被证明能带来性能提升。

了解类型层级结构和中间层

之前的研究已经证明,在监视进修中,中间层会逐渐捕获分歧抽象层级的特征。初始的层倾向于低层级的特征,而更深的层会捕获更抽象的特征。接下来,研究者探究了 SSL 收集能否进修更高层面的层次属性以及哪些层面与这些属性的关联性更好。

在实验中,他们计算了三个层级的线性尝试准确度:样本层级、原始的 100 个类型、20 个超类型。图 2 右图给出了为这三个分歧类型集计算的数量。可以观察到,在训练流程中,相较于样本层级的类型,在原始类型和超类型层级上的表现的提升更显著。

接下来是 SSL 训练的模型的中间层的行为以及它们捕获分歧层级的目的的能力。图 5 左和中图给出了分歧训练阶段在所有中间层上的线性尝试准确度,这里度量了原始目的和超目的。图 5 右图给出超类型和原始类型之间的比率。

图片

图 5:SSL 能在整体中间层中有效进修语义类型

研究者基于这些结果得到了几个结论。首先,可以观察到随着层的深入,聚类效果会持续提升。此外,与监视进修情况类似,研究者发现在 SSL 训练期间,收集每一层的线性准确度都有提升。值得注意的是,他们发现对于原始类型,最终层并不是最佳层。近期的一些 SSL 研究表明:下游任意能高度影响分歧算法的性能。本文的研究拓展了这一观察结果,并且表明收集的分歧部分可能适合分歧的下游任意与任意层级。根据图 5 右图,可以看出,在收集的更深层,超类型的准确度的提升幅度超过原始类型。

原创文章,作者:机器之心,如若转载,请注明出处:https://www.iaiol.com/news/20835

(0)
上一篇 2023年6月13日 下午3:57
下一篇 2023年6月13日 下午4:13

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注