【论文阅读】Co2l: Contrastive continual learning

news2025/4/24 4:06:16

原文链接:[2106.14413] Co$^2$L: Contrastive Continual Learning

阅读本文前,需要对持续学习的基本概念以及面临的问题有大致了解,可参考综述:

Wang L, Zhang X, Su H, et al. A comprehensive survey of continual learning: Theory, method and application[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2024.

一、概述

        该论文提出了一种名为 Co²L(对比持续学习) 的新方法,旨在解决持续学习中的灾难性遗忘问题。核心思想是通过对比学习(Contrastive Learning)和自监督蒸馏(Self-supervised Distillation)来持续学习和维护可迁移的表示。

1、对比学习

        论文中提到了对比学习在持续学习中比传统的联合训练方法更能抵抗灾难性遗忘。要理解这句话,需要先弄懂对比学习和联合训练的策略分别是什么。

(1)对比学习:一种自监督学习方法,其核心思想是通过比较样本之间的相似性与差异性来学习数据的本质特征。核心机制是正负样本对的构建,一般对比学习中,会将一个数据样本的不同数据增强(旋转、缩放、颜色变换、剪切等)版本作为它的正样本,将不同数据样本作为负样本,学习过程中强制正样本之间的特征表达尽量接近,负样本尽量远离。在持续学习场景中,会将旧任务的样本全部视作负样本,以此让模型更好学习新任务的表达。

(2)联合训练:在本文所提到的持续学习场景下,所谓的联合训练实际就是传统的有监督学习,只是会在训练新任务时,回放一些旧任务的数据一并训练,以及采用正则化等手段来限制参数更新对旧任务的影响。

        我们可以发现,对比学习通过数据增强,学习到的是更通用的特征,比如形状、纹理等,这些特征在不同任务间具有高度共享性,支持新任务的快速适应。而联合训练依赖特定监督标签,导致新任务学习时容易覆盖旧任务的敏感特征,引发遗忘。

        这么说比较抽象,结合下图从损失函数的角度来分析更方便理解,对比学习目标是学习对数据变换不变的表示,可能通过数据增强和对比损失函数促进参数空间的平滑性,对应的损失函数比较平坦。而联合训练由于要同时优化多个任务的损失,可能导致不同任务之间的梯度方向冲突,容易形成尖锐的极小值。很显然,平坦的损失函数更有利于我们在参数空间寻找到一个平衡点,保证对新旧任务的整体影响最小,从而缓解灾难性遗忘问题。

       

        经过上述分析,我们可以初步下结论,在持续学习中使用对比学习有利于抵抗灾难性遗忘问题

        但是传统对比学习在持续学习中存在一个问题,就是我们只保留少量的旧任务样本,这导致负样本的数量以及多样性不足,会影响对比学习效果。

2、知识蒸馏

        知识蒸馏通常用于将“教师模型”的知识迁移到“学生模型”,传统蒸馏方式包括输出蒸馏,即让学生模型输出的概率分布尽量接近于教师模型,通过交叉熵损失实现:
 

        还有特征蒸馏,即选择教师模型与学生模型的某一中间层,目标是最小化中间层的特征表示,通过L2损失或余弦相似度实现:

        输出蒸馏依赖于输出概率分布,但是在持续学习中,往往只保留少量旧任务数据,导致模型难以准确复现旧任务的输出概率,所以输出蒸馏不适合持续学习。

        特征蒸馏需要对中间层的特征进行对齐,但在持续学习中,随着新任务的训练,模型的结构是在不断调整的,中间层的特征空间也会改变,这就导致我们无法稳定的用旧任务的特征表示来对新任务的特征表示进行蒸馏,所以特征蒸馏也不适合持续学习。

二、贡献点

        为了解决对比学习在持续学习中负样本不足的问题,提出了非对称监督对比损失(Asymmetric SupCon)的解决方案。

        为了解决传统知识蒸馏方式在持续学习场景下不适用的问题,提出了一种实例关系蒸馏的自监督蒸馏方式。

三、方法

1、非对称监督对比损失(Asymmetric Supervised Contrastive Loss)

        核心思想很简单,原本的对比学习会将旧任务和新任务的数据样本一视同仁,每个样本都有参与到正样本对和负样本对的构建,而本文提出,我们只用新任务的数据样本构建正样本对,所有的旧任务数据都只作为负样本。这样能让模型更专注于新任务,更好的学习到新旧任务的边界。

(举个例子,假设旧任务有“猫”、“狗”、“鱼”,新任务是“鸟”,如果是传统对比学习,我们就需要让模型同时学习到四个类别的特征,只不过前三个类别因为已经学习过,现在学起来更容易,但存在问题是前三个类别的样本数目很少,容易在前三个类别上出现过拟合。而新的思路是,我既然已经能识别出前三类,那我只需要学习“鸟”的特征,并保证“鸟”的特征与前三类特征尽量远离。)

        损失函数形式如下,S表示当前任务的样本的集合,对于锚点样本i,p_i是正样本对的集合,z_i和z_p是锚点样本与正样本经过投影后的特征向量,两者的点积表示余弦相似度。k表示的是负样本,所以分母是锚点样本与所有负样本之间的相似度之和。

2、实例关系蒸馏(Instance-wise Relation Distillation, IRD)

        目标是通过维护样本间的相似性结构来减少持续学习中的灾难性遗忘。IRD特点是IRD 不直接对齐单个样本的特征或分类结果,而是关注样本间的全局关系结构(如“猫”和“狗”应彼此接近,“猫”和“鸟”应远离),从而保留旧任务的特征空间结构。

(1)参考模型保存

在完成第 t−1个任务后,将模型的参数(包括编码器 f_\vartheta和投影头 g_\phi)保存为参考模型\psi ^{past} = (f_\vartheta , g_\phi ),并冻结其参数。

(2)实例相似性向量计算

        对于一个包含 2N 个增强样本的批次 B,每个样本 x~i 的实例相似性向量定义如下:

其中

(3)蒸馏损失函数

        通过交叉熵损失对齐参考模型与当前模型的相似性分布:

四、实验结果

在各类增量学习基准中都取得明显提升

通过消融实验证明了非对称监督对比损失和实例关系蒸馏的有效性。

五、总结

        本文通过改进后的对比学习强化了模型适应新任务的能力,同时,通过实例关系蒸馏,让模型能保留旧任务上的性能,缓解灾难性遗忘问题。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2326422.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

OpenMCU(五):STM32F103时钟树初始化分析

概述 本文主要描述了STM32F103初始化过程系统时钟的初始化,主要描述了系统时钟的初始化,AHB总线时钟,APB总线时钟等的初始化。 硬件板卡3d图 时钟树 STM32F103的时钟树,如下所示: 时钟源选择 从STM32F103的时钟树框图,我们可以…

ISIS报文

IS-IS 报文 目录 IS-IS 报文 一、报文类型与功能 二、报文结构解析 三、核心功能特性 四、典型应用场景 五、抓包数据分析 六、总结 IS-IS(中间系统到中间系统)协议报文是用于链路状态路由协议中网络设备间交换路由信息的关键载体,其设…

首屏加载时间优化解决

🤖 作者简介:水煮白菜王(juejin/csdn同名) ,一位前端劝退师 👻 👀 文章专栏: 高德AMap专栏 ,记录一下平时学习在博客写作中记录,总结出的一些开发技巧✍。 感…

RabbitMQ--延迟队列事务消息分发

目录 1.延迟队列 1.1应用场景 1.2利用TTL死信队列模拟延迟队列存在的问题 1.3延迟队列插件 1.4常见面试题 2.事务 2.1配置事务管理器 3.消息分发 3.1概念 3.2应用场景 3.2.1限流 3.2.2负载均衡 1.延迟队列 延迟队列(Delayed Queue),即消息被发送以后, 并…

Linux服务器组建与管理

#!/bin/bash #判断是否是root用户if [ "$USER" ! "root" ]; then echo "不是root用户,无法进行安装操作" exit 1 fi#关闭防火墙systemctl stop firewalld && systemctl disable firewalld && echo "防火墙已经关…

设计模式 Day 2:工厂方法模式(Factory Method Pattern)详解

继 Day 1 学习了单例模式之后,今天我们继续深入对象创建型设计模式——工厂方法模式(Factory Method)。工厂方法模式为对象创建提供了更大的灵活性和扩展性,是实际开发中使用频率极高的一种设计模式。 一方面,我们将简…

自动驾驶浪潮下,HMI 设计如何保障安全与便捷?

自动驾驶系统与 HMI 设计的关联性 自动驾驶系统涵盖了一系列复杂的传感器技术、算法以及执行机构。从激光雷达、摄像头等环境感知传感器,到用于处理海量数据的人工智能算法,再到控制车辆行驶的动力与转向执行系统,各部分协同工作&#xff0c…

瑞昱RTD2556QR显示器驱动芯片

一、概述 RTD2556QR芯片是由Realtek公司精心研发的一款高性能显示驱动芯片,专为满足现代显示设备对高分辨率、多功能接口及稳定性能的需求而设计。该芯片凭借其卓越的技术特性和广泛的应用领域,在显示驱动市场中占据重要地位。它集成了多种先进的功能模…

rustdesk 客户端使用

配置中继服务器 RustDesk 搭建-CSDN博客 配置客户端,服务端(控制方,被控方) 1.下载rustdesk.exe(windows为例) 2.完成后如下 3.配置

碳化硅 MOSFET三相逆变电路损耗新算法

基 于 碳 化 硅 MOSFET三相逆变电路损耗新算法 摘 要 提出了一种三相逆变电路功率开关器件损耗计算的新方法.为了达到将高频电力电子电路和实时仿真算 法 相 结 合 应 用 于 嵌 入 式 实 时 仿 真 平 台 的 目 的 ,针 对 工 程 应 用 中 逆 变 器 损 耗 计 算 的 实…

增加等IO状态的唤醒堆栈打印及缺页异常导致iowait分析

一、背景 在之前的博客 在计算进程D状态持续时间及等IO的时间遇到的一处问题-CSDN博客 里,我们修复了一处在抓取D状态及等IO状态堆栈的监控程序的一处时间计算bug,在这篇博客里,我们进一步丰富监控程序,在进程iodelay被唤醒时&am…

新能源汽车空调系统(R134A)性能评估(一)

国内外主流空调系统厂家:贝尔、德尔福、空调国际、法雷奥、电装、松芝、杰信、新电、豫新等 泛亚汽车的空调电子部是比较优秀的整车空调研发团队。 空调系统综合试验台架是一套由试验室、风量测定装置、空气调和器、空气温度测定装置、湿度测定装置、加热器试验辅助…

Ubuntu 22.04安装MongoDB:GLM4模型对话数据收集与微调教程

在Ubuntu 22.04安装MongoDB Community Edition的教程请点击下方链接进行参考: 点击这里获取MongoDB Community Edition安装教程 今天将为大家带来如何微调GLM4模型并连接数据库进行对话的教程。快跟着小编一起试试吧~ 1. 大模型 ChatGLM4 微调步骤 1.1 从 github…

可编程增益放大器(PGA)在智能传感器自调节系统中的角色

在电子电路设计中,放大器芯片作为信号处理的核心器件,其性能直接影响系统整体表现。然而面对运算放大器、功率放大器、仪表放大器等众多类型,工程师常陷入选型困惑。作为国内领先的半导体解决方案提供商,华芯邦深耕放大器芯片领域…

微信登录、商品浏览前瞻

一.业务效果 二.所需技术

浙大研究团队揭示电场调控5-HT1AR的分子机制

本期介绍的文章题为 “Structural Insight into the Inactive/Active States of 5‑HT1AR and Molecular Mechanisms of Electric Fields in Modulating 5‑HT1AR” 。近期发表于JCIM。通过分子动力学模拟,探究 5-羟色胺 1A 受体(5-HT1AR) 在非活性 / 活性状态的构象…

视频AI赋能水利行业生态治理,水电站大坝漂浮物实时监测与智能预警方案

水电站大坝周边水域垃圾漂浮物不仅影响水质,还可能对大坝设施运行、水生态环境造成威胁。传统依靠人工巡检的方式效率低、存在监测盲区,难以实时全面地掌握漂浮物情况。借助EasyCVR视频汇聚平台与TSINGSEE青犀AI算法中台构建智能化监测方案,能…

flink 分组窗口聚合 与 窗口表值函数聚合 的区别

警告:分组窗口聚合已经过时。推荐使用更加强大和有效的窗口表值函数聚合。 参考官方文档 在 Apache Flink 中,分组窗口聚合(Group Window Aggregation) 和 窗口表值函数聚合(Windowing TVF Aggregation)…

阿里云Tair KVCache:打造以缓存为中心的大模型Token超级工厂

一、Tair KVCache 简介 Tair KVCache 是阿里云瑶池旗下云数据库 Tair 面向大语言模型推理场景推出的 KVCache 缓存加速服务。 随着互联网技术的演进与流量规模的激增,缓存技术逐渐成为系统架构的核心组件。该阶段催生了 Redis 等开源缓存数据库,阿里巴巴…

通过TIM+DMA Burst 实现STM32输出变频且不同脉冲数量的PWM波形

Burst介绍: DMA控制器可以生成单次传输或增量突发传输,传输的节拍数为4、8或16。 为了确保数据一致性,构成突发传输的每组传输都是不可分割的:AHB传输被锁定,AHB总线矩阵的仲裁器在突发传输序列期间不会撤销DMA主设备…