NeurIPS2022SPrompts:摆脱新旧任务零和游戏,实现双赢的域增量学习方法分类器预训练

增量学习(连续学习)目标是在数据流中增量地训练一个机器学习模型,使得模型能够在获得新知识的同时不遗忘已经学习到的旧知识。灾难性遗忘(catastrophicforgetting)现象是增量学习的最大挑战之一,也就是模型在学习新知识的同时旧知识会出现严重的遗忘,从而导致模型在旧任务上性能下降。早期工作通过存储少量旧数据或者设计正则损失函数来维持模型在旧任务上的精度,然而这不可避免地限制了在新任务上的学习能力,如图1。因此大多数增量方法最后会陷入新旧任务之间的拔河游戏(零和游戏)–一方获得精度的同时会让另一方损失精度。这个挑战在域增量(Domain-incrementallearning)问题上尤为明显,不同域的知识可能很难在同一个空间中共存。此外保存旧任务的数据会占用大量存储空间,并且有隐私问题和新旧数据量不平衡的问题。因此本工作从实际应用需求出发,聚焦在无存储样本的域增量学习任务。

在本工作中,我们打破成规提出一个双赢策略来解决域增量问题,通过学习跨域独立的Prompts使得模型在每个域都得到最佳性能而没有任何相互干扰,并将学习到的Prompts存储来消除灾难性遗忘问题。所提出的新的增量模式仅仅为每个任务增加微不足道的参数(Prompts)学习当前域的知识,而预训练网络的其余部分都是冻结固定的,因此非常简单且有效。为了在推理阶段选择合适的Prompts,每个阶段的训练数据特征都会用K-Means计算得到域中心作为这个域的表示。在推理时,对于一个样本,我们先提取这个样本在预训练模型(ViT)的特征,再将这个特征用K-NN找存储的最近域中心作为挑选Prompts的依据。假设有S个阶段(Session),我们最终会独立地学习S个域的Prompts,因此本方法命名为S-Prompts。

此外为更好的学习不同域的Prompts,我们提出全新的针对视觉预训练模型的Prompts学习方法(S-iPrompts)以及针对视觉-语言预训练模型的Prompts学习方法(S-liPrompts)。本方法在三个标准DIL基准数据集上取得了较高的成绩,S-Prompts明显优于最新的无样本增量方法(平均精度相对提高30%),甚至对于使用样本的方法也高出6%精度。S-Prompts仅仅有极微小的参数增加,例如,在S-liPrompts中每个域增加0.03%参数量。

图1现有工作和本工作区别二、方法

图2S-liPrompts结构2.1S-Prompts框架简述

S-Prompts的核心思想是借助预训练模型,对每个域逐个学习Prompts。在增量训练时,预训练模型始终是固定的,通过训练Prompts可以将预训练模型调整迁移到不同的域中。在这样设定下,不同的域的知识被编码进仅有少量参数的Prompts中,这样不仅避免了存储旧样本,同时可以极大地减少灾难性遗忘。

然而这种设计在推理时需要对给定的样本挑选合适的Prompts。由于我们已经有了预训练模型,那么预训练模型本身可以帮助选择合适的Prompts。具体而言,如图2所示,我们应用K-Means来得到每个域的训练数据的特征中心,这些特征是直接使用预训练模型提取的,并没有应用Prompts。在推理时,我们直接使用K-NN来查询应该使用哪个域的Prompts。由于域增量任务的特征往往差别很大,这种简单的做法可以在DIL中获得良好的性能。

2.2图像Prompts(S-iPrompts)学习策略

在S-iPrompts的方法中,对于一个域S,我们使用一组独立的连续可学习参数(即Prompts)作为预训练ViT的输入的一部分,其中和分别是Prompts长度和维度。

如图2所示,给定域的图片,ViT的输入为,其中是图片tokens,是预训练模型ViT的classtokens。当在新的域上增量训练时,会添加一组新的独立的Prompts。因此,按顺序学习所有域会产生一个域的PromptPool。PromptPool可以定义为。

对于Classifier,每个session都会学习单独分类器并且存储下来,在推理时挑选对应的classifier。对于ViT,分类器就是全链接层,表示为,其中,,分别是特征维度和总共的类别数量。

每个增量阶段都有独立的分类器,因此我们也有一个分类器池。

2.3语言-图像Prompts(S-liPrompts)学习策略

S-liPrompts是为了能够将现在很多的视觉-语言预训练模型,例如CLIP,更好地增量迁移到下游任务上。对于阶段,我们使用个可学习的向量作为语言端的prompts,其中分别是Prompts的长度和维度。

对于第个类,语言编码器(textencoder)的全部输入为,其中是第个类的类别名称编码。

CLIP的语言编码器以上文定义的作为输入并且输出一个向量表示作为某个类的特征。

令为视觉编码器提取的图片的特征,是使用文字编码器提取的类别的特征,CLIP分类器使用如下公式计算预测概率。

三、实验结果

在实验设置上,本工作选择了三个在DIL任务上有代表性的大型评测基准:CDDB,CORE50和DomainNet。所有方法均使用相同预训练ViT-B/16或者同性能的Backbone(针对DyTox使用的是预训练ConViT)。

表1、2和3结果展示了所提出的S-iPrompts和S-liPrompts极大程度地超越了已有的其他无样本增量方法。甚至S-liPrompts得到了相对30%的精度提升。此外相对于存样本的方法,所提出的S-Prompts在不存样本的情况下也取得了6%左右的精度提升。

表1CDDB数据集结果

表2CORE50数据集结果

表3DomainNet数据集结果四、方法总结与未来展望

在本工作中我们提出使用Prompts来解决域增量学习中的灾难性遗忘现象,并且在多个数据集取得优秀的性能表现。尽管所提出的方法同时适用任务增量任务(TIL),但是还无法做类增量问题(CIL)。此外Prompts的设计还存在较大的优化空间,例如Prompts目前只作为最初的输入,但是Prompts的放置位置有很多可能性。最后,PromptTuning作为EfficientFinetuning技术的一种,未来可能会在增量学习中得到更深入的应用,特别是大规模预训练模型的兴起,会进一步推进对增量学习问题的研究。

作者:王亚斌

IllustrationbyDelesignGraphicsfromIconScout

-TheEnd-

扫码观看!

本周上新!

关于我“门”

将门是一家以专注于发掘、加速及投资技术驱动型创业公司的新型创投机构,旗下涵盖将门创新服务、将门技术社群以及将门创投基金。

将门成立于2015年底,创始团队由微软创投在中国的创始团队原班人马构建而成,曾为微软优选和深度孵化了126家创新的技术型创业公司。

如果您是技术领域的初创企业,不仅想获得投资,还希望获得一系列持续性、有价值的投后服务,欢迎发送或者推荐项目给我“门”:

THE END
1.增量法的计算原理与应用(增量法是怎样计算)增量法是一种在数学和工程领域中常用的计算方法,它通过计算各个连续时间段内的变化量来求解整个过程中的总变化量。以下是增量法的详细解释。 首先,我们需要了解增量法的核心概念。增量法将整个过程划分为若干小段,每一小段的变化量称为增量。通过累加每个小段的增量,我们可以得到整个过程的总体变化量。这种方法在处理https://www.zaixianjisuan.com/jisuanzixun/zengliangfadejisuanyuanliyuyingyong.html
2.增量数据抽取mysql增量数据抽取1. 增量数据的抽取方案 1.1 基于触发器的方式 在要抽取的表上建立需要的触发器,一般要建立I(INSERT)、D(DELETE)、U(UPDATE)三种触发器;每当源表中的数据发生变化,就被相应的触发器将变化的数据写入到一个临时表中,再通过ETL工具从临时表中抽取数据写到目标表中,同时要将临时表中抽取过的数据标记或者删除。 https://blog.csdn.net/qq_21108099/article/details/129935998
3.软件项目开发中,增量开发和迭代有什么区别?当项目团队开始一项新的软件开发计划时,他们会选择一种既能满足产品规范又能满足客户要求的开发方法。增量方开发和迭代开发是大多数人的选择。 增量方法将软件开发过程分解为小的、可管理的部分,称为增量。通过逐步建立功能,最终完全完成产品。 迭代开发是团队逐步建立特性和功能,但不要等到每个特性和功能都完成https://weibo.com/ttarticle/p/show?id=2309404825566221303958
4.iphone如何设置增量下载iphone设置增量下载方法详细步骤很多小伙伴都还不知道,下面IT百科小编为大家整理了增量下载设置技巧分享,一起来看看吧! 方法/步骤分享: 1、方法一:打开苹果手机“设置”,在设置列表中,点击“蜂窝移动网络”,打开蜂窝移动数据的开关。 2、操作完第一步后打开苹果应用商店,下载你需要的软件方法。https://g.pconline.com.cn/x/1527/15270898.html
5.当小样本遇见增量学习,智能如何实现,超详细最新综述来袭!在实际应用中,Tambwekar等人针对道路物体检测提出了一个小样本批量增量方法,设计了DualFusion架构,其中包含了用于基础类别检测的Faster R-CNN、一个新类别检测网络和一个融合网络。在检测每一个新类别时,只使用10个注释实例。尽管访问基础数据集只需一次,所有新的少量样本数据必须保留,以永久访问新类别数据。 https://www.cvmart.net/community/detail/8256
6.增量管理的方法和技巧7. 灵活适应:增量管理方法注重灵活性,根据项目进展情况和需求的变化进行调整和优化。8. 自动化测试:在每个增量开发中,尽可能地采用自动化测试来提高开发效率和保证质量。9. 版本控制:采用版本控制工具来管理项目的代码和文档,确保各个增量的版本管理和回溯能力。增量管理可以帮助项目更好地管理复杂性,https://zhidao.baidu.com/question/723424011875497805.html
7.营销总监总经理,关键时刻,如何完成销售目标,做增量的10大方法关键时刻,如何完成销售目标,业绩到底如何做增量?今天我们就为你分享,如何做增量,如何提升业绩的十大做法; 龚其形原创 文章结构: 第一、如何做增量:观念上,思想上重视销售和增量第二、如何做增量?2个关键词,“抢”“干”:第三、那我们到底如何做增量了?为您分享具体可操作的10个方法;具体内容: https://maimai.cn/article/detail?fid=1768317696&efid=kEiw4snogReGmXs7Mh3IkA
8.mysql全量备份增量备份实现方法Mysql这篇文章主要介绍了mysql全量备份、增量备份实现方法,需要的朋友可以参考下 GPT4.0+Midjourney绘画+国内大模型 会员永久免费使用! 【如果你想靠AI翻身,你先需要一个靠谱的工具!】 mysql全量备份、增量备份。开启mysql的logbin日志功能。在/etc/my.cnf文件中加入以下代码: https://www.jb51.net/article/99938.htm
9.第11讲增量动力分析方法与耐震时程法.pdf第11讲 增量动力分析方法与耐震时程法.pdf 84页VIP内容提供方:ki66588 大小:3.36 MB 字数:约6.5万字 发布时间:2018-06-05发布于浙江 浏览人气:836 下载次数:仅上传者可见 收藏次数:1 需要金币:*** 金币 (10金币=人民币1元)第11讲 增量动力分析方法与耐震时程法.pdfhttps://max.book118.com/html/2018/0604/170688951.shtm
10.一分钟了解增量预算法增量预算方法,又称调整预算方法,是指以基期成本费用水平为基础,结合预算期业务量水平及有关影响成本因素的未来变动情况,通过调整有关原有费用项目而编制预算的一种方法。这是一种传统的预算方法。 预算编制方法主要包括:按照编制基础来划分,可以将预算分为零基预算和增量预算。按照预算的状态进行划分,可以将预算分为https://www.gaodun.com/shipin/zhongji/9495.html
11.CAD增量角CAD增量角设置方法技巧步骤浩辰CAD增量角专题栏目主要汇总了CAD行业相关的CAD增量角设置方法、设置技巧、设置步骤等内容,更多CAD教程和CAD行业资讯请点击访问浩辰CAD软件官网。https://www.gstarcad.com/tag/3156/
12.RDSMySQL查看增量数据的方法云数据库RDS(RDS)RDS MySQL查看增量数据的方法 更新时间:2023-12-08 11:06:21 产品详情 RDS MySQL查看增量数据可以通过SQL洞察、Binlog以及DTS订阅三种方式。 SQL洞察 SQL洞察会统计所有的DML和DDL操作的信息,这些信息是采集系统对网络上的包进行采集得到的。SQL洞察并不会解析实际的参数的值, 并且在SQL查询量较大的时候会丢失少量https://help.aliyun.com/knowledge_detail/41748.html
13.hive下mergeinto实现增量更新方法一hive下增量的两种方法下面下面列出了两种hive批量增量的方法,我们详细讲一下merge into方法。 union all方式 insertoverwritetable原表select*from增量表unionallselecta.*from原表 aleftjoin增量表 bon1=1anda.业务不会变化的字段=b.业务不会变化的字段whereb.业务不会变化的字段isnull; https://juejin.cn/post/7005501029250301988
14.讲述增量编译方法,提高Vivado编译效率Vivado? Design Suite提供两种方法可加速产品上市进程,提高工作效率。可构建 Vivado 布局布线。在任何设计阶段处理任何类型的 ECO 问题,并可加快运行时间,确保时序收敛进程。 增量编译:使用增量编译满足最后时刻 HDL 变动需求,仅针对已变动逻辑进行布局布线,从而可节省时间。 https://www.elecfans.com/d/856591.html
15.档案管理中文本数据的增量多模态聚类方法然而,当大规模档案文本数据遇到实时性的需求时,传统的多模态数据融合算法无法满足在短时间对大量数据进行处理的任务,因此实现2种增量自适应文本数据特征学习方案,并求解对应的增量优化规则,可以节约数据处理的时间成本,同时学习的增量方法在一定程度上也更加节省数据占据的存储空间。2个实际文本数据集上的实验结果表明:文http://qks.cqu.edu.cn/html/cqdxzrcn/2022/5/20220514.htm
16.增量法的称量方法增量法的称量方法 增量法的称量方法:先将容器置于天平盘上,称得重量,再将供试品加入容器中,再称量,两次重量之差,即为供试品的医学教育|网搜集整理重量。需要称一定重量的供试品,常采用增量法。https://www.med66.com/new/56a301a2010/20101026qiji13277.shtml
17.mysql统计近一个月增量mob64ca12de62a6的技术博客统计近一个月MySQL增量数据的方法 MySQL是一种流行的关系型数据库管理系统,广泛用于各种应用中。在实际应用中,我们经常需要对数据进行统计和分析。本文将介绍如何使用MySQL来统计近一个月的增量数据,并给出相应的代码示例。 1. 需求分析 在开始编写代码之前,我们首先需要明确需求。本次需求是统计近一个月的增量数据。https://blog.51cto.com/u_16213356/8769442
18.增量内部收益率法与其他投资评估方法的对比股票频道在投资决策过程中,评估项目的价值和潜在回报至关重要。增量内部收益率法(Incremental Internal Rate of Return, IIRR)是一种常用的投资评估方法。本文将对IIRR与其他投资评估方法进行对比分析,帮助投资者更好地理解各种方法的优缺点,从而做出明智的投资决策。 https://stock.hexun.com/2024-04-20/212610772.html
19.Mysql数据库增量备份的实现思路方法介绍mysql教程MySQL数据库增量备份,在这之前修改我们的数据库配置文件/etc/my.cnf开启bin-log日志功能即可。接下来是我参考了下网上的一些方法,自己写的,主要还是要能学到他的一些思路和方法。 #function:MYSQL增量备份 #version:1.0.0 #author:wangyanlin #date:2017/08/02 https://www.php.cn/mysql-tutorials-378748.html
20.预算编制的方法——增量预算法与零基预算法会计实务对于一个企业而言,做好全面预算十分关键,它不仅可以提高公司的运作效率,促进企业发展战略和经营目标的实现,还可以起到对企业实施内部控制,防范企业风险的作用。今天带大家学习一下预算编制方法中的增量预算法与零基预算法。 增量预算法与零基预算法:增量预算法和零基预算法主要用于销售费用预算和管理费用预算的编制,两https://www.chinaacc.com/kuaijishiwu/zzjn/zh20201013095203.shtml
21.UGNX阵列增量的使用方法分享UG NX中的阵列增量功能允许用户在沿着指定方向重复放置元素时,逐渐改变它们的大小、角度或位置。本文将介绍UG NX中阵列增量功能的使用方法,该功能可以帮助用户快速创建大量相似的元素。无论您是新手还是资深用户,都能从本文中学到有关阵列增量的基础知识和实用技巧。 https://www.yutu.cn/news_51916.html
22.《敏捷实践指南》不确定性->风险->较少的工作增量->迭代、增量方法 - 非常短的反馈循环 - 频繁调整过程 - 重新进行优先级排序 - 定期更新计划 - 频繁交付 斯泰西复杂性模型 需求、技术程度的不确定性 简单的->线性方法;繁杂的、复杂的->自适应方法;混乱的->冒险 https://www.jianshu.com/p/5d0c5d509103