12.30-1-5学习周报

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  • 文章链接
  • 摘要
  • Abstract
  • 一、方法介绍
    • 1.HAT-CIR
    • 2.Horde
    • 3.DWGRNet
  • 二、实验
  • 总结


文章链接

https://arxiv.org/pdf/2405.04101

摘要

本博客介绍了论文《Continual learning in the presence of repetition》关于CVPR 2023 上的 CLVision 挑战赛的总结。该挑战赛的主要目标是探索重复在持续学习中的作用。博客首先介绍了决赛团队所提出的三种方案:HAT-CIR、Horde、DWGRNet,这三种方案的设计思路都是从数据流中的重复的类来进行持续学习。在比赛中,实验采用数据集CIFAR100 和 Tiny-ImageNet 来生成带有重复类的数据流,采用上述三种方法在生成数据流中的任务精确度作为评估指标。实验结果表明,三个决赛方案相对于用于生成数据流的数据集的性能具有一致性。HAT-CIR 在实验中展现了对于重复数据流进行持续学习的适用性,相较于其他两个方法,HAT-CIR 在重复的数据流中得到了更高的精确度,表明了数据流中的重复以不同的方式影响不同持续学习策略的行为。但是,怎么准确地找出重复的数量和类型如何影响每种方法的有效性还有待研究。

Abstract

This blog presents the summary of the paper “Continual learning in the presence of repetition” about the CLVision challenge at CVPR 2023. The main goal of the challenge is to explore the role of repetition in continuous learning. The blog first introduces the three solutions proposed by the finalist teams: HAT-CIR, Horde, and DWGRNet, all of which are designed to continuously learn from duplicate classes in the data stream. In the competition, the experiment uses dataset CIFAR100 and Tiny-ImageNet to generate a data stream with duplicate classes, and the task accuracy of the above three methods in generating the data stream is used as an evaluation metric. Experimental results show that the performance of the three finalists is consistent with the dataset used to generate the data stream. Compared with the other two methods, HAT-CIR achieves higher accuracy in repeated data streams, indicating that repetition in data streams affects the behavior of different continuous learning strategies in different ways. However, how exactly to find out how the number and type of replicates affect the effectiveness of each method remains to be studied.

一、方法介绍

在论文中,持续学习用CL来表示。研究者采用重复类增量学习(CIR),CIR 包含具有两个关键特征的各种数据流:1.随着时间的推移,新的类别可能会出现。 2. 以前遇到的类可能会以不同的重复模式重新出现。

在论文中,研究者开发的基于采样的生成器用于生成该挑战的数据流,使用具有明确解释的四个控制参数:
流长度(Stream length,简写为Stream):数据流中的经验数。
经验大小(Experience Size,简写为ESTA):每次经验中的样本数量。
首次出现分布(First occurrence distribution,缩写为RST):数据流中经验的离散概率分布,它决定了每个类的首次出现。
重复概率(𝑃𝑟):每个类的重复概率,控制每个类在第一次出现后在流中的未来经验中重新出现的可能性。

1.HAT-CIR

xduan7团队提出的策略称为HAT-CIR。 该策略结合了网络副本和测试时决策的优势,以及其他元素,例如对任务的硬注意力 (HAT)和监督对比学习 (SupCon) 。

所提出的方法包括三个核心部分:1.结构设计,具有基于HAT的分区和网络副本; 2.两阶段训练策略,包括监督对比学习和分类; 3.用于测试时决策的基于动量的推理机制。 该方法的示意图如下图所示:
在这里插入图片描述
在训练新任务时,一个由多个“集合”组成的新“片段”被添加到模型中,并分两个阶段对新体验的训练数据进行训练。 第一阶段,使用投影头并优化监督对比损失; 在第二阶段,使用softmax输出层并优化交叉熵损失。 在测试期间,每个可能类别的分数被计算为根据该类别出现的经验进行训练的最新片段的 logits 的加权平均值。

基于 HAT 的分区。 为了减轻灾难性遗忘,HAT 根据经验 ID 隔离网络参数。 原始的 HAT 方法在处理大量经验时存在训练速度慢和超参数敏感性的问题。 为了克服这个问题,使用了 HAT-CL,它将掩码初始化为 1,并使用余弦掩码缩放曲线来促进与网络权重更好的对齐。 通过使用余弦掩模缩放曲线,每个训练时期分为三个阶段:
1.训练权重,掩码大多是1
2.一起训练掩码和权重,使掩码更稀疏
3.当掩码主要为1时微调权重

这些变化显著提高了HAT的训练速度和稳定性,以及性能。此外,掩模的正则化项的影响逐渐减小。该步骤确保了网络容量的充分利用,并通过可变的正则化项提供了对每个经验中的类的数量的说明。基于HAT的分区仅用于预选阶段;对于最后阶段,仅使用网络副本,这导致了更高的性能。

为了学习更好的特征表示,在每个经验中,网络首先使用监督对比学习进行训练。目标是最大化相同类别的特征向量之间的相似性,并使用以下损失函数最小化不同类别的特征向量:
在这里插入图片描述
𝑓(𝑥) 生成输入 𝑥 的嵌入特征向量,𝐷(𝑥, 𝑦) 表示距离函数,𝑥𝑎 𝑖 、𝑥𝑝 𝑖 和 𝑥𝑛 𝑖 分别表示锚点、正样本和负样本,𝛼 是边距 范围。 批次中的样本数量用 𝑁 表示。 由于硬注意力掩模对学习率和历元数的敏感性,硬注意力掩模的训练仅发生在监督对比学习阶段。
在每次训练的第二个训练阶段,使用标准交叉熵分类损失进一步训练网络参数

HAT-CIR的局限性:在初始体验中,当类的数量较小时,该方法的一个显著缺点出现。在这种情况下,由于有限的多样性,网络无法学习有效的类表示。这对基于动量的测试时间决策策略的性能产生了负面影响。另一个固有的局限性与HAT的使用有关。网络结构的刚性要求仔细地调整超参数以匹配预期的体验总数,这在CIR设置中并不总是预先知道的。结果,可能会实现次优的参数分配,导致性能受损。

2.Horde

mmasana团队提出的策略称为Horde。该策略根据选定的经验学习特征提取器(FE)的集合,这应该提供强大的特征,有助于区分可见和不可见的下游类。
为了进一步促进伪特征投影,使用通常的交叉熵损失和额外的度量学习损失来训练FE,这促进了每个特征空间内的学习类之间的对齐。

Horde将各个FE的特征表示结合到一个能够预测到目前为止所看到的所有类的统一头部中。这是通过两步训练过程实现的:第一,FE的学习(仅在选定的经验上),第二,用于适应统一头部的伪特征对齐(在每个经验上)。每个个体FE都是一个在单一经验上训练的专家模型,之后它被冻结并添加到集合中。在第二个训练步骤中,数据通过所有的集成模型,并对统一的头部进行微调。训练统一头部涉及直接使用来自熟悉某个类的FE的表示,以及来自未在该类上训练的FE的表示的伪特征投影。Horde提高了每个任务特定的特征提取器(FE)的稳定性,同时通过学习对齐的统一表示来利用类重复来平衡可塑性

在论文中研究者设计了两个约束来确定何时将FE添加到集合中。首先,为了限制过度拟合FE的存在并限制系综的大小,不考虑少于五个类的经验。第二,在已经看到85%的类之后停止向集合添加FE,因为一旦已经学习了大多数类的鲁棒特征,则期望在剩余类上有良好的性能。此外,FE总是在第一次体验时接受培训的。在这些约束条件下,所提出的方法基于下图所示的突出显示的经验来学习特征提取器:
在这里插入图片描述
当FE在当前经验上进行训练时,学习发生在具有与类一样多的输出的完全连接的头部上的通常的交叉熵损失。为了促进在更相似分布的空间中的特征的学习,强调硬否定对的对比损失也被包括在单独的头部上,如下图所示。这两种损失都使用自适应alpha来平衡,该自适应alpha是基于每个损失的能量自动计算的。
在这里插入图片描述
当在新体验上进行训练时,在第一阶段中,可以使用交叉熵和对比损失来训练新的特征提取器。是否在新经验上训练新特征提取器由启发式决定。在对每个新体验执行的第二训练阶段中,执行伪特征投影,并且训练统一的头部以基于来自集合的特征来区分所有看到的类。(在测试时,一个测试样本被简单地转发到模型的所有组件,预测的类从统一头中读出

伪特征投影使用相应的类标准差扩展了特征转换,以允许更好的维度采样。它将表示从类转换为不同类别的预计代表。 令 𝑎𝑖 为属于类别 𝑖 的当前经验样本的所有 FE 输出的串联表示。 投影定义为:在这里插入图片描述
其中 ̂𝑎𝑗 ,𝑖 是从类 𝑖 到类 𝑗 的估计投影。 该投影在学习统一头时应用于训练批次中的每个样本,并且在评估期间不使用
目标类𝑗是从先前学习的类中随机选择的,原始表示和预测的表示都被添加到损失上。类原型(即平均𝜇𝑖和标准差𝜎𝑖)总是在通过计算可用类数据的统计量来训练统一头部之前进行更新。

3.DWGRNet

pddbend团队提出的策略称为动态加权门控表示网络(DWGRNet)。该策略为每个Experience创建独立的分支并使用门控单元来控制哪些分支处于活动状态。 在训练期间,与当前经验相对应的分支被其门控单元激活,以促进学习,而来自先前经验的分支保持不活动状态。
DWGRNet 根据熵、特征范数和每个分支经历的类别数量来分配权重。 具体来说,评估每个分支的预测概率分布的熵。 高熵表示样本成为该分支的开集项的可能性。 类似地,计算特征范数。 较高的特征范数表明该样本很可能是开放集样本。 最后,假设大量类别的经验将使模型的预测更加可靠。 因此,权重还可以根据每次体验中的课程数量进行调整。

DWGRNet 使用门控单元来控制每个分支的激活。 每次新Experience都会添加一个新分支,然后激活,而旧分支中的模型参数保持冻结。 如图所示:在这里插入图片描述
在训练阶段,没有使用特殊的损失函数或重播缓冲区。 相反,使用标准交叉熵损失来训练模型,同时使用 AugMix 来增强模型的泛化性和鲁棒性。 AugMix 结合了不同的数据增强技术。 在测试阶段,门控单元可以一一激活每个分支,以避免需要大量 GPU 内存。 他们的输出被收集起来,然后用于做出最终的预测

二、实验

CVPR 2023 的 CLVision 挑战,主要目标是探索重复在 CL 中的作用,这是目前较少研究者所关注的方向。 为此,参与者被要求设计一些策略,可以利用数据流中固有的重复来促进知识转移并减少遗忘,而无需存储原始样本。上述所介绍的三种主要方法以及团队是该比赛的部分参赛者。

十强队伍预选阶段结果。 显示的是在预选阶段对三个流中的每一个进行训练后,CIFAR-100 测试集的准确度
在这里插入图片描述
为了测试数据流中的重复是否对决赛解决方案的有效性发挥重要作用,在对没有重复的数据流进行训练后,也会对它们进行评估。 为此,使用“标准”Split CIFAR-100 类增量学习基准。
在这里插入图片描述
上图中的结果表明,当数据流中没有重复时,解决方案的性能显着降低。 虽然缓冲区大小为 2000 的 ER 在有重复的数据流上明显优于每个决赛解决方案,但当没有重复时,该版本的 ER 比所有决赛解决方案表现更好。 这表明数据流中的重复可以改变不同 CL 策略的相对有效性。

为了探讨结果的普遍性,研究者对使用 Tiny ImageNet 数据集生成的三个 CIR 数据流对决赛解决方案进行了评估。生成数据流的配置与挑战最后阶段的数据流𝑆4、𝑆5 和𝑆6 使用的配置相同。 评估结果如下图所示。这些结果表明三个决赛解决方案相对于用于生成数据流的数据集的性能具有一致性
在这里插入图片描述

总结

在随机重复的数据流中,HAT-CIR基于集成的持续学习策略能够很好地利用数据流中固有的重复来促进知识转移并减少遗忘。Horde训练了一组特征提取器,其中仅在需要时基于启发式添加新的特征提取器。它还使用了一个统一的头来区分在当前训练步骤中观察到的类。DWGRNet为每个体验使用独立的分支,在训练期间通过门控单元激活,并结合数据增强技术以提高鲁棒性。该解决方案进一步从开集问题的角度来处理该问题,并且为了解决开集识别问题,它采用了基于熵,特征范数和每个经验中的类数等因素的加权策略。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Synopsys软件基本使用方法

Synopsys软件基本使用方法 1 文件说明2 编译流程3 查看波形4 联合仿真 本文主要介绍Synopsys软件vcs、verdi的基本使用方法,相关文件可从 GitHub下载。 1 文件说明 创建verilog源文件add.v、mult.v、top.vmodule add (input signed [31:0] dina,input signed [3…

Linux-Redis哨兵搭建

环境资源准备 主机名IP端口号角色vm1192.168.64.156379/26379mastervm2192.168.64.166379/26379slavevm3192.168.64.176379/26379slave 6379为redis服务暴露端口号、26379为sentinel暴露端口号。 安装Redis # 包文件下载 wget https://github.com/redis/redis/archive/7.2.2…

【python】unittest单元测试

文章目录 基本使用不同启动方式的区别 基本使用 下面是根据文档写的一个demo,主要的内容基本都包含了,使用时导入自己的业务类测试类中的方法就行。 import unittest# 测试类不强制test开头,仅作为规范。但必须继承unittest.TestCase class…

基于SpringBoot的野生动物保护发展平台的设计与实现(源码+SQL+LW+部署讲解)

文章目录 摘 要1. 第1章 选题背景及研究意义1.1 选题背景1.2 研究意义1.3 论文结构安排 2. 第2章 相关开发技术2.1 前端技术2.2 后端技术2.3 数据库技术 3. 第3章 可行性及需求分析3.1 可行性分析3.2 系统需求分析 4. 第4章 系统概要设计4.1 系统功能模块设计4.2 数据库设计 5.…

Linux一些问题

修改YUM源 Centos7将yum源更换为国内源保姆级教程_centos使用中科大源-CSDN博客 直接安装包,走链接也行 Index of /7.9.2009/os/x86_64/Packages 直接复制里面的安装包链接,在命令行直接 yum install https://vault.centos.org/7.9.2009/os/x86_64/Pa…

ELK 使用教程采集系统日志 Elasticsearch、Logstash、Kibana

前言 你知道对于一个系统的上线考察,必备的几样东西是什么吗?其实这也是面试中考察求职者,是否真的做过系统开发和上线的必备问题。包括:服务治理(熔断/限流) (opens new window)、监控 (opens new window)和日志,如果…

04-spring-理-ApplicationContext的实现

实现1&#xff1a;ClassPathXmlApplicationContext 1、内部维护了 DefaultListableBeanFactory 2、通过XmlBeanDefinitionReader 读取配置文件将结果加入到 DefaultListableBeanFactory 3、没有维护 bean后置处理器 &#xff0c;可以通过在xml配置 <context:annotation-c…

【linux板卡】lubancat通过vnc远程访问桌面

鲁班猫开发板通过远程VNC连接桌面&#xff1a; 硬件&#xff1a;lubancat2&#xff0c;网线 软件&#xff1a;ssh软件&#xff0c;vnc viewer 参考链接&#xff1a;https://training.eeworld.com.cn/video/38821 1、ssh连接lubancat2 &#xff0c;输入ifconfig查看ip 2、输入 …

HarmonyOS Next ArkUI @State @Prop @Link @Provide @Consume笔记

学习目标&#xff1a; State装饰器 Prop装饰器 Link装饰器 Link装饰器 Provide装饰器 Consume装饰器 学习内容&#xff1a; GrandsonComponent Component export struct GrandsonComponent {Consume(provideValue) consumeValue: numberbuild() {Column(){Text(孙组件).font…

【GPT】Coze使用开放平台接口-【8】创建应用

coze 可以用来创建简单的应用啦&#xff0c;这样测试起来会比原本的 Agent 更加方便&#xff0c;我们来看看如何创建一个“语音Real不Real”的应用。这个应用就是来检测语音是否是伪造的&#xff0c;克隆或者是合成的。先看下原本 Agent 的样子&#xff1a; 深度伪造语音检测&a…

选择器(结构伪类选择器,伪元素选择器),PxCook软件,盒子模型

结构为类选择器 伪元素选择器 PxCook 盒子模型 (内外边距&#xff0c;边框&#xff09; 内外边距合并&#xff0c;塌陷问题 元素溢出 圆角 阴影: 模糊半径&#xff1a;越大越模糊&#xff0c;也就是越柔和 案例一&#xff1a;产品卡片 <!DOCTYPE html> <html lang&q…

[极客大挑战 2019]Knife1

这里很显然&#xff0c;根据提示可以猜测&#xff0c;已经有一句话木马上传了&#xff0c;但是路径这里不是很清楚&#xff0c;不知道路径在哪里&#xff0c;不过还是用菜刀连一下试试&#xff1a; 连接成功&#xff0c;在根目录下发现flag。不过如果不用菜刀&#xff0c;可以用…

面试手撕笔记ML/DL

数据集 数据集的批处理迭代器 Deep-ML | Batch Iterator for Dataset 实现一个批量可迭代函数&#xff0c;该函数在numpy数组X和可选numpy数组y中进行采样。该函数应该生成指定大小的批量。如果提供了y&#xff0c;则该函数应生成&#xff08;X, y&#xff09;对的批次&#…

flink cdc oceanbase(binlog模式)

接上文&#xff1a;一文说清flink从编码到部署上线 环境&#xff1a;①操作系统&#xff1a;阿里龙蜥 7.9&#xff08;平替CentOS7.9&#xff09;&#xff1b;②CPU&#xff1a;x86&#xff1b;③用户&#xff1a;root。 预研初衷&#xff1a;现在很多项目有国产化的要求&#…

JavaWeb开发(五)Servlet-ServletContext

1. ServletContext 1.1. ServletContext简介 1.1.1. ServletContext定义 ServletContext即Servlet上下文对象&#xff0c;该对象表示当前的web应用环境信息。 1.1.2. 获取ServletContext对象: &#xff08;1&#xff09;通过ServletConfig的getServletContext()方法可以得到…

ubuntu 如何使用vrf

在Ubuntu或其他Linux系统中&#xff0c;您使用ip命令和sysctl命令配置的网络和内核参数通常是临时的&#xff0c;这意味着在系统重启后这些配置会丢失。为了将这些配置持久化&#xff0c;您需要采取一些额外的步骤。 对于ip命令配置的网络接口和路由&#xff0c;您可以将这些配…

2024秋语法分析作业-B(满分25分)

特别注意&#xff1a;第17条产生式改为 17) Stmt → while ( Cond ) Stmt 【问题描述】 本次作业只测试一个含简单变量声明、赋值语句、输出语句、if语句和while语句的文法&#xff1a; 0) CompUnit → Block 1) Block → { BlockItemList } 2) BlockItemList → BlockItem…

SQL-leetcode-197. 上升的温度

197. 上升的温度 表&#xff1a; Weather ---------------------- | Column Name | Type | ---------------------- | id | int | | recordDate | date | | temperature | int | ---------------------- id 是该表具有唯一值的列。 没有具有相同 recordDate 的不同行。 该表包…

C#编写的金鱼趣味小应用 - 开源研究系列文章

今天逛网&#xff0c;在GitHub中文网上发现一个源码&#xff0c;里面有这个金鱼小应用&#xff0c;于是就下载下来&#xff0c;根据自己的C#架构模板进行了更改&#xff0c;最终形成了这个例子。 1、 项目目录&#xff1b; 2、 源码介绍&#xff1b; 1) 初始化&#xff1b; 将样…

通过无障碍服务(AccessibilityService)实现Android设备全局水印显示

一、无障碍功能简介 首先我们先来了解下无障碍功能的官方介绍&#xff1a; 无障碍服务仅应用于帮助残障用户使用 Android 设备和应用。它们在后台运行&#xff0c;并在触发 AccessibilityEvents 时接收系统的回调。此类事件表示用户界面中的某些状态转换&#xff0c;例如焦点已…