那些网站主做玄幻小说,metasploit wordpress,贵州遵义新闻,宽屏网站做多少合适对比学习#xff08;Contrastive Learning#xff09;是一种自监督学习的方法#xff0c;旨在通过拉近相似样本的表示、拉远不相似样本的表示来学习特征表示。在训练过程中#xff0c;模型并不依赖标签#xff0c;而是通过样本之间的相似性进行学习。以下是对比学习的基本…对比学习Contrastive Learning是一种自监督学习的方法旨在通过拉近相似样本的表示、拉远不相似样本的表示来学习特征表示。在训练过程中模型并不依赖标签而是通过样本之间的相似性进行学习。以下是对比学习的基本原理和具体的训练流程
1. 基本原理
对比学习的核心目标是通过构造正样本对相似样本和负样本对不相似样本让模型学习到对相似样本的特征表示更接近而对不相似样本的特征表示更远。常用的对比学习方法有 SimCLR、MoCo 等。
正样本对指的是经过不同增强方式得到的同一图像的不同视角或在一些情况下是语义上相关的图像对。负样本对指的是不同图像对它们在语义上或像素空间上不相关。
2. 对比学习的训练流程
以MoCo为例
其中momentum encoder是动量编码器将encoder中的k的参数更新过程使用动量公式来约束在MoCo中作者将m设置为0.99即momentum encoder中k的参数除了刚开始赋值给他encoder不进行反向传播更新往后全靠自己更新这样就可以使得k的参数更新更依赖于之前k的参数了。
步骤1样本增强
对每个输入样本例如图像通过数据增强如随机裁剪、旋转、颜色扰动等生成多个视图。每个样本经过增强后形成一个正样本对即该样本的两个不同增强版本。
步骤2特征提取
将增强后的样本输入到神经网络如卷积神经网络或 Transformer中提取它们的特征表示。特征提取器通常不带标签地训练模型在这个过程中学习到数据的潜在结构。
步骤3相似性度量 对每个样本对计算它们的特征表示之间的相似度。通常使用余弦相似度Cosine Similarity来衡量特征向量之间的相似性。 对于正样本对相同样本的不同视图希望它们的特征表示尽量接近即相似度高。对于负样本对不同样本希望它们的特征表示尽量远即相似度低。
步骤4损失函数 对比学习常用的损失函数是对比损失Contrastive Loss或NCENoise Contrastive Estimation损失其中最常用的是 InfoNCE 损失。该损失函数通过极大化正样本对的相似性极小化负样本对的相似性来优化模型。 InfoNCE 损失函数的公式如下 在反向传播过程中L分别对q和k中的权重w微分来进行参数更新使得权重作用于与q相似性高的k 后的loss更低
步骤5优化与更新
利用梯度下降算法最小化对比损失从而更新网络参数使模型能够学到更好的特征表示。
3. 监督对比学习
在有标签的情况下可以利用标签信息来构造更加有效的正负样本对。**监督对比学习Supervised Contrastive Learning**通过使用相同类别的样本作为正样本对不同类别的样本作为负样本对这种方式可以进一步提升模型的分类性能。具体步骤如下
构建正样本对对于每个样本选择与其类别相同的其他样本作为正样本而非只依赖数据增强生成正样本对。构建负样本对选择不同类别的样本作为负样本。
通过引入监督信息监督对比学习可以更加有效地对齐同类别样本的特征表示从而提升模型的泛化能力。
这种方式确保了模型能够更好地利用语言模式中的信息增强对跨领域数据的泛化能力。相当于对正样本对最大化负样本对最小化来使模型对于同类别的样本有着更好的辨识能力在一些E2D的模型中可以保留或冻结编码器部分当作预训练编码器然后进行下游任务。