再介绍一篇最新的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.结论**


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


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


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


  • 如何选择学习架构


  • 如何在下游任务上优化


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


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


相关文章
|
机器学习/深度学习 搜索推荐 算法
Learning Disentangled Representations for Recommendation | NIPS 2019 论文解读
近年来随着深度学习的发展,推荐系统大量使用用户行为数据来构建用户/商品表征,并以此来构建召回、排序、重排等推荐系统中的标准模块。普通算法得到的用户商品表征本身,并不具备可解释性,而往往只能提供用户-商品之间的attention分作为商品粒度的用户兴趣。我们在这篇文章中,想仅通过用户行为,学习到本身就具备一定可解释性的解离化的用户商品表征,并试图利用这样的商品表征完成单语义可控的推荐任务。
23833 0
Learning Disentangled Representations for Recommendation | NIPS 2019 论文解读
|
3月前
|
机器学习/深度学习 算法
【博士每天一篇文献-综述】A wholistic view of continual learning with deep neural networks Forgotten
本文提出了一个整合持续学习、主动学习(active learning)和开放集识别(open set recognition)的统一框架,基于极端值理论(Extreme Value Theory, EVT)的元识别方法,强调了在深度学习时代经常被忽视的从开放集识别中学习识别未知样本的教训和主动学习中的数据查询策略,通过实证研究展示了这种整合方法在减轻灾难性遗忘、数据查询、任务顺序选择以及开放世界应用中的鲁棒性方面的联合改进。
31 6
|
3月前
|
机器学习/深度学习 存储 人工智能
【博士每天一篇文献-算法】改进的PNN架构Progressive learning A deep learning framework for continual learning
本文提出了一种名为“Progressive learning”的深度学习框架,通过结合课程选择、渐进式模型容量增长和剪枝机制来解决持续学习问题,有效避免了灾难性遗忘并提高了学习效率。
60 4
|
3月前
|
机器学习/深度学习 存储 算法
【博士每天一篇文献-综述】Continual lifelong learning with neural networks_ A review
这篇综述论文深入探讨了神经网络在终身学习领域的研究进展,包括生物学启发的概念、终身学习方法的分类与评估,以及未来研究方向,旨在解决神经网络在学习新任务时如何避免灾难性遗忘的问题。
39 2
|
机器学习/深度学习 算法 TensorFlow
监督学习(Supervised Learning)
监督学习(Supervised Learning)是机器学习的一种主要方法,用于从标记的训练数据中学习预测模型或者决策函数。在监督学习中,我们有一组输入特征和相应的标签,目标是根据输入特征预测或分类新的未标记数据。
197 1
|
机器学习/深度学习 Web App开发 算法
强化学习(Reinforcement Learning)
强化学习(Reinforcement Learning)是机器学习的一个分支,旨在让智能体(agent)通过与环境的交互学习如何做出决策以最大化累积奖励。在强化学习中,智能体通过试错的方式与环境进行交互,并根据环境的反馈(奖励或惩罚)调整自己的行为。
181 2
|
自然语言处理 搜索推荐 计算机视觉
推荐系统中不得不学的对比学习(Contrastive Learning)方法(三)
推荐系统中不得不学的对比学习(Contrastive Learning)方法(三)
488 0
推荐系统中不得不学的对比学习(Contrastive Learning)方法(三)
|
机器学习/深度学习 存储 编解码
深度学习论文阅读图像分类篇(一):AlexNet《ImageNet Classification with Deep Convolutional Neural Networks》
 我们训练了一个大型深度卷积神经网络来将 ImageNet LSVRC2010 竞赛的 120 万高分辨率的图像分到 1000 不同的类别中。在测试数据上,我们得到了 top-1 37.5%和 top-5 17.0%的错误率,这个结果比目前的最好结果好很多。
483 0
|
机器学习/深度学习 存储 传感器
Unsupervised Learning | 对比学习——13篇论文综述
Unsupervised Learning | 对比学习——13篇论文综述
1998 0
Unsupervised Learning | 对比学习——13篇论文综述
|
机器学习/深度学习 自然语言处理 数据挖掘
Unsupervised Learning | 对比学习——MoCo
Unsupervised Learning | 对比学习——MoCo
727 0
Unsupervised Learning | 对比学习——MoCo