有关介绍CVPR‘2024工作《持续学习的无干扰低秩适应》正式实施

一个不知名大学生,江湖人称菜狗
original author: Jacky Li
Email : 3435673055@qq.com

Time of completion:2024.04.03
Last edited: 2024.04.03

代码:GitHub - liangyanshuo/InfLoRA:CVPR'2024 工作 Interference-Free Low-Rank Adaptation for Continual Learning 的正式实现icon-default.png?t=N7T8https://github.com/liangyanshuo/InfLoRA?tab=readme-ov-file

目录

InfLoRA:用于持续学习的无干扰低秩适应

介绍

必要

数据集准备

训练

CIFAR100:

对于 InfLoRA-b5

对于 InfLoRA+CA

ImageNet-R(10 个任务):

对于 InfLoRA

对于 InfLoRA-b5

对于 InfLoRA+CA

ImageNet-R(20 个任务):

对于 InfLoRA-b5

ImageNet-R(5 个任务):

对于 InfLoRA-b5

域名网:

对于 InfLoRA-b5


InfLoRA:用于持续学习的无干扰低秩适应

这是 CVPR 2024 论文“持续学习的无干扰低秩适应”的正式实现。 在本文中,提出了一种新的参数高效持续学习方法,称为无干扰低秩自适应(InfLoRA)。

介绍

持续学习要求模型按顺序学习多个任务。在持续学习中,模型应具有在旧任务上保持其性能的能力(稳定性)和持续适应新任务的能力(可塑性)。最近,参数高效微调 (PEFT) 在持续学习中越来越受欢迎,它涉及冻结预训练模型并注入少量可学习参数以适应下游任务。尽管现有的基于PEFT的持续学习方法与不基于PEFT的学习方法相比表现出了更好的性能,但大多数方法没有考虑如何消除新任务对旧任务的干扰,这阻碍了模型在稳定性和可塑性之间做出良好的权衡。在这项工作中,我们提出了一种新的PEFT方法,称为无干扰低秩适应(InfLoRA),用于持续学习。InfLoRA 注入少量参数来重新参数化预训练的权重,并表明微调这些注入的参数等同于微调子空间内的预训练权重。此外,InfLoRA设计了这个子空间,以消除新任务对旧任务的干扰,在稳定性和可塑性之间做出良好的权衡。实验结果表明,InfLoRA在多个数据集上优于现有的最先进的持续学习方法。

必要

此代码在 PyTorch 中实现,我们在以下环境设置下执行实验:

  • 蟒蛇 = 3.8
  • 火炬 = 1.10.0
  • 火炬视觉 = 0.11.1
  • 蒂姆 = 0.6.7

我认为代码可以在其他版本的环境下运行,但我还没有尝试过。

数据集准备

  • 创建文件夹data/
  • CIFAR 100:应自动下载
  • ImageNet-R:请按照LAE[GitHub - gqk/LAE: A Unified Continual Learning Framework with General Parameter-Efficient Tuning, ICCV 2023 [PyTorch Code]]准备数据集并放入文件夹data/
  • DomainNet:从 Moment Matching for Multi-Source Domain Adaptation 下载,放入文件夹data/

训练

所有命令都应在项目根目录下运行。目前,该代码针对 1 个 A6000 GPU (48G) 运行。

CIFAR100:

对于 InfLoRA
<span style="background-color:var(--bgColor-muted, var(--color-canvas-subtle))"><span style="color:#1f2328"><span style="color:var(--fgColor-default, var(--color-fg-default))"><span style="background-color:var(--bgColor-muted, var(--color-canvas-subtle))"><code>python main.py --device "1" --config configs/cifar100_inflora.json 
</code></span></span></span></span>
对于 InfLoRA-b5
<span style="background-color:var(--bgColor-muted, var(--color-canvas-subtle))"><span style="color:#1f2328"><span style="color:var(--fgColor-default, var(--color-fg-default))"><span style="background-color:var(--bgColor-muted, var(--color-canvas-subtle))"><code>python main.py --device "1" --config configs/cifar100_inflorab5.json 
</code></span></span></span></span>
对于 InfLoRA+CA
<span style="background-color:var(--bgColor-muted, var(--color-canvas-subtle))"><span style="color:#1f2328"><span style="color:var(--fgColor-default, var(--color-fg-default))"><span style="background-color:var(--bgColor-muted, var(--color-canvas-subtle))"><code>python main.py --device "1" --config configs/cifar100_infloraca.json 
</code></span></span></span></span>

ImageNet-R(10 个任务):

对于 InfLoRA
<span style="background-color:var(--bgColor-muted, var(--color-canvas-subtle))"><span style="color:#1f2328"><span style="color:var(--fgColor-default, var(--color-fg-default))"><span style="background-color:var(--bgColor-muted, var(--color-canvas-subtle))"><code>python main.py --device "1" --config mimg10_inflora.json 
</code></span></span></span></span>
对于 InfLoRA-b5
<span style="background-color:var(--bgColor-muted, var(--color-canvas-subtle))"><span style="color:#1f2328"><span style="color:var(--fgColor-default, var(--color-fg-default))"><span style="background-color:var(--bgColor-muted, var(--color-canvas-subtle))"><code>python main.py --device "1" --config mimg10_inflorab5.json 
</code></span></span></span></span>
对于 InfLoRA+CA
<span style="background-color:var(--bgColor-muted, var(--color-canvas-subtle))"><span style="color:#1f2328"><span style="color:var(--fgColor-default, var(--color-fg-default))"><span style="background-color:var(--bgColor-muted, var(--color-canvas-subtle))"><code>python main.py --device "1" --config mimg10_infloraca.json 
</code></span></span></span></span>

ImageNet-R(20 个任务):

对于 InfLoRA
<span style="background-color:var(--bgColor-muted, var(--color-canvas-subtle))"><span style="color:#1f2328"><span style="color:var(--fgColor-default, var(--color-fg-default))"><span style="background-color:var(--bgColor-muted, var(--color-canvas-subtle))"><code>python main.py --device "1" --config mimg20_inflora.json 
</code></span></span></span></span>
对于 InfLoRA-b5
<span style="background-color:var(--bgColor-muted, var(--color-canvas-subtle))"><span style="color:#1f2328"><span style="color:var(--fgColor-default, var(--color-fg-default))"><span style="background-color:var(--bgColor-muted, var(--color-canvas-subtle))"><code>python main.py --device "1" --config mimg20_inflorab5.json 
</code></span></span></span></span>

ImageNet-R(5 个任务):

对于 InfLoRA
<span style="background-color:var(--bgColor-muted, var(--color-canvas-subtle))"><span style="color:#1f2328"><span style="color:var(--fgColor-default, var(--color-fg-default))"><span style="background-color:var(--bgColor-muted, var(--color-canvas-subtle))"><code>python main.py --device "1" --config mimg5_inflora.json 
</code></span></span></span></span>
对于 InfLoRA-b5
<span style="background-color:var(--bgColor-muted, var(--color-canvas-subtle))"><span style="color:#1f2328"><span style="color:var(--fgColor-default, var(--color-fg-default))"><span style="background-color:var(--bgColor-muted, var(--color-canvas-subtle))"><code>python main.py --device "1" --config mimg5_inflorab5.json 
</code></span></span></span></span>

域名网:

对于 InfLoRA
<span style="background-color:var(--bgColor-muted, var(--color-canvas-subtle))"><span style="color:#1f2328"><span style="color:var(--fgColor-default, var(--color-fg-default))"><span style="background-color:var(--bgColor-muted, var(--color-canvas-subtle))"><code>python main.py --device "1" --config domainnet_inflora.json 
</code></span></span></span></span>
对于 InfLoRA-b5
<span style="background-color:var(--bgColor-muted, var(--color-canvas-subtle))"><span style="color:#1f2328"><span style="color:var(--fgColor-default, var(--color-fg-default))"><span style="background-color:var(--bgColor-muted, var(--color-canvas-subtle))"><code>python main.py --device "1" --config domainnet_inflorab5.json 
</code></span></span></span></span>

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

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

相关文章

LeetCode-热题100:240. 搜索二维矩阵 II

题目描述 编写一个高效的算法来搜索 m x n 矩阵 matrix 中的一个目标值 target 。该矩阵具有以下特性&#xff1a; 每行的元素从左到右升序排列。 每列的元素从上到下升序排列。 示例 1&#xff1a; 输入&#xff1a; matrix [[1,4,7,11,15],[2,5,8,12,19],[3,6,9,16,22],[…

2014最新AI智能系统ChatGPT网站源码+Midjourney绘画网站源码+搭建部署教程文档

一、文章前言 SparkAi创作系统是基于ChatGPT进行开发的Ai智能问答系统和Midjourney绘画系统&#xff0c;支持OpenAI-GPT全模型国内AI全模型。本期针对源码系统整体测试下来非常完美&#xff0c;那么如何搭建部署AI创作ChatGPT&#xff1f;小编这里写一个详细图文教程吧。已支持…

【Java基础】DOS命令

开始时间: April 8, 2024 结束时间: April 8, 2024 阶段: Done 绝对路径与相对路径 相对路径&#xff1a;从当前目录开始定位&#xff0c;形成的路径绝对路径&#xff1a;从**顶级目录&#xff0c;**开始定位&#xff0c;形成的路径 常用的 dos 命令 查看当前目录是有什么内…

图书馆自助借书机怎么借书

图书馆自助借书机借书流程如下&#xff1a; 1. 找到图书馆自助借书机&#xff0c;在机器上选择借书功能。 2. 输入自己的借书卡号或者身份证号码&#xff0c;如果是第一次借书&#xff0c;可能需要进行注册。 3. 输入图书的条形码号码&#xff0c;可以通过扫描条形码或者手动输…

子集生成的一些总结

对于给定的n&#xff0c;生成集合{1&#xff0c;2……n - 1}的子集 简单枚举有三种办法 1&#xff0c;增量构造法 一次选出一个元素放到集合中&#xff0c;每一次递归都需要输出集合&#xff0c;因为是子集 #include<cstdio> int A[1000000];void print_subset(int n,…

Hybrid混合开发 和 Android平台JSBridge的原理

书接上篇&#xff1a;移动端研发技术的进化历程 纯原生开发主要面临动态化和开发成本两个问题&#xff0c;而针对这两个问题&#xff0c;诞生了一些跨平台的动态化框架。 针对原生开发面临的问题&#xff0c;业界一直都在努力寻找好的解决方案&#xff0c;而时至今日&#xf…

【Shell语言学堂】Shell 脚本练习1

Shell 脚本练习 shell语言实战 Shell 脚本练习&#x1f4a7;CSDN划过手的泪滴t现有一个脚本可传入n个参数&#xff0c;要求在脚本中实现在终端输出第n个参数之前的所有参数(不包含第n个参数)编写一个计算bmi体质指数的脚本&#xff0c;该脚本需要用户输入身高和体重信息&#x…

Lakehouse 大数据概念

“Lakehouse” 是一个相对新的概念,是大数据理论中的一个重要发展方向。它试图结合传统的数据湖(Data Lake)和数据仓库(Data Warehouse)的优点,以创造一种更为灵活和强大的数据管理体系。 在传统的大数据架构中,数据湖用于存储原始、未加工的数据,而数据仓库则用于存储…

代码随想录day34 | 贪心算法P3 | ● 1005 ● 134 ● 135

1005.K次取反后最大化的数组和 给你一个整数数组 nums 和一个整数 k &#xff0c;按以下方法修改该数组&#xff1a; 选择某个下标 i 并将 nums[i] 替换为 -nums[i] 。 重复这个过程恰好 k 次。可以多次选择同一个下标 i 。 以这种方式修改数组后&#xff0c;返回数组 可能…

机器人客户端如何配置同步消息至多个群中

大家好&#xff0c;我是雄雄&#xff0c;欢迎关注微信公众号&#xff1a;雄雄的小课堂。 前言 由于微信群的人数&#xff0c;最多是500人&#xff0c;如果有人的业务做的大&#xff0c;可能会同步创建好多个群&#xff0c;但是资料的不想多个群一起发&#xff0c;发给某个群&a…

[计算机网络] 当输入网址到网页

HTTP 首先&#xff0c;对URL进行解析&#xff0c;URL包含了Web服务器和对应的文件&#xff08;文件路径&#xff09; URL是请求服务器中的文件资源 通过Web服务器和对应文件来生产HTTP包&#xff08;超文本传输协议&#xff09; DNS 根据域名查询对应的IP地址 域名的层级 根…

下一代分层存储方案:CXL SSD

近日&#xff0c;在Memcon 2024大会上&#xff0c;三星推出了一款名为CXL Memory Module-Hybrid for Tiered Memory&#xff08;CMM-H TM&#xff09;&#xff0c;这款扩展卡配备了高速DRAM和NAND闪存&#xff0c;允许CPU和加速器远程访问额外的RAM和闪存资源。 那么&#xff0…

Kafka 线程模型痛点攻克: 提升分区写入 2 倍性能

01 引言 单分区写入在一些需要全局顺序消息的场景中具备重要应用价值。在一些严格保序场景下&#xff0c;需要将分区数设置为 1&#xff0c;并且只用单个生产者来发送数据&#xff0c;从而确保消费者可以按照原始顺序读取所有数据。此时&#xff0c;Kafka 的单分区写入性能将会…

Data Shapley Value 笔记

本文为 Data Shapley: Equitable Valuation of Data for Machine Learning 的阅读笔记&#xff0c;涉及论文中的 Data Shapley Value 计算公式、两种实现算法、实验应用部分的梳理。 为理解 Data Shapley Value&#xff0c;本文首先讨论 Shapley Value的相关内容&#xff0c;利…

Python基于Django的微博热搜、微博舆论可视化系统,附源码

博主介绍&#xff1a;✌程序员徐师兄、7年大厂程序员经历。全网粉丝12w、csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精彩专栏推荐订阅&#x1f447;…

K8s学习九(配置与存储_存储)

存储管理 Volumes HostPath 将节点上的文件或目录挂载到 Pod 上&#xff0c;此时该目录会变成持久化存储目录&#xff0c;即使 Pod 被删除后重启&#xff0c;也可以重新加载到该目录&#xff0c;该目录下的文件不会丢失 效果就是容器里的数据和主机里的数据进行共享 配置文…

蓝桥杯gcd汇总

gcd3014 问题描述 小明和小红是一对恋人&#xff0c;他们相爱已经三年了&#xff0c;在今年的七夕节&#xff0c;小明准备给小红一个特殊的礼物。他想要送给小红一些数字&#xff0c;让小红算出有多少对正整数 (a,b) 满足以下条件&#xff1a; clcm(a,b)−dgcd(a,b)x其中 c,…

JS-25-浏览器和浏览器对象

一、浏览器 由于JavaScript的出现就是为了能在浏览器中运行&#xff0c;所以&#xff0c;浏览器自然是JavaScript开发者必须要关注的。 目前主流的浏览器分这么几种&#xff1a; IE 6~11&#xff1a;国内用得最多的IE浏览器&#xff0c;历来对W3C标准支持差。从IE10开始支持E…

无人售货奶柜:开启便捷生活的新篇章

无人售货奶柜&#xff1a;开启便捷生活的新篇章 在这个快节奏的现代生活中&#xff0c;科技的革新不仅为我们带来了前所未有的便利&#xff0c;更在不经意间改变着我们的日常。其中&#xff0c;无人售货技术的出现&#xff0c;尤其是无人售货奶柜&#xff0c;已经成为我们生活…

项目管理中的估算活动资源

在项目管理中,资源估算是一项至关重要的任务。正确地估算活动资源可以确保项目的顺利进行,避免资源浪费和不必要的延误。以下是对项目管理中常见的活动资源类型的详细分析。 一、人力资源 人力资源是项目管理中最基本的资源之一。它包括项目团队成员的技能、知识和经验。在…