Self-supervised Learning: Generative or Contrastive

(PS:图3.4比较不错)
((1)generative methods这类方法主要关注 pixel space 的重建误差,大多以 pixel label 的 loss 为主。主要是以 AutoEncoder 为代表,以及后面的变形,比如 VAE 等等。对编码器的基本要求就是尽可能保留原始数据的重要信息,所以如果能通过 decoder 解码回原始图片,则说明 latent code 重建的足够好了;
 
(2)Contrastive Methods这类方法并不要求模型能够重建原始输入,而是希望模型能够在特征空间上对不同的输入进行分辨。这类方法有如下的特点:a)在 feature space 上构建距离度量;b)通过特征不变性,可以得到多种预测结果;b) 使用 Siamese Network;d) 不需要 pixel-level 重建。正因为这类方法不用在 pixel-level 上进行重建,所以优化变得更加容易。当然这类方法也不是没有缺点,因为数据中并没有标签,所以主要的问题就是怎么取构造正样本和负样本。这类方法已经取得了很好的结果,在分类任上已经接近监督学习的效果,同时在一些检测、分割的下游任务上甚至超越了监督学习作为 pre-train的方法。
原文链接:https://blog.csdn.net/weixin_56516468/article/details/118120325
       自我监督表示学习利用输入数据本身作为监督,并有利于几乎所有类型的下游任务。根据其目的将其归纳为三大类:生成性、对比性和生成-对比性(对抗性)。
       然而,监督学习遇到了瓶颈。它严重依赖昂贵的人工标记,并遭受泛化错误,虚假的相关性和敌对攻击。我们期望神经网络用更少的标签、更少的样本和更少的尝试来学习更多。
        自监督学习的定义:结合自监督学习的传统定义和LeCun的定义,我们可以进一步将其特征概括为:通过使用“半自动”过程从数据本身获取“标签”;从其他部分预测部分数据。具体来说,“其他部分”可能不完整、被转换、被扭曲或被破坏(即数据扩充技术)。换句话说,机器学会“恢复”其原始输入的全部、部分或仅仅一些特征。
       人们经常混淆无监督学习和自我监督学习的概念。自监督学习可以被视为无监督学习的一个分支,因为它不涉及人工标记。然而,狭义地说, 无监督学习专注于检测特定的数据模式,如聚类、社区发现或异常检测, 而自监督学习旨在恢复,这仍处于监督设置的范式中。图1生动地解释了它们之间的区别。
       
       我们将自我监督学习模型分为生成型、对比型和生成-对比型(对抗型),每种模型都有特定的类型。我们展示了每个类别的优缺点。
       深度学习算法需要大量数据。与传统的基于特征的方法相比,深度学习通常遵循所谓的“端到端”方式(原始数据输入,预测输出)。简单的多层感知器具有非常差的泛化能力(总是假设分布外(OOD)样本的线性关系)[145],这导致过度自信(和错误)的预测。
       自监督学习成功的最关键的一点是,它找到了一种方法来 利用大数据时代变得可用的大量未标记数据。自监督学习的直觉是 利用数据固有的同现关系作为自我监督,这可能是多用途的。将主流的自监督学习分为三类:
       1. 生成:训练 编码器以将输入x编码成显式向量z,训练 解码器以从z重建x(例如,完形填空测试、图形生成)
生成→重构损失
       2. 对比:训练 编码器以将输入x编码成显式向量z以 测量相似性(例如,互信息最大化、实例辨别)
对比→对比损失
       3. 生成-对比(对抗):训练编码器解码器以 生成假样本,训练 鉴别器以将它们与真实样本区分开(例如,GAN)
它们的架构可以统一为两个通用组件:生成器和鉴别器,生成器可以进一步分解为编码器和解码器。
对抗-distributional divergence
       三个类别的 不同之处在于:
       1.对于隐分布z:在生成和对比方法中,z是显式的,并且经常被下游任务利用;而在GAN中,z是隐式建模的。
       2.对于鉴别器:生成方法没有鉴别器,而GAN和contrastive有鉴别器。对比鉴别器具有比GAN(例如,标准ResNet [53])相对更少的参数(例如,具有2-3层的多层感知器)。
       3.对于目标:生成方法使用重建损失,对比方法使用对比相似性度量(例如,InfoNCE),生成对比方法利用分布散度作为损失(例如,JS散度、Wasserstein距离)。
 
       对比学习被发现对几乎所有的视觉分类任务都是有用的。这可能是因为对比目标对不同图像实例之间的类别不变性进行建模。对比损失使得包含相同对象类别的图像更加相似。它使得那些包含不同类别的图像不那么相似,本质上符合下游的图像分类、目标检测等基于分类的任务。
       自我监督学习的艺术主要在于 为未标记的数据定义适当的目标
 
        1.生成自监督学习
       1.1 自回归AR模型:自回归模型也已用于计算机视觉,如PixelRNN [133]和PixelCNN [131]。总体思想是使用自回归方法来逐像素地对图像建模。对于2D图像,自回归模型只能根据特定方向(如向右和向下)分解概率。自回归模型的优点是它们可以很好地模拟上下文相关性。然而,缺点是每个位置的token只能从一个方向访问其上下文。
       1.2 基于流的模型:基于流动的模型的目标是从数据中估计复杂的高维密度p(x)。为了获得复杂的密度,我们希望通过堆叠一系列分别描述不同数据特征的变换函数来“逐步”生成它。优点是x和z之间的映射是可逆的。但是,它也要求x和z必须有相同的维数。
       1.3 自动编码模型:自动编码模型的目标是从(损坏的)输入中重建(部分)输入。由于其灵活性,AE模型可能是最受欢迎的生成模型,有许多变体。
               ·基础的AE模型:自动编码器(AE)在[9]中首次引入,用于预训练人工神经网络。在自动编码器之前,受限玻尔兹曼机(RBM) [117]也可以被看作是一种特殊的“自动编码器”。RBM是一个无向的图形模型,它只包含两层:可见层和隐藏层。RBM的目标是最小化模型的边际分布和数据分布之间的差异。相比之下,自动编码器可以被视为有向图形模型,可以被更有效地训练。 自动编码器通常用于降维。通常,自动编码器是一个前馈神经网络,被训练成在输出层产生其输入。 AE的目标是通过编码器和解码器的结构,使得输入和输出尽可能地接近
               ·上下文预测模型CPM(Context Prediction Model):基于输入来预测上下文信息,word embedding
               ·去噪AE模型:表征对于噪声的引入应该是鲁棒的。BERT的缺点是没有用于下游任务的输入[mask]标记。为了减轻这一点,作者并不总是在训练中用[MASK]替换预测的标记。而是用原词或者小概率随机词代替。与AR模型相比,在用于语言建模的去噪AE中,预测的标记可以从两侧访问上下文信息。
               ·variational AE 模型:变分自动编码模型假设数据是从潜在的(未观察到的)表示中产生的。
       1.4 混合生成模型
               ·结合AR和AE模型:
               结合AE和基于流的模型:
        优点:生成式自监督学习能够恢复原始数据分布,而无需对下游任务进行假设,这使得生成式模型能够在分类和生成方面得到广泛应用。值得注意的是,所有现有的生成任务(包括文本、图像和音频)都严重依赖于生成式自我监督学习。
        缺点:1.尽管它在生成任务中处于中心地位,但最近发现在一些分类场景中,生成性自我监督学习远不如对比性自我监督学习有竞争力,因为对比性学习的目标自然符合分类目标。包括MoCo [52]、SimCLR [19]、BYOL [47]和SwAV [18]在内的作品在各种CV基准测试中均有出色表现。然而,在自然语言处理领域,研究者仍然依赖生成语言模型来进行文本分类。
               2.生成性目标的逐点的本质有一些内在缺陷。 MLE有两个缺陷敏感和保守的分布,生成模型对稀有样本极其敏感。直接导致保守分布,性能低下; 低级抽象目标,在MLE中,逐点级别对表示分布进行建模,例如图像中的像素、文本中的单词和图形中的节点。然而,大多数分类任务都是针对高层次的抽象,例如对象检测、长段落理解和分子分类。
        生成-对比自监督学习 放弃了逐点目标。它转向分布式匹配目标,这些目标更健壮,更好地处理数据流形中的高级抽象挑战。
 
        2.对比自监督学习:
       给定输入X和目标Y的联合分布P (X,Y), 生成模型计算p(X|Y = y),而 判别模型试图模拟P(Y|X = x)。
       对比学习,NCE损失。当涉及更多的负样本时,InfoNCE损失。
       2.1  Context-instance 上下文实例对比,global-local全局-局部对比:集中于 建模样本的局部特征与其全局上下文/背景表示之间的隶属关系。当我们学习局部特征的表示时,我们希望它与全局内容的表示相关联,例如条纹与老虎、句子与段落、节点与它们的邻域。
               2.1.1 Prediction Relative Position 预测相对位置(PRP): 学习局部组成之间的相对位置,全局背景作为预测这些关系的隐式的要求。各种模型将识别其各部分之间的相对位置视为前置任务[63]。
               2.1.2 Maximum Mutual Information  最大化互信息(MI): 侧重于学习局部部分和全局上下文之间的  直接隶属关系。局部零件之间的相对位置被忽略。 互信息的目标是 模拟两个变量之间的关联,我们的目标是 最大化它
       2.2 Instance-Instance  实例-实例对比:[129]提供了经验证据,证明上述模型的成功更多的应该归功于编码器架构和与度量学习相关的负采样策略。度量学习中的一个重要焦点是执行hard positive 采样,同时提高负采样效率。他们可能在基于MI的模型的成功中扮演着更重要的角色。对于 大范围的分类任务,实例级表示比上下文级表示更重要。
               2.2.1 聚类判别:在监督学习中,在嵌入空间中拉近相似图像的过程是通过标签监督完成的;然而,在自我监督学习中,我们没有这样的标签。为了解决标签问题, 深度聚类[17]提出利用聚类来产生伪标签,并要求鉴别器预测图像的标签。
                        ·Local Aggregation :首先,在DeepCluster中,样本被分配到互斥的聚类中,但是LA为每个样本分别识别邻居;第二,DeepCluster优化交叉熵判别损失,而LA采用直接优化局部soft-clustering度量的目标函数。这两个变化极大地提高了LA表征在下游任务中的表现。
                        基于聚类判别 的对比学习 与后来  基于实例判别 的方法(包括CMC [126]、MoCo [52]和SimCLR [19])相比, 两阶段训练范式耗时且表现不佳。这些基于实例判别的方法摆脱了  缓慢的聚类阶段 ,并 引入了有效的数据增强(即多视图)策略来提高性能。
                       当模型规模较小时,SwAV优于基于实例判别的方法,并且计算效率更高。
 
               2.2.2  实例判别
                       基于InstDisc,CMC [126]提出采用一幅图像的多个不同视图作为正样本,另一幅作为负样本。
                       · MOCO:在MoCo [52]中,通过 动量对比利用实例辨别的想法,这大大 增加了负样本的数量。此外,MoCo提出了另外两个处理负采样效率的重要观点。
                                优点:①MoCo摒弃了传统的端到端训练框架。它设计了两个编码器(query和key)的动量对比学习,防止了初始阶段损失收敛的波动;②为了扩大负样本的容量,MoCo 使用一个队列(K高达65536)来保存最近编码的batches作为负样本。这显著 提高了负采样效率
                                缺点:MoCo采用了一种过于简单的正样本策略:一对正表征来自同一个样本,没有任何转换或增强,使得正样本对太容易区分。
                       · SimCLR[19]: 引入10种形式的 数据增强,进一步说明了hard positive样本策略的重要性。这种数据扩充类似于 CMC [126],其 利用几种不同的视图来扩充正对SimCLR遵循端到端的训练框架,而不是动量对比。SimCLR还提供了一些其他实用的技术,包括 表示和对比损失之间的可学习的非线性转换、更多的训练步骤和更深层次的神经网络。
                       ·InfoMin: 作者认为,在对比学习中,我们应该选择那些 互信息较少的视图作为更好的增强视 在最佳情况下,视图应该只共享标签信息。但是,InfoMin可能会导致预测标签的信息丢失(例如纯空白视图)。
 
                          对比学习  在表示空间中直接预测可能会导致collapsed崩溃的表示,因为 多视图通常对彼此的预测性太强。如果没有负样本,神经网络就很容易区分那些正视图。
 
                       · BYOL[47]: 抛弃了自监督学习中的 负采样,但取得了比InfoMin更好的结果。如果我们将目标编码器设置为经过训练的query编码器,并 迭代这个过程,我们将逐步获得更好的性能。因此, BYOL提出了一种采用指数移动平均策略的架构(图14 ),以像MoCo那样更新目标编码器。这不仅使模型在下游任务中表现更好, 而且对较小的batch size也更稳健。在MoCo和SimCLR中,批量的减少会导致性能的显著下降。然而,在BYOL,尽管批量大小仍然很重要,但它远没有那么重要。
 
                       ·  SimSiam[24]:认为BYOL中最关键的部分是梯度停止操作。事实证明,在批量更小的情况下,SimSiam比MoCo、SimCLR和BYOL 收敛得更快,而性能仅略有下降。
 
       基于自监督对比预训练的半监督自训练:虽然基于对比学习的自我监督学习继续推动各种基准的边界, 但标签仍然很重要,因为自监督学习和监督学习的训练目标之间存在差距。换句话说,无论 自监督学习模型如何改进,它们仍然 只是强大的特征提取器,并且为了转移到下游任务,我们或多或少仍然需要标签。因此,为了弥合自监督的预训练和下游任务之间的差距,半监督学习是我们正在寻找的。
               · 半监督学习(Semi-supervised learning)是一种机器学习的方法,它在训练过程中结合了少量的已标记数据和许多未标记数据。
               ·在 自训练中,模型在少量标记数据上训练,然后在未标记数据上产生标签。只有那些具有高置信度标签的数据才与原始标签数据相结合来训练新的模型。我们重复这个过程来寻找最佳模型。
               在伪标签生成期间,教师没有被噪声干扰,使得伪标签尽可能准确。然而,在学生的学习过程中,我们通过RandAugment向学生注入噪声,如dropout、随机深度和数据增强,来使得学生能够比教师更好地进行泛化。此外, 更多的标记数据减少了预训练的价值,而半监督的自我训练总是会改善。他们还发现, 预训练和自我训练的提高是相互正交的,即 从不同的角度对表现做出贡献结合预训练和自训练 的模式是最好的。
               
               SimCLR v2:三步的框架。像SimCLR v1一样进行自监督的预训练;仅用原始ImageNet标签的1%或10%微调最后几层;使用微调后的网络作为教师,在未标记的数据上生成标签,以训练较小的学生ResNet-50。
 
        对比学习的优势:对比学习假设下游应用是分类,所以与生成模型相比,它在体系结构中仅使用编码器而丢弃解码器。因此,对比模型通常是 轻量级的,在区分性下游应用中表现更好。
               负样本采样是大多数对比学习的必要条件,但是这个过程通常是棘手的、有偏见的和耗时的。研究人员已经证明, 数据增强可以提高对比学习的表现,但为什么以及如何帮助的理论仍然很模糊。这阻碍了它在其他领域的应用,如NLP和图学习,其中数据是离散和抽象的。
 
       3. 生成-对比(对抗)学习:利用判别损失作为目标。对抗学习通过最小化分布差异来 重建原始数据分布而不是样本。
                对比学习:放弃了解码器组件(如图4所示)。只需要学习“ 可区分的”信息来区分不同的样本。
                对抗学习:仍然保留了由一个编码器和一个解码器组成的生成器结构。生成器赋予对抗性学习以生成模型所特有的强大的表现力;这也使得对立方法的目标比对比方法的目标更难学习,导致不稳定的收敛。decoder的存在要求表征是“ 可重构的”,换句话说,它包含了构建输入的所有必要信息。
 
                3.1生成完整的输入:GAN的训练过程可以看成是两个人对弈;一个人制造假样本,另一个人试图将它们与真样本区分开来。但是生成和表征之间存在一个gap。GAN中的生成器可以被视为隐式自动编码器。与自动编码器的L2损失相比,GAN中的判别损失更好地模拟了高级抽象。
                3.2从部分输入中恢复:他们不是要求模型重建整个输入,而是为模型提供部分输入,并要求它们恢复其余部分。
                ·缺点:由于语言和图形的离散性,对抗方法的表现不如它们在计算机视觉中的表现;对抗性模型在训练过程中容易崩溃;不能用于特征提取。
                ·优点:克服了逐点生成目标的一些固有缺陷。
       4. 自监督学习成功背后的理论
               4.1GAN
                         4.1.1:散度匹配;4.1.2 disentangled 清晰的表征: 监督学习的一个重要缺点是它很容易陷入虚假信息。这些工作表明,GAN能够学习 disentangled特征 ,那么其他自监督的学习方法很可能也有能力。例如将图片中的狗和背景分开。        4.1.3 最大化下界:使用大的负样本(大的N值)是有用的。但是[5]已经证明,增加负样本的数量并不一定有帮助。负采样仍然是研究的一个关键挑战。最大化下界(MI和ELBO) 不足以学习有用的表示
                       4.1.4 说明自监督学习不能比监督学习学得更多,但是可以 用很少的标签实现。虽然自监督学习不能帮助提高准确性,但它可以学习更多的其他方面,如模型的鲁棒性和稳定性。
                                对比损失:分解为  alignment loss 对准损失和  uniformity loss 一致性损失。在BYOL [47]中,提出了没有直接负采样但优于以往所有对比学习预训练的框架。这向我们表明,我们仍然可以通过指数移动平均、批量标准化、正则化和随机初始化等其他技术来实现一致性。
                               
                               一般认为,增加负样本的数量总是有帮助的,但代价是增加计算成本。噪声对比估计(NCE) [49]解释说,增加负样本的数量可以证明改善学习参数的方差。然而,[5]认为这不适用于对比学习,并表明当负样本超过阈值时,它会损害表现。
 
               [129]经验证明,互信息仅与几种基于MI的方法的成功有松散的关系,其中 采样策略和架构设计可能更重要;选择前置任务的过程似乎太启发式和棘手,没有模式可循。对于预训练任务选择问题,一个可能令人兴奋的方向是为特定的下游任务 自动设计预训练任务;跨数据集迁移,即如何学习归纳偏差或归纳学习。现实世界中的数据往往不符合我们数据集的分布。不同数据集的嵌入空间不同;采样策略,MoCo [52]、SimCLR [19]和一系列其他对比方法 利用 超大量的负样本增强的正样本;MoCo、SimCLR等对比方法好的表现仅限于分类问题,可能是因为对比目标经常陷入嵌入空间的早期退化问题,这意味着 模型过早地 过拟合 判别式的前置任务,因此失去了概括能力。
 
       自监督学习是深度学习的现在和未来,因为它具有利用 Web-scale 的未标记数据来有效训练特征提取器和上下文生成器的强大能力。
 
                       

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值