在没有人类监督的情况下学习有效的视觉表现是一个长期存在的问题。大多数主流方法可以分为两类:生成式或鉴别式。生成式方法学习在输入空间中生成或以其他方式建模像素(Hinton等人,2006;金玛和韦林,2013;Goodfellow等人,2014)。然而,像素级生成在计算上是昂贵的,对于表示学习可能不是必需的。判别方法使用类似于监督学习的目标函数学习表示,但训练网络执行借口任务,其中输入和标签都来自未标记的数据集。许多这样的方法依赖启发式来设计借口任务(Doersch等人,2015;Zhang et al, 2016;Noroozi & Favaro, 2016;Gidaris等人,2018),这可能会限制习得表征的普遍性。在潜在空间中基于对比学习的判别方法最近显示出了巨大的前景,取得了最先进的结果(Hadsell等人,2006;Dosovitskiy等人,2014;Oord等人,2018;巴赫曼等人,2019)。
在这项工作中,我们介绍了一个简单的视觉表征对比学习框架,我们称之为SimCLR。SimCLR不仅优于以前的工作(图1),而且它也更简单,不需要专门的架构(Bachman等人,2019;Hénaff等人,2019)也没有记忆库(Wu等人,2018;田等,2019;He et al, 2019;Misra & van der Maaten, 2019)。
一个随机数据增强模块,它随机转换任何给定的数据示例,导致相同示例的两个相关视图,表示为
x
~
i
{\tilde x_i}
x~i和
x
~
j
{\tilde x_j}
x~j,我们将其视为正对。在这项工作中,我们依次应用三种简单的增强:随机裁剪,然后将大小调整回原始大小,随机颜色失真和随机高斯模糊。如第3节所示,随机裁剪和颜色失真的结合是实现良好性能的关键。
从增强数据示例中提取表示向量的神经网络基编码器f(·)。我们的框架允许在没有任何限制的情况下对网络架构进行各种选择。为了简单,我们选择采用常用的ResNet(He et al., 2016)来获得
h
i
=
f
(
x
~
i
)
=
R
e
s
N
e
t
(
x
~
i
)
h_i = f({\tilde x_i}) =ResNet({\tilde x_i})
hi=f(x~i)=ResNet(x~i),其中
h
i
∈
R
d
h_i∈R^d
hi∈Rd是平均池化层后的输出。
一个小型神经网络投影头g(·),将表示映射到应用对比损失的空间。我们使用一个隐层MLP,得到
z
i
=
g
(
h
i
)
=
W
(
2
)
σ
(
W
(
1
)
h
i
)
z_i = g(h_i) = W^{(2)}σ(W^{(1)}h_i)
zi=g(hi)=W(2)σ(W(1)hi),其中
σ
σ
σ是一个ReLU非线性。如第4节所示,我们发现在
z
i
z_i
zi上而不是
h
i
h_i
hi上定义对比损失是有益的。
为比较预测任务定义的比较损失函数。给定一组
{
x
~
k
}
\{ \tilde x_k \}
{x~k},包括一对正面的示例
x
~
i
{\tilde x_i}
x~i和
x
~
j
{\tilde x_j}
x~j,对比预测任务旨在为给定的
x
~
i
{\tilde x_i}
x~i识别
{
x
~
k
}
k
≠
i
\{ \tilde x_k \}_{k \ne i}
{x~k}k=i中的
x
~
j
{\tilde x_j}
x~j。
我们随机抽取一个包含
N
N
N个样本的小批量,并在从小批量中导出的增强样本对上定义对比预测任务,得到
2
N
2N
2N个数据点。我们没有明确地抽取反面例子。相反,给定一个正对,类似于(Chen et al, 2017),我们将小批内的其他
2
(
N
−
1
)
2(N−1)
2(N−1)个增宽示例视为负示例。设
s
i
m
(
u
,
v
)
=
u
T
v
∥
u
∥
∥
v
∥
sim\left( {u,v} \right) = \frac{{{u^T}v}}{{\left\| u \right\|\left\| v \right\|}}
sim(u,v)=∥u∥∥v∥uTv表示
l
2
l_2
l2归一化
u
u
u与
v
v
v之间的点积(即余弦相似度)。则正对样本
(
i
,
j
)
(i, j)
(i,j)的损失函数定义为:
其中
1
k
≠
i
∈
{
0
,
1
}
{{1_{k \ne i}}}∈\{0,1\}
1k=i∈{0,1}是在
k
≠
i
k \ne i
k=i时求值为1的指标函数,
τ
τ
τ表示温度参数。在一个小批中,计算所有正对(i, j)和(j, i)的最终损失。这种损失已经在以前的工作中使用(Sohn, 2016;Wu等,2018;Oord等人,2018);为方便起见,我们称之为NT-Xent(标准化温度缩放交叉熵损失)。
大批量培训
为了保持简单,我们没有使用记忆库来训练模型(Wu等人,2018;He et al, 2019)。相反,我们将训练批大小N从256改变为8192。批次大小为8192,从两个增强视图来看,每对正对给出16382个负示例。当使用标准SGD/Momentum和线性学习率缩放时,大批量的训练可能不稳定(Goyal等人,2017)。为了稳定训练,我们对所有批量大小使用LARS优化器(Y ou et al, 2017)。我们用云tpu训练我们的模型,根据批处理大小使用32到128个核。
Global BN。标准ResNets使用批量归一化(Ioffe & Szegedy, 2015)。在具有数据并行性的分布式训练中,BN平均值和方差通常在每个设备上本地聚合。在我们的对比学习中,由于正对是在同一设备中计算的,模型可以利用局部信息泄漏来提高预测精度,而不需要改进表示。我们通过在训练期间聚合所有设备上的BN平均值和方差来解决这个问题。其他方法包括跨设备变换数据示例(He等人,2019),或用层范数替换BN (Hénaff等人,2019)。
评估协议
在这里,我们为我们的实证研究制定了协议,旨在了解我们框架中的不同设计选择。
数据集和度量。我们对无监督预训练(无标签学习编码器网络
f
f
f)的大部分研究都是使用ImageNet ILSVRC-2012数据集完成的(Russakovsky et al, 2015)。关于CIFAR-10的一些额外的预训练实验(Krizhevsky & Hinton, 2009)可以在附录B.9中找到。我们还在广泛的迁移学习数据集上测试预训练的结果。为了评估学习到的表示,我们遵循广泛使用的线性评估协议(Zhang et al, 2016;Oord等人,2018;巴赫曼等人,2019;Kolesnikov等人,2019),其中线性分类器在冻结的基网络上训练,测试精度被用作表示质量的代理。除了线性评估,我们还比较了半监督和迁移学习的最先进技术。
数据增强定义了预测性任务。虽然数据增强已广泛应用于有监督和无监督表示学习(Krizhevsky et al,2012;Hénaff等,2019;Bachman et al, 2019),它还没有被认为是一种系统的方式来定义对比预测任务。许多现有的方法通过改变架构来定义对比预测任务。例如,Hjelm等人(2018);Bachman等人(2019)通过约束网络架构中的接受场来实现全局到局部的视图预测,而Oord等人(2018);Hénaff等人(2019)通过固定的图像分割过程和上下文聚合网络实现了邻近视图预测。我们证明,可以通过对目标图像执行简单的随机裁剪(调整大小)来避免这种复杂性,这创建了包含上述两个任务的一系列预测任务,如图3所示。这种简单的设计选择方便地将预测任务与其他组件(如神经网络架构)分离开来。更广泛的对比预测任务可以通过扩展增强族并随机组合它们来定义。
图7显示,增加深度和宽度都可以提高性能,这也许并不令人意外。虽然类似的发现也适用于监督学习(He et al, 2016),但我们发现监督模型和在无监督模型上训练的线性分类器之间的差距随着模型规模的增加而缩小,这表明无监督学习从更大的模型中受益比有监督的模型更多。
非线性投影头改善了它前面的层的表示质量
然后我们研究了包含投影头的重要性,即g(h)。图8显示了使用三种不同架构的头部线性评估结果:(1)身份映射;(2)线性投影,如之前几种方法所使用的(Wu et al, 2018);(3)默认的非线性投影,带有一个额外的隐藏层(和ReLU激活),类似于Bachman等人(2019)。我们观察到,非线性投影比线性投影好(+3%),比没有投影好得多(>10%)。当使用投影头时,无论输出尺寸如何,都可以观察到类似的结果。此外,即使使用非线性投影,投影头前的层h仍然比投影头后的层z = g(h)好得多(>10%),这表明投影头前的隐藏层比投影头后的层是更好的表示。
损失函数和批量大小
温度可调的归一化交叉熵损失比其他方法效果更好
我们将NT-Xent损失与其他常用的对比损失函数进行了比较,例如逻辑损失(Mikolov等,2013)和边际损失(Schroff等,2015)。表2给出了目标函数以及损失函数输入的梯度。观察梯度,我们观察到1)’2归一化(即余弦相似度)随着温度有效地加权不同的例子,合适的温度可以帮助模型从硬否定中学习;2)与交叉熵不同,其他目标函数不按其相对硬度来衡量负。因此,必须对这些损失函数应用半硬负挖掘(Schroff et al, 2015):可以使用半硬负项(即在损失边际内且距离最近,但比正示例更远的项)来计算梯度,而不是计算所有损失项的梯度。
线性评估。表6将我们的结果与之前的方法进行了比较(Zhuang等,2019;He et al, 2019;Misra & van der Maaten, 2019;Hénaff等,2019;科列斯尼科夫等人,2019;Donahue & Simonyan, 2019;巴赫曼等人,2019;Tian等人,2019)在线性评价设置(见附录B.6)。表1显示了不同方法之间更多的数值比较。与以前需要专门设计架构的方法相比,我们能够使用标准网络获得更好的结果。用我们的ResNet-50 (4×)获得的最佳结果可以与监督预训练的ResNet-50相匹配。
Semi-supervised学习。我们遵循Zhai等人(2019)的方法,以类平衡的方式采样1%或10%的标记ILSVRC-12训练数据集(每个类分别为12.8和128张图像)。我们只是简单地在没有正则化的标记数据上微调整个基础网络(见附录B.5)。表7显示了我们的结果与最近方法的比较(Zhai et al, 2019;谢等,2019;Sohn等人,2020;Wu等,2018;Donahue & Simonyan, 2019;Misra & van der Maaten, 2019;Hénaff等,2019)。由于对超参数(包括增强)的密集搜索,(Zhai等人,2019)的监督基线很强。同样,我们的方法在1%和10%的标签上都有了显著的改进。有趣的是,在完整的ImageNet上微调我们预训练的ResNet-50 (2×, 4×)也明显优于从头训练(高达2%,见附录B.2)
问题1:Failed to construct ‘WebSocket’: An insecure WebSocket connection may not be initiated from a page loaded over HTTPS.
问题描述
Mixed Content: The page at https://AAAAAA.com was loaded over HTTPS, but attempted to connect to the insecur…
漏洞描述
某些WSO2产品允许不受限制地上传文件,从而执行远程代码。以WSO2 API Manager 为例,它是一个完全开源的 API 管理平台。它支持API设计,API发布,生命周期管理,应用程序开发,API安全性,速…
A Review of Motion Planning Techniques for Automated Vehicles综述和分类0Motion Planning for Autonomous Driving with a Conformal Spatiotemporal Lattice从unstructured环境向structured环境的拓展,同时还从state lattice拓展到了spatiotemporal lattice从而…