什么是对比学习

详解常用的对比学习损失 对比学习损失函数用于在无监督或半监督的情况下学习数据表示,使得相似的数据样本在表示空间中更加接近,而不相似的样本更远离。 阅读详情

对比方法就是让模型同时比较“合理搭配”和“不合理搭配”,学会给前者低能量、给后者高能量。 只练习合理搭配,模型可能把所有搭配都打成低能量,这就是前面说的坍塌。

用小球运动的例子。假设数据中,小球每一步向右移动 1 格:
1 → 2 → 3 → 4

我们自动构造一个训练题:
输入 x 候选后续 在训练中的角色
1 → 2 → 3 、y = 4 正样本:实际观察到的后续
1 → 2 → 3 、ŷ = 10 负样本:构造出来的不合理后续

这里用 ŷ 表示对比样本,也就是负样本。假设这个玩具环境中,小球始终匀速移动,因此 10 确实是不合理的。
模型的能量函数 F(x, y) 可以理解为一个“不匹配分数”:

  • 分数低:模型认为这两个部分搭配合理。
  • 分数高:模型认为它们不搭配。

第一步:看看只训练正样本会发生什么。

如果我们只要求:
F(x, 4) 越小越好

模型可能找到一个极其简单的办法:无论输入什么,永远输出 0。

于是:
F(x, 4) = 0
F(x, 10) = 0
F(x, −999) = 0
训练要求被满足了,但模型没有判断能力。

第二步:把负样本也加入训练。
现在,我们同时要求:
F(x, 4) 低,F(x, 10) 高。

为了让这个要求明确一点,可以规定:负样本的能量至少比正样本高 1。
也就是:
F(x, 10) ≥ F(x, 4) + 1

对应的简单训练损失是:
损失 = max(0, 正样本能量 − 负样本能量 + 1)
其中,max(0, …) 表示括号内小于零时,损失取零。

看三个具体情况:
在这里插入图片描述

现在,“永远输出 0”就不能蒙混过关了,因为它仍然有损失。

训练程序会根据损失调整模型参数,让正确搭配的能量下降、错误搭配的能量上升,直到两者拉开足够的差距。
这里举的是固定间隔为 1 的简化版本;

论文A Path Towards Autonomous Machine Intelligence中公式(7)让这个间隔随 y 和 ŷ 的距离变化。

第三步:用很多不同的题目反复训练。
例如:
在这里插入图片描述

为了持续区分这些搭配,模型就需要学习输入与后续之间的关系。

这也解释了论文A Path Towards Autonomous Machine Intelligence所说的“把正样本的能量压低,把负样本的能量抬高”。
你可以把模型想象成阅卷老师:它既要知道正确答案应该得什么分,也要能识别错误答案。

不过,负样本怎么选,是对比方法的难点。 如果每次只提供特别离谱的错误答案,模型可能学不会区分相近的候选;
如果给出的“负样本”其实也是一种合理未来,就可能把模型教错。例如汽车可以左转也可以右转,不能仅仅因为实际视频里左转了,就断定右转一定不合理。

论文A Path Towards Autonomous Machine Intelligence担心的是:在图像、视频这样的高维空间里,不合理的候选非常多。你训练模型排除了其中一些,它仍可能给其他不合理候选低能量,因此可能需要大量、精心选择的对比样本。

对比方法存在两个主要问题。

第一,研究者必须设计一种机制来生成或选择合适的 ŷ。

第二,当 y 位于高维空间中,而且基于能量的模型具有很强的灵活性时,可能需要数量极其庞大的对比样本,才能确保局部数据分布没有占据的所有方向都具有较高能量。

由于维数灾难,在最坏情况下,对比样本的数量可能随着表征空间维度的增加呈指数增长。

对比学习NLP 损失联合方式自监督:将CL的loss和其他loss混合,通过联合优化,使CL起到效果:CLEAR,DeCLUTER,SCCL。 非联合方法自监督:构造增强样本,fine-tune模型:Bert-CT,ConSERT,SimCSE。 1.CLEAR 链接: https://arxiv.org/pdf/2012.15466.pdf 背景: 作者认为,当前的预训练模型都是基于word-level的,没有基于sentence-level的目标,对sentence的效果不好。 方案: word-leve. 阅读详情

相关推荐

小白科研笔记:理解对比学习

1. 前言 在深度学习中,自监督学习或半监督学习是一个很有意思并且非常吸引人的领域。监督学习的损失函数比较直观和简洁,跟真值有直接的联系。而自监督学习或半监督学习的误差函数的构建比较复杂,需要从原始数据中挖掘出有价值的信息作为损失函数。并且损失函数的设计高度依赖于领域知识。但是这一类学习方法的好处是可以在标注数据较少甚至没有的场合完成网络的训练。对比学习(Contrastive Learning)...

Niuip的博客 4037

对比学习系列一:对比学习介绍

深度学习-对比学习整理记录第一讲

weixin_45857030的博客 2634

对比学习Contrastive Learning

对比学习是一种常用的自监督学习方法。 核心思想:把正样本距离拉近,正样本与负样本距离拉远。(类似度量学习中的margin, 但是对比学习为正负样本分类,无margin概念) 方式:通过一个正样本,以及k个负样本进行对比学习,研究表明K越大越好,可以取几万个。 优化问题:对于一个正样本,需要和k个负样本做分类,使模型分清楚哪些是正样本,哪些是负样本,用交叉熵即可。如下图 经典方法: memory bank:把所有样本的logits存起来,计算loss MoCo:用一个qu...

yang_daxia的博客 2万+

自监督学习之对比学习

对比学习一般是自监督学习的一种方式 什么是自监督学习 自监督学习主要是利用辅助任务(pretext)从大规模的无监督数据中挖掘自身的监督信息,通过这种构造的监督信息对网络进行训练,从而可以学习到对下游任务有价值的表征。(也就是说自监督学习的监督信息不是人工标注的,而是算法在大规模无监督数据中自动构造监督信息,来进行监督学习或训练。因此,大多数时候,我们称之为无监督预训练方法或无监督学习方法,严格上讲,他应该叫自监督学习)。   原文作者:自编码器个人认为可以算作无监督学习,也可以算作自监督学.

jzwei023的博客 6720

AI学习指南深度学习篇-对比学习的变种

对比学习是一种通过比较样本之间的相似性与差异性进行学习的策略。最常见的形式是通过构造正样本对(相似样本)和负样本对(不相似样本),并用损失函数(如对比损失或者信息熵损失)来优化模型。对比学习作为深度学习中的一项重要技术,随着其变种的不断发展,已经成为多种任务中的关键组成部分。从自监督对比学习到元学习中的应用,各种方法极大增强了模型在复杂任务中的表现。未来,随着更多创新方法的提出,对比学习有望在各个领域表现出更强的适应性和效果。

俞兆鹏的博客 1176

对比学习在跨域学习中的应用

对比学习在跨域学习中的应用 作者:禅与计算机程序设计艺术 / Zen and the Art of Computer Programming 关键词:对比学习,跨域学习,多模态学习,深度学习,迁移学习 1. 背

AI天才研究院 1160

【Pytorch】从MoCo看无监督对比学习;从SupCon看有监督对比学习

多为转载,供学习和记录

a_piece_of_ppx的博客 3590

图文带你理解什么是Few-shot Learning

Few-shot Learning(少样本学习)是Meta Learning(元学习)中的一个实例1,所以在了解什么是Few-shot Learning之前有必要对Meta Learning有一个简单的认识。不过在了解什么是Meta Learning之前还是要了解一下什么是Meta。因此,阅读本文后你将对如下知识有一个初步的了解。 What is Meta What is Meta Learning What is Few-shot Learning 1. What is Meta? meta就是描述

Pr4da的博客 1万+

探索对比学习的改进-经典对比学习 vs 分组对比学习

目前,对比学习已经不再局限于通过拉近正样本、推开负样本来学习表示的方法。最新(2020后)的Group Contrastive Learning对比学习方法,对经典对比学习的局限进行了改进。

liliang199的专栏 1120

手把手教你用CMake和MinGW64编译libuvc:静态链接与动态链接的选择

本文详细指导如何在Windows平台上使用CMake和MinGW64编译libuvc库,并深入探讨静态链接与动态链接的选择策略。通过对比两种链接方式在部署复杂度、内存占用和版本管理等方面的差异,帮助开发者根据项目需求做出最优决策,实现高效的USB摄像头开发。

weixin_29171087的博客 254

核心面试聚焦:业务问题+系统问题+设计题---字节、阿里、美团等整理统计

业务系统及其他相关面试问题整理:线上相关问题排查+高并发系统的限流+高并发秒杀系统设计+负载均衡+一个网站有 20 亿 url 存在一个黑名单中,这个黑名单要怎么存?若此时随便输入一个 url,你如何快速判断该 url 是否在这个黑名单中?并且需在给定内存空间(比如:500M)内快速判断出?

曾经“等你生日那天”都遥远得像未来,如今却可欢愉的挥手说“下个十年见” 172万+

对比学习及其应用

对比学习 1. 什么是对比学习 对比学习是一种机器学习技术,通过训练模型哪些数据点相似或不同,来学习没有标签的数据集的一般特征。 Contrastive learning is a machine learning technique used to learn the general features of a dataset without labels by teaching the model which data points are similar or different. [1] 例如,

Exploer_TRY的博客 1万+

【WRFDA教程第四期】雷达数据同化(Radar Data Assimilation)

雷达数据同化(Radar Data Assimilation)

WW、forever的博客 1758

对比学习知识整理

本文参考:【深度学习:(Contrastive Learning) 对比学习】深入浅出讲解对比学习。

weixin_46466347的博客 1338

AI智算-K8s如何利用GPFS分布式并行文件存储加速训练or推理

GPFS(General Parallel File System,通用并行文件系统)是由 IBM 开发的高性能分布式文件系统,最初设计于 1990 年代,用于满足高性能计算(HPC)环境对大规模数据存储和访问的需求。GPFS 现已广泛应用于企业级存储、云计算、大数据分析、人工智能和媒体处理等领域。它以其高性能、可扩展性和可靠性著称,能够支持从小型集群到超大规模系统的各种部署场景。

Kason_iWiki 1131

02-Redis 核心特性与数据结构详解:揭秘高性能的技术内核

本文深度拆解 Redis 高性能的技术内核:揭秘其凭“内存存储 + C 语言开发” 实现微秒级延迟、10 万 + QPS 的性能优势;详解 5 种基础数据类型(String/Hash 等)与 4 种扩展数据类型(Stream/Geospatial 等)的特性及场景;还介绍多语言支持、RDB/AOF 持久化、主从复制 / 哨兵 / 集群等高可用方案,助读者掌握 Redis 技术核心与实践逻辑。

蜗牛老师,专注编程领域 995

对比学习Python实现

对比学习是一种通过对比正反两个例子来学习表征的自监督学习方法。对于自监督对比学习,下一个等式是对比损失: Li,j=−log⁡exp(zi⋅zj/τ)∑k=1,k≠i2Nexp(zi⋅zk/τ) \mathcal{L}_{i,j} = - \log \frac{exp(\textbf{z}_i \cdot \textbf{z}_j / \tau)}{\sum_{k=1,k\neq i}^{2N}exp(\textbf{z}_i \cdot \textbf{z}_k / \tau)} Li,j​=−log∑

徐奕的专栏 6873

SAP Fiori 从技术上而言到底包含哪些组件?

SAP Fiori是企业级UX设计的系统化解决方案,基于五大原则构建:角色导向(Role-based)、自适应(Adaptive)、简洁(Simple)、一致(Coherent)和愉悦(Delightful)。其技术实现包含SAPUI5开发框架、Fiori Launchpad统一入口、OData服务网关等核心组件,通过标准化设计模式与开发工具链,显著提升企业应用的用户体验和开发效率。典型案例显示,遵循Fiori原则可缩短30%以上的操作时长,降低50%的培训成本。该体系既保持跨设备一致性,又支持业务场景的深

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 223

对比学习

基本原理 先从无监督表示学习讲起。表示学习的目标是为输入 x 学习一个表示 z,最好的情况就是知道 z 就能知道 x。这就引出了无监督表示学习的第一种做法:生成式自监督学习。比如还原句子中被mask的字,或者还原图像中被mask的像素。 但这种方式的前提需要假设被mask的元素是相互独立的,不符合真实情况。这句话是什么意思呢,下面会用举例1来说明一下。 另一方面,研究者们也质疑如此细粒度的还原是否真正必要。这句话的意思应该是是否需要模型有能够看到上下文就能对某个字精确预测的能力,才算模型真正理解了这些词,这

qq_37523130的博客 1881

[QMT量化交易小白入门]-十二、QMT回测龙头打首板和连板的策略

class a():passA = a() #创建空的类的实例 用来保存委托状态field_list定义了需要的市场数据字段,而类a用于保存交易状态。

木头大左的博客 4757

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

图对比学习

图对比学习简介

qq_42690797的博客 1887

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

对比学习介绍

本笔记系统梳理了对比学习(Contrastive Learning)的核心思想、关键方法与代表性模型。

2401_85771512的博客 1011

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

深入浅出对比学习

对比学习是一种学习方法,侧重于通过对比正反两方面的实例来提取有意义的表征。它利用的假设是,在学习到的嵌入空间中,相似的实例应靠得更近,而不相似的实例应离得更远。通过将学习作为一项辨别任务,对比学习允许模型捕捉数据中的相关特征和相似性。

泰上勒君的博客 1263

对比学习训练是如何进行的

对比学习(Contrastive Learning)是一种自监督学习的方法,旨在通过拉近相似样本的表示、拉远不相似样本的表示来学习特征表示。在训练过程中,模型并不依赖标签,而是通过样本之间的相似性进行学习。

qq_45809323的博客 1588

对比学习(一):CV领域对比学习的兴起

论文Dimensionality Reduction by Learning an Invariant Mapping是由LeCun团队做的比较早的关于对比学习的工作。在这篇论文中,作者研究了一种降维方法,学习不变映射(DrLIM),用于学习一个全局一致的非线性函数,该函数将数据均匀映射到输出流形上。学习仅依赖于邻域关系,不需要输入空间中的任何距离度量。现有降维方法一般有两个缺点,其一是不会产生一个从输入到流形的函数或映射,这个函数或映射可以应用于与训练点的关系未知的新点

泽渊的博客 887
上一篇: 什么是自监督学习
蓝羽飞鸟
博客等级 码龄8年 1万+粉丝 727原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

蓝羽飞鸟

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值