何恺明一作,革新7项检测支解义务,无监视预教练完胜有监视

Facebook AI 研讨团队的何恺明等人提出了一种名为动量比照(MoCo)的无监视教练方法。 7 个与检测和支解相关的卑鄙义务中,MoCo 可以超越 ImageNet 上的监视进修结果,某些状况下其外现以致大大超越后者。作家摘要中写道:「这外明,许众视觉义务中,无监视和监视外征进修之间的差异曾经很洪流平上被消弭了。」



论文链接:https://arxiv.org/pdf/1911.05722.pdf


无监视外征进修自然言语处理范畴十分成功,降生了 GPT、BERT 等功用强大的模子。但盘算机视觉范畴,监视预教练不停是主流方法,无监视方法则被落了后面。

这可以是因为它们对应的信号空间差别。言语义务有着离散的信号空间(词等),可以用于构修因素词后的辞书(dictionary)。这种辞书是无监视进修可以依赖的特征。可是,盘算机视觉与之相反,其原始信号是一个延续且高维的空间中,无法成为构造化信号用于人类的交换。

无监视的视觉外征进修上,近来的少许研讨通过运用比照耗损(constrative loss)的方法取得了不错的效果。这些方法都可以被认为和动态辞书(dynamic dictionary)相关。辞书中,键(token)是通过从数据(如图像等)中举行采样取得的,然后运用一个编码器收集转换为外征。无监视进修则教练编码器,用于辞书的查找义务,即一个编码的「盘诘(query)」应当和与之立室的键相似,与其他键不相似。如许的一个进修进程可以被构修为淘汰比照耗损。

从这一角度来看,研讨者假设,可以构修一种辞书,这个辞书:(1)足够大;(2)可以教练的进程中不时更新。从直觉上来说,一个更大的辞书可以更好地采样隐性的延续高维视觉空间。而辞书中的键应当可以被同样的或者近似的编码器外示。如许其相对应的盘诘则是稳定延续的。

本次研讨中,何恺明等研讨者提出了一种名为动量比照(Momentum Contrast,简称 MoCo)的方法。这种方法旨通过比照耗损为无监视进修修立大型、同等的辞书(如下图 1 所示)。研讨者将辞书维护为一个数据样本部队:目今 mini-batch 编码外征将进入部队,而最老的将退出部队。该部队将辞书大小与 mini-batch 大小解耦,从而容许辞书变大。另外,因为辞书键来自前面的几个 mini-batch,于是研讨者提出运用一个迟缓行进的键编码器,举措基于动量的盘诘编码器的挪动平均值,以保持同等性。
图 1.MoCo 通过运用比照耗损将一个已编码的盘诘 q 与一个已编码的键辞书举行立室来教练一个视觉外征编码器。辞书键 {k_0, k_1, k_2, ...} 是由一组数据样本动态定义的。


MoCo 是一种为比照进修创立动态辞书的机制,可以用于办理众种 pretext 义务。这篇论文中,研讨者采用了一个简单的实例判别义务:一个盘诘立室一个键(假如它们是同一图像的编码视图)。 ImageNet 数据汇合,MoCo 一般线性分类标准下展现出了有逐鹿力的结果。

无监视进修的主要目标之一是预教练出可以通过微调迁移到卑鄙义务的外征。何恺明团队的研讨结果外明, 7 个与检测和支解相关的卑鄙义务中,MoCo 无监视预教练可以超越 ImageNet 上的监视进修结果,某些状况下其外现还大大超越后者。

他们通过实行探究了 MoCo ImageNet 或 10 亿张 Instagram 图像集上的预教练结果,这些结果外明,许众盘算机视觉义务中,MoCo 都可以很洪流平上缩小无监视和监视外征进修的差异,若干项运用中可以替代 ImageNet 监视预教练。


方法详解

比照进修可以看做查辞书

比照进修及其最新希望可以看做是为查辞书义务教练一个编码器。

假设有一个编码的盘诘 q 和一组编码的样本 {k0, k1, k2, ...},它们都是辞书的键。辞书中有一个键(k+)与 q 相立室。比照耗损是一个函数,该函数的值 q 相似于其正键 k+且差别于其他所有键(q 的负键)时很低。研讨者运用点积的相似度器量,这是一种比照耗损函数的方式,名为 InfoNCE。本文采用了这个函数:
这一比照耗损函数充当一个无监视目标函数,用于教练外征盘诘和键的编码器收集。总体来说,盘诘外征是 q = f_q(x^q ),此中的 f_q 是一个编码器收集,x^q 是盘诘样本。


动量比照(Moco)

比照进修是图像等高维延续输入上修立离散辞书的一种方法。该辞书是动态的,因为键是随机采样的,而且键编码器教练进程中渐渐更新。本文的研讨者提出的假设是:好的特功可以通过一个涵盖大宗负样本的辞书来进修,这一进程中,尽管辞书键的编码器处于动态改造之中,但它仍应当尽可以保持稳定。基于这种思念,研讨者提出了 MoCo 方法。


1. 将辞书举措部队

该方法的中心是将辞书保持为一个数据样本部队。这使得从头应用来自之前的 mini-batch 的编码键成为可以。部队的引入将辞书大小与 mini-batch 大小解耦,辞书的大小可以远庞大于典范的 mini-batch 大小,而且可以灵敏而独立即修立为超参数。辞书中的样本被逐渐交换,目今的 mini-batch 被到场到辞书部队中,而最早的 mini-batch 被从部队中移除。该辞书老是外示一个所稀有据的采式样集,而维护该辞书的分外盘算是可办理的。


2. 动量更新

运用部队可以使辞书更大,但这使得通过反向传达更新键编码器变得艰难。假设这种糜烂是因为编码器的疾速改造低沉了键的外征同等性变成的。基于这种假设,研讨者提出用动量更新来办理这个题目。

将 f_k 的参数外示为θ_k,将 f_q 的参数外示为θ_q,通过以系澜法来更新θ_k:


上面的式子中,m ∈ [0, 1) 是一个动量系数。只要参数θ_q 通过反向传达取得了更新。(2)式中的动量更新使得θ_k 的改造比θ_q 要更加腻滑。
实行中,一个较大的动量(如 m = 0.999)比一个较小的值(如 m = 0.9)效果要好,外明迟缓更新的键编码器是使部队发恍△用的要害。


3. 和其他方法的比照

研讨者图 2 中将他们的方法和之前的方法举行了比照。

图 2:三种比照耗损机制的比较。这里,研讨者只展现了一对盘诘和键的联系。

这三种方法的主要差别之处于,它们关于键应当怎样被保持和键编码器怎样更新上有所区别。(a)端到端方法中,盘诘和键的外征通过端到端的反向传达方法举行更新;(b) memory bank 的方法中,键的外征通过一个 memory bank 举行采样;(c)本文提出的方法中,MoCo 运用基于动量更新(momentum-updated)的编码器对新的键举行更新,并保持一个键的部队。

Pretext 义务


比照进修可以促进种种各样的 pretext 义务。本文的重心并不是从头计划新的 pretext 义务,而是依据以前的实例区分义务修立起一个新的义务。

依据之前研讨所实例区分义务,研讨者思索将一对盘诘和键举措正样本对(positive sample pair),假如它们出自同一图像,否则将它们举措负样本对(negative sample pair)。研讨者随机数据增强下从同一图像中提取两个随便的「视图」,以构修正样本对。盘诘和键区分由各自对应的编码器 f_q 和 f_k 举行编码。编码器可以是任何架构的卷积神经收集。

下图算法 1 供应了该 pretext 义务所需的 MoCo 伪代码。关于目今的 mini-batch,研讨者编码了盘诘以及对应的键,这些盘诘和键变成了正样本对。负样本对则来自部队(queue)。

和标准 ResNet 上相同,研讨者采用的编码器 f_q 和 f_k 都举行了批归一化(BN)。实行中,他们发明运用批归一化也可以阻直ィ型进修好的外征。模子仿佛可以「诈骗」pretext 义务,并可以很容易地找到低耗损的办理方案。这大约是因为样本中的批内部的通信(由批归一化导致)走漏了新闻。

研讨者通过打乱批归一化序次的方法来办理上述题目。他们应用众个 GPU 睁开教练,并区分针对每个 GPU 样本上施行批归一化(这是一种常规做法)。关于键编码器 f_k,研讨者对目今 mini-batch 中的样本序次(sample order)举行打乱,然后才将它分派给对应的 GPU(并编码完毕后从头打乱);与此同时,关于盘诘编码器 f_q 而言,mini-batch 的样本序次没有改动。这就确保用于盘算盘诘及对应的正样本键的批统计值出自两个差别的子集。如许一来,上述模子「诈骗」pretext 义务的题目可以取得有用地办理,教练也可以获益批归一化

如上图 2(a)所示,研讨者本人提出的 MoCo 和 end-to-end 方法中对批归一化举行了打乱;与此同时,如图 2(b)所示,他们没有 memory bank 方法中接纳如许的方法,这是因为 memory back 中的正样本键出自和之前的差别 mini-batch,以是不保管上述「诈骗」题目。

实行修立和结果

数据集和实行修立


研讨者以下数据集上举行了无监视教练。

ImageNet-1M (IN-1M):这是一个 ImageNet 上的教练集,也被称作 ImageNet-1K,有 128 万张图像,分成 1000 个类。当然,因为是无监视进修,研讨者不体恤分类新闻。这个数据集种别分布上十分均衡,其图像中一般有一个标记性的主要目标。

Instagram-1B (IG-1B):这是一个有着近 10 亿图像的公然图像数据集,来自 Instagram。这些图像有 1500 个和 ImageNet 分类相关的标签。这一数据集比较 ImageNet 是更无标注的,有着长尾、不屈衡的数据分布。这一数据汇合的图像可以有主要目标,也可以只是景色照那样没有主要目标的图像。

教练方法上,研讨者运用了 SGD 举措优化器,权重下降值设为 0.0001,动量则设为 0.9。 (IN-1M)数据集上,批大小为 256,运用 8 个 GPU 教练,初始进修率是 0.03。研讨者教练了 200 个 epoch,并 120 和 160 个 epoch 的时分,将进修率乘以 0.1。这一教练运用的是 ResNet-50 收集,用了 72 小时。

关于 IG-1B,研讨者运用了 1024 的批大小和 64 个 GPU 举行教练。进修率为 0.12,并每 62.5k 次迭代后就衰减 0.9。这个实行上研讨者教练了 1.25M 次(大约 1.4 个 epoch)。运用的仍然是 ResNet-50,花了 6 天时间。

结果

图 3:MoCo、end-to-end 和 memory bank 三种差别比照耗损机制 ImageNet 线性分类评判标准下的比照结果。


外 1: ImageNet 数据集上,MoCo 与其他方法线性分类评判标准下的比照结果。

外 2: PASCAL VOC trainval07+12 上微调的目标检测结果。

外 3:MoCo 与 end-to-end、memory bank PASCAL VOC 目标检测上的比照。

外 4:MoCo 与先前线法针对 PASCAL VOC trainval2007 上微调的目标检测的结果比照。

外 5: COCO 上微调的目标检测和实例支解结果:边境框 AP(AP^bb)和掩码 AP(AP^mk) val2017 上举行评估。
外 6:种种义务上微调时 MoCo 和 ImageNet 有监视预教练的比照结果。
表面Facebook何恺明
81
相关数据
何恺明人物

Facebook AI Research研讨科学家。Residual Net提出者。

盘算机视觉技能

盘算机视觉(CV)是指板滞感知状况的才能。这一技能种别中的经典义务有图像变成、图像处理、图像提取和图像的三维推理。目标识别和面部识别也是很主要的研讨范畴。

批归一化技能

批归一化(Batch Normalization,BN)由谷歌于2015年提出,是一个深度神经收集教练的本领,它不光可以加速模子的收敛速率,槐ボ必定程度上缓解深层收集中的“梯度弥散”题目,从而使得教练深层收集模子更加容易和稳定。目前BN曾经成为确实所有卷积神经收集的标配本领了。葱≈面意义看来Batch Normalization(简称BN)便是对每一批数据举行归一化。

目标检测技能

一般目标检测(generic object detection)的目标是依据大宗预订义的种别自然图像中确定目标实例的位置,这是盘算机视觉范畴最基本和最有挑衅性的题目之一。近些年兴起的深度进修技能是一种可从数据中直接进修特征外示的强大方法,并曾经为一般目标检测范畴带来了分明的打破性希望。

引荐作品
牛逼