推广网站挣钱,推广公司的套路,做内贸的网站,深圳手机网站模板文 | jxyxiangyu编 | 小轶对比学习是 2021 年几大研究热点之一了。如果说预训练模型解决了机器学习对大规模标注数据的需求问题#xff0c;那么#xff0c;对比学习可以说是将无监督/自监督学习推广到更一般的应用场景#xff0c;为苦于标注数据不多的炼丹师们又带来了福音。… 文 | jxyxiangyu编 | 小轶对比学习是 2021 年几大研究热点之一了。如果说预训练模型解决了机器学习对大规模标注数据的需求问题那么对比学习可以说是将无监督/自监督学习推广到更一般的应用场景为苦于标注数据不多的炼丹师们又带来了福音。一般来说对比学习的重点在于使同类样本的特征表示尽可能接近而异类样本的特征表示之间的距离尽可能变大。在实际应用场景下正样本数量通常小于负样本的数量。在对比学习的工作中提出的也多是正样本的增强操作。比如在 SimCSE 中就是对样本原本的特征表示 dropout 操作获取增强的正样本。而对比学习中的负样本则往往直接使用数据集中的其他样本或者异类样本作为对比学习的负样本。▲无监督 SimCSE 中的正负样本如果我们将对比学习应用到负样本对上又会产生怎样的火花呢最近Maryland大学和谷歌联合研究了对比学习在负样本对上的应用下面让我们一起来看看吧论文题目: Robust Contrastive Learning Using Negative Samples with Diminished Semantics论文链接: https://arxiv.org/pdf/2110.14189.pdf对比学习在解读今天这篇论文之前先简单介绍下对比学习。为解决标注数据不足的问题对比学习提供了这样一种思路分别构造相似样本对正样本对和不相似样本对负样本对并通过区分正样本对和负样本对来达到训练模型的目的。训练期间模型会缩短正样本对之间的距离而拉大负样本对的距离。▲打住达咩一些研究表明基于CNN的模型会过多地关注数据的低级特征比如图片的局部 patch、纹理、甚至是人为添加的后期特征换言之就是模型找到了某些可以提升效果的 shortcut。这些特征的微小变动可能会直接改变模型最终的预测。而站在人类视角来看人们多是通过物体的形状这种更高级的特征来识别和区分物体的。谷歌最近就提出了一种方法可以通过增强弱语义负样本大大提升模型对比学习的鲁棒性。弱语义负样本传统的对比学习只是粗暴地将正负样本对区分开实验证明这种方法构造的负样本对会驱使模型过度地依赖数据的底层特征而忽略了底层特征组合产生的高级语义毕竟当我们在观看一张狗的图片的时候更多地关注的是狗的外形、毛发而不是其中几个patch反映出来的颜色和质感。弱语义负样本的对比学习文章的作者针对目前对比学习存在的问题提出了用弱语义负样本的对比学习。给定编码模型 和图片 模型的输出为 原始样本(query sample)记作 相应的模型输出为 。传统的对比学习是从同一个原始样本 通过保留语义信息的数据增强方法得到正样本 而负样本的生成方式并不固定以 为例该方法是从当前 batch 的其他样本中选择得到负样本 正负样本的模型输出特征分别是 、。为了减少模型对底层特征的依赖作者引入了弱语义负样本 其模型输出特征为 。顾名思义弱语义负样本指的是在输入样本中我们不希望模型学到底层非语义的低级特征。作者还给出了带噪对比估计损失函数(noise-contrastive estimation, NCE)402 Payment Required其中是超参是调节弱语义负样本比例的缩放因子考虑到某些对比学习方法在loss函数设计上仅考虑了原始样本和正样本的相似度类似的作者也给出了相应的带弱语义负样本的loss函数:通过最小化 或 模型可以学习到正样本中含有的但弱语义负样本中没有的高级语义特征。那么我们应该怎样构建弱语义的负样本呢作者给出了两种构造方案基于纹理的负样本生成方法和基于patch的负样本生成方法下图展示了这两种方法生成的负样本。▲弱语义负样本生成方法基于纹理的负样本生成为了生成的弱语义负样本可以很好地表示图片中诸如纹理的局部低级特征作者首先从输入图片(query sample)采样出两个patch一个patch取自图片的中心位置表示图片中目标的局部特征另一个patch取自图片中的随机位置表示图片中其余的纹理特征譬如目标对象的背景、轮廓等。具体地实验中在图片大小允许的前提下作者提取的是大小的patch否则提取大小的patch之后用现有的纹理合成工具根据采样的两个patch生成大小的纹理图片为 ImageNet 数据集中的每个样本重复上述操作可以得到 ImageNet-Texture 纹理数据集。基于patch的负样本生成给定图片和采样的patch大小从图片的个非重叠的随机位置中采样大小为的patch之后将这些patch平铺并裁剪成的样本。与基于纹理的负样本生成方法相比基于patch的方法运算速度快耗时短另外基于patch的方法可以做到在每次迭代训练时采用不同的patch对生成负样本与基于纹理的方法相比更具有随机性。当然这并不意味着基于patch的方法是完美的如上图(e)所示基于patch的方法会人为的引入一些分界线这些分界线是由于patch间像素变化剧烈导致的为缓解这一问题作者先从先验分布中采样出patch大小然后再基于此生成负样本以期望模型可以学到不同尺度下的纹理特征。两种负样本生成方法的区别介绍完上面两种方法相必会有小伙伴有疑问既然两种方法都可以生成弱语义负样本那么它们之间有什么区别呢作者使用官方给定的 MoCo-v2 模型在 ImageNet-1K 数据集上预训练200轮得到的模型计算 ImageNet 训练集不同样本对之间的余弦相似度相似度分布如下所示▲弱语义负样本生成方法对比可以看到大部分正样本对和负样本对的相似度都接近1和0平均相似度分别为0.94257和0.00018而基于纹理和基于patch方法生成的负样本对其相似度分布并没有像前两者那么集中于某个点而是分布在0~1之间用作者的话来说呈现出“heavy tail”的分布平均相似度分别为0.35248和0.29503。实验作者在 ImageNet 和 ImageNet-100 数据集上分别用两种对比学习模型 MoCo 和 BYOL 对上述两种生成方法生成的弱语义负样本做了实验用在域外数据集out-of-domain, OOD包括ImageNet-C(orruption)、ImageNet-S(ketch)、Stylized-ImageNet和ImageNet-R(endition)上的准确度(accuracy)作为评估模型在领域偏移(domain shift)的鲁棒性。基于patch的负样本生成方法中patch大小服从的均匀分布。实验结果如下▲弱语义负样本实验结果1可以看到在 MoCo-v2 模型上无论是基于纹理还是基于patch的弱语义负样本生成方法都可以提升在域外数据集上的泛化性。在域内数据集(ImageNet)上当超参选择合适()时基于patch的方法也能带来准确率的提升。此外基于纹理的方法带来的性能提升不如基于patch的方法的明显可能的原因也在前面做弱语义负样本相似度对比了相应的分析。▲弱语义负样本相似度对比和图2类似作者给出了是否使用基于patch的方法生成的负样本参与模型训练的样本相似度分布情况。蓝色曲线表示的是没有使用弱语义负样本训练的结果红色和绿色曲线表示的是使用不同的下弱语义负样本训练的结果。可以看到在模型训练过程中加入弱语义负样本可以降低原始样本和弱语义样本的相似度说明模型降低了对底层特征的依赖学到了更多高级语义特征此外随着的增大无论是基于纹理还是基于patch生成的弱语义负样本两者的平均相似度也随之降低但整体来看基于patch的方法降低程度更为明显。众所周知基于负样本的对比学习方法存在对负样本的挖掘效率低下的问题前人多使用大 batch size 或 memory bank 来解决这一问题。作者分别在 STL-10 和 ImageNet-100 数据集上研究了弱语义负样本是否可以缓解这一问题。实验结果如下所示▲弱语义负样本实验结果2可以看到无论 memory bank 大小如何改变基于patch生成的弱语义负样本训练的模型都有较好的准确率证明了弱语义负样本可以有效缓解上述问题。作者还研究了损失函数中对平衡高级语义和底层纹理特征的影响在 ImageNet-100 数据集上分别用不同的训练 MoCo-v2 模型实验结果如下其中图 c 展示的是在 ImageNet 验证集和 ImageNet-Sketch 数据集上不同的值对准确率的影响▲弱语义负样本实验结果3可以看到控制着模型中关于纹理底层特征和形状高级语义的权重比例随着的增大损失函数加大了对原始样本和弱语义负样本的相似度的惩罚模型会学到更多的语义信息相应地模型的预测准确率也与没有使用弱语义负样本相比有所提高。关于形状-纹理的初步讨论表明人类更多地依赖于形状特征而CNN更多地依赖于纹理特征增加形状这种高级语义信息可以提高模型的准确性和鲁棒性然而增大形状并不总是能够提升模型的鲁棒性。因此作者从不同的分类粒度的角度研究了ImageNet数据集中狗的图片粗粒度和细粒度下的准确率图 d 对于粗粒度分类只关注图像是否为狗类而不关心具体是哪个种类的狗而对于细粒度分类而言只有预测为目标种类的狗的样本才被视为预测正确。从图 d 可以看到随着形状特征的增加细粒度预测准确率出现更为明显的下降趋势因此像 ImageNet 这种细粒度分类的数据集而言偏好纹理这种底层特征的模型能够有较高的准确度。在论文附录中作者也展示出了仅靠几个纹理特征就可以实现模型较高的准确度。总结作者提出了用负样本丢弃掉模型不需要学习的特征从而提高对比学习模型的泛化性的思路和方法也为因为对比学习的火热就无脑对比学习的炼丹师们比如我╮(╯▽╰)╭给予了告诫在模型训练之前需要想清楚我们希望模型学到哪些特征。除此之外作者只在cv领域作了相关研究而这些研究成果是否可以推广到其他领域比如nlp呢仔细想想这岂不又是一个水论文(bushi)的方向了吗▲狂喜萌屋作者jxyxiangyu人工智障、bug制造者、平平无奇的独臂侠、在某厂工作的初级程序员从事对话交互方向坚持每天写一点bug时常徘徊在人工智能统治未来和if-else才是真正的AI的虚拟和现实之间希望有朝一日学术界的研究成果可以真正在工业界实现落地。作品推荐谁说发 paper 一定要追快打新2021年研究 word2vec 也能中顶会一训练就显存爆炸Facebook 推出 8 比特优化器两行代码拯救你的显存后台回复关键词【入群】加入卖萌屋NLP/IR/Rec与求职讨论群后台回复关键词【顶会】获取ACL、CIKM等各大顶会论文集 [1] 对比学习Contrastive Learning在CV与NLP领域中的研究进展https://zhuanlan.zhihu.com/p/389064413