再介绍一篇最新的Contrastive Self-supervised Learning综述论文(三)

简介: 再介绍一篇最新的Contrastive Self-supervised Learning综述论文(三)

使用 Momentum Encoder



为了解决 memory bank 的缺点,momentum encoder [14] 被提了出来。这种机制创建了一种特殊的字典,它把字典当作一个队列的keys,当前的batch进入队列,最老的batch退出队列。


Momentum encoder 共享了encoder Q的参数。它不会在每次反向传播后更新,而是依据query encoder的参数来更新:

θ k ← m θ k + ( 1 − m ) θ q \theta_k \leftarrow m\theta_k + (1-m)\theta_


a083d29577bb7e70ed34078df1ff04e9.png


特征表示聚类 Clustering Feature Representation


上面介绍的三种架构都是用某种相似度衡量来对比样本,使得相似样本相近,不相似样本变远,从而学习到好的表示。


本节介绍的机制使用两个共享参数的端到端架构,这种架构使用聚类算法来聚类相似样本表示。


387a026de5eeadec24f02c7aa218ae33.png


图十四:传统对比样本学习 vs 对比聚类学习


SwAV [13] 使用了聚类方法。其背后的idea在于,在一个嵌入空间中,猫的样本们应该和狗的样本们相近(都是动物),而与房子的样本们相远。


在基于样本的学习中,每个样本被当作一个数据集中的离散类。


离散类在连续的嵌入空间中(相似的样本表示相近)可能会有问题。


例如在一个batch里,正样本是猫,负样本们中也有猫,模型会让正样本的猫和负样本中的猫变远,不利于表示学习。


4.Encoders



在自监督学习中,Encoder非常重要,因为它们把数据样本遍历到隐空间中。


e116380bed7920d61065dd43d24c19bd.png


图十五:训练一个Encoder,然后迁移学习到下游任务


没有一个强大的encoder的话,模型可能难以学到有效的表示,从而执行分类任务。对比学习中的大多数模型都采用了ResNet或其变种。


5.训练



为了训练一个encoder,需要一个前置任务来利用对比损失来进行反向传播。


对比学习最核心的观点是将相似样本靠近,不相似样本靠远。


所以需要一个相似度衡量指标来衡量两个表示的相近程度。


在对比学习中,最常用的指标是cosine similarity。


94b21d0c745db6bb7975391a18c17d7f.png


Noise Contrastive Estimation (NCE) [38] 函数定义为:


32c3980772a739d8ac9641dd77226f0f.png


如果负样本的数量很多,NCE的一个变种 InfoNCE 定义为:


f2ab33c7a0b2aa0530441e1fb93fec5c.png


与其他深度学习模型类似,对比学习应用了许多训练优化算法。训练的过程包括最小化损失函数来学习模型的参数。


常见的优化算法包括 SGD 和 Adam 等。


训练大的 batch 的网络有时需要特殊设计的优化算法,例如 LARS。


6.下游任务



644d68be95ffc8786039abd0daa24c65.png


图十六:计算机视觉中的各种下游任务


一般来说,计算机视觉的自监督训练包括两个任务:


  • 前置任务


  • 下游任务


下游任务聚焦于具体的应用,在优化下游任务的时候,模型利用到了前置任务优化时期所学到的知识。这些任务可以是分类、检测、分割、预测等。图十七提供了一个迁移学习的流程。


bfcd060e77d27da42b6d9d2a1f0ab69a.png


图十七:计算机视觉中的下游任务


为了测试自监督学习中学习到的特征对下游任务的效果,一些方法,例如


  • kernel visualization


  • feature map visualization


  • nearsest-neighbor based approaches


被用来分析前置任务的有效性。


对 Kernels 和 特征图进行可视化



在这里,第一个卷积层的特征的kernels(分别来自于自监督训练和监督训练)被用来做比较。


类似地,不同层的 attention maps 也可以被用来测试模型的有效性。


2216480a96cb7863c022a62608c36558.png


图十八:AlexNet所训练的 attention map


最近相邻撷取



一般来说,相同类的样本在隐藏空间中的位置应该相近。对一个输入的样本,使用最近相邻方法,可以在数据集中使用 top-K 抽取来分析自监督学习的模型是否有效。


**7.基准**


最近,许多自监督学习模型挑战了监督模型的效果。在本章中,我们收集和对比了这些模型的效果,在下游任务上。对于图像分类,我们选择了ImageNet和Places数据集。类似的,对于目标检测,我们选择了Pascal VOC数据集。行为识别和视频分类我们选择了UCF-101,HMDB-51和Kinetics。


f2575244e9d6cf7fa72e4af14579756e.png50c44161f0190a2dd101fc3adc85090f.png


**8.结论**


这篇论文总结了各种流行的自监督对比模型。


我们解释了对比学习中不同的模块:


  • 如何选择正确的前置任务


  • 如何选择学习架构


  • 如何在下游任务上优化


基于对比学习的模型获得了非常好的实验效果。


本文最后总结了当前对比学习面临的问题。


相关文章
|
3月前
|
机器学习/深度学习 自然语言处理 语音技术
什么是 Supervised learning(监督学习)
什么是 Supervised learning(监督学习)
45 0
|
机器学习/深度学习 搜索推荐 算法
Learning Disentangled Representations for Recommendation | NIPS 2019 论文解读
近年来随着深度学习的发展,推荐系统大量使用用户行为数据来构建用户/商品表征,并以此来构建召回、排序、重排等推荐系统中的标准模块。普通算法得到的用户商品表征本身,并不具备可解释性,而往往只能提供用户-商品之间的attention分作为商品粒度的用户兴趣。我们在这篇文章中,想仅通过用户行为,学习到本身就具备一定可解释性的解离化的用户商品表征,并试图利用这样的商品表征完成单语义可控的推荐任务。
23691 0
Learning Disentangled Representations for Recommendation | NIPS 2019 论文解读
|
9月前
|
机器学习/深度学习 算法 TensorFlow
监督学习(Supervised Learning)
监督学习(Supervised Learning)是机器学习的一种主要方法,用于从标记的训练数据中学习预测模型或者决策函数。在监督学习中,我们有一组输入特征和相应的标签,目标是根据输入特征预测或分类新的未标记数据。
127 1
|
9月前
|
机器学习/深度学习 Web App开发 算法
强化学习(Reinforcement Learning)
强化学习(Reinforcement Learning)是机器学习的一个分支,旨在让智能体(agent)通过与环境的交互学习如何做出决策以最大化累积奖励。在强化学习中,智能体通过试错的方式与环境进行交互,并根据环境的反馈(奖励或惩罚)调整自己的行为。
132 2
|
12月前
|
机器学习/深度学习 人工智能 自然语言处理
Unsupervised NMT、PBSMT、coarse-to-fine...你都掌握了吗?一文总结机器翻译必备经典模型(3)
Unsupervised NMT、PBSMT、coarse-to-fine...你都掌握了吗?一文总结机器翻译必备经典模型
143 0
|
12月前
|
机器学习/深度学习 自然语言处理
Unsupervised NMT、PBSMT、coarse-to-fine...你都掌握了吗?一文总结机器翻译必备经典模型(2)
Unsupervised NMT、PBSMT、coarse-to-fine...你都掌握了吗?一文总结机器翻译必备经典模型
106 0
|
12月前
|
机器学习/深度学习 自然语言处理 算法
Unsupervised NMT、PBSMT、coarse-to-fine...你都掌握了吗?一文总结机器翻译必备经典模型(1)
Unsupervised NMT、PBSMT、coarse-to-fine...你都掌握了吗?一文总结机器翻译必备经典模型
|
12月前
|
机器学习/深度学习 存储 编解码
深度学习论文阅读图像分类篇(一):AlexNet《ImageNet Classification with Deep Convolutional Neural Networks》
 我们训练了一个大型深度卷积神经网络来将 ImageNet LSVRC2010 竞赛的 120 万高分辨率的图像分到 1000 不同的类别中。在测试数据上,我们得到了 top-1 37.5%和 top-5 17.0%的错误率,这个结果比目前的最好结果好很多。
232 0
|
12月前
|
机器学习/深度学习 数据可视化 算法
深度学习论文阅读图像分类篇(二):ZFNet《Visualizing and Understanding Convolutional Networks》
大型卷积网络模型最近在ImageNet基准测试Krizhevsky等[18]上表现出了令人印象深刻的分类性能。然而,人们还没有明确的理解他们为什么表现如此之好,或者如何改进它们。在本文中,我们将探讨这两个问题。我们介绍了一种新的可视化技术,可以深入了解中间特征层的功能和分类器的操作。
70 0
|
机器学习/深度学习 存储 传感器
Unsupervised Learning | 对比学习——13篇论文综述
Unsupervised Learning | 对比学习——13篇论文综述
1533 0
Unsupervised Learning | 对比学习——13篇论文综述