Raki的读paper小记:ConTinTin: Continual Learning from Task Instructions

news2025/1/15 6:28:27

Abstract&Introduction&Related Work

  • 研究任务
    Continual Learning from Task Instructions
  • 已有方法和相关工作
  • 面临挑战
  • 创新思路
    InstructionSpeak包含两个策略,充分利用task instruction来改善前向转移和后向转移:
    一个是从negative的输出中学习,另一个是re-visit以前任务的instruction
  • 实验结论

Problem formulation

ConTinTin

第一阶段描述其在学习第一个新任务之前的开始状态
第二阶段描述了它是如何随着一系列未完成的任务不断发展的
在这里插入图片描述

Evolution process
每个任务会有a piece of textual description,其他同TIL

Initialization process
一开始要让模型学习一些任务,初始化阶段需要大量的数据

Evaluation protocol

  1. Forward-transfer evaluation
    量化在解决target task之前,学习之前的任务有多有效,直觉上来说,训练的任务越多效果越好
  2. Backward-transfer evaluation

在前一个任务完成k+i−1后学习每一个新任务时,U中所有新任务的平均成绩

外层循环遍历所有任务t

对于每个任务,随机采样m次,test its performance

在这里插入图片描述

Backward-transfer evaluation

反向
在这里插入图片描述

Data

总共有六种不同的任务:
13 question generation tasks (QG)
16 answer generation tasks (AG)
12 classification tasks (CF)
8 incorrect answer generation tasks (IAG)
10 minimal modification tasks (MM)
2 verification tasks (VF)

每个任务有一堆instructions
在这里插入图片描述

data split
对于训练数据,从61个任务中随机挑选k个任务,S中的所有培训任务都有instruction,并保留其标记的样本集。剩余的61-k个任务被视为不可见的任务集U。U中的每个任务只有instruction;标记的样本集用于testing

持续学习中的任务顺序会影响最终成绩,我们不试图释放S和U的固定分割。在实验中,我们将随机生成它们多次,以形成不同的任务链,并报告平均性能

InstructionSpeak

NEGATIVE TRAINING

同时学习正负样本

最小化负样本输出概率,并不能使得模型表现更好, Since many “negative” outputs contain tokens that exist in the gold answers

先拿负样本去训练,让模型生成so-called 负样本,再去fine-tune,会使得模型效果更好

对于U中每一个看不见的任务,如果可用,我们直接采用它的负样本。对于S中的k个训练任务,正样本(包括指令中的正样本和标记的任务样本)比负样本多得多,我们使用S上的预训练模型对S的所有输入进行预测,如果输出不等于正确输出,我们将此(输入,预测输出)视为负样本。这意味着我们对“负输出”有一个loose definition:一旦它不等于ground truth,它就是负的。

由于S上的预训练模型已经可以保证生成质量,因此产生的negative output大多与正确输出相关

HISTORY TRAINING

不保存之前任务的样本,只保存instruction

每次学一个新任务之前,会把之前i-2个任务的instructions训练一遍

输入形式如下,把instruction放在最前面,防止被截断
在这里插入图片描述

给定S和U,InstructionSpeak中的整个learning pipeline是:

  1. S S S 进行预处理以获得模型 M ∗ M^{*} M
  2. 使用 M ∗ M^{*} M S S S 进行预测,以收集负样本集 S − S^− S
  3. S − S^− S 进行预处理,并对 S S S 进行微调,以获得增强的模型 M M M
  4. 对于 U U U 中的第 i i i 个未看到的任务 u i u_i ui,根据批次中所有早期任务 [ u 1 , ⋅ ⋅ , u i − 2 ] [u_1,··,u_{i−2}] [u1⋅⋅ui2]的instruction调整 M M M
  5. 如果可用,tune u i u_i ui 的负样本
  6. tune u i u_i ui 的正样本

Experiments

baseline:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

Conclusions

这项工作引入了一个新的学习问题:
从任务instruction中不断学习。目标是通过理解instruction而不是被标记的样本,探索现有预训练语言模型在解决新任务中的潜力。凭借我们的问题解决方案和良好的系统,我们为未来在社区中研究这一挑战铺平了道路

Remark

提出了一个新的持续学习任务范式,train negative sample也有点启发,开了个坑,之后有可能会follow

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

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

相关文章

nodejs图片上传/头像上传

项目结构 utils文件夹无用,没文件 前端代码 <!DOCTYPE html> <html lang"zh-CN"><head><meta charset"utf-8" /><meta http-equiv"X-UA-Compatible" content"IEedge" /><meta name"viewport&…

大屏展示项目开发常用属性

图例legend前言&#xff1a;1.[配置项手册](https://echarts.apache.org/zh/option.html#title)2.[使用手册可以快速入门](https://echarts.apache.org/handbook/zh/get-started/)3.4.一、图例legend1.1 设置图例的位置 &#xff08;上下左右&#xff09;1.1.1 上下&#xff08…

【爪洼岛冒险记】第2站:带你学会:Java中三种输出语句,java中基本数据类型,学会变量,常量,类型转换知识点

&#x1f331;博主简介&#xff1a;是瑶瑶子啦&#xff0c;一名大一计科生&#xff0c;目前在努力学习C进阶、数据结构、算法、JavaSE。热爱写博客~正在努力成为一个厉害的开发程序媛&#xff01; &#x1f4dc;所属专栏&#xff1a;爪洼岛冒险记 ✈往期博文回顾&#xff1a;【…

【译】eBPF 和服务网格:还不能丢掉 Sidecar

服务网格以典型的 sidecar 模型为人熟知&#xff0c;将 sidecar 容器与应用容器部署在同一个 Pod 中。虽说 sidecar 并非很新的模型&#xff08;操作系统的 systemd、initd、cron 进程&#xff1b;Java 的多线程&#xff09;&#xff0c;但是以这种与业务逻辑分离的方式来提供服…

主库出问题了,从库怎么办?

在前面的文章中,我和你介绍了 MySQL 主备复制的基础结构,但这些都是一主一备的结构。 大多数的互联网应用场景都是读多写少,因此你负责的业务,在发展过程中很可能先会遇到读性能的问题。而在数据库层解决读性能问题,就要涉及到接下来两篇文章要讨论的架构:一主多从。 今…

Qt之标准对话框(QColorDialog、QInputDialog、QFontDialog)

文章目录QColorDialog使用方式QInputDialog使用方式QFontDialog使用方式提示&#xff1a;以下是本篇文章正文内容&#xff0c;下面案例可供参考 QColorDialog QDialog类用于指定颜色的。 使用方式 设置最开始的颜色 setCurrentColor(Qt::red);//其他的颜色Qt::white Qt::…

迪文串口屏(1)-DMG80480C070_03WTC

由于成本缘故&#xff0c;用迪文串口屏去替换项目里的大彩串口屏&#xff0c;样品型号为DMG80480C070_03WTC。不过说句实话&#xff0c;迪文串口屏没有大彩串口屏那么容易上手。产品命名及硬件特性10Pin_1.0mm座子&#xff0c;7.0英寸&#xff0c;800*480分辨率&#xff0c;16.…

机器学习--方差和偏差、Bagging、Boosting、Stacking

目录 一、方差和偏差 数学定义 对公式的解释 减小偏差、方差、噪声 总结 二、Bagging 代码实现 bagging什么时候会变好 不稳定的learner ​总结 三、Boosting Gradient boosting gradient boosting 的代码实现 gradient boosting的效果 ​总结 四、Stacking st…

秒杀项目总结

秒杀就是同一个时刻有大量的请求争抢购买同一个商品&#xff0c;并且完成交易的过程 也就是大量的并发读和并发写 先制作一个增删改查的秒杀系统&#xff0c;但是想让这个系统支持高并发访问就没那么容易了&#xff0c; 如何让这个秒杀系统面对百万级的请求流量不出故障&…

02-final、finally、finalize的区别?

1.final final是java中的修饰符&#xff0c;用于修饰属性&#xff08;变量&#xff09;、方法、类。 1.被final修饰的变量不可以被改变,如果修饰引用,那么表示引用不可变,引用指向的内容可变. 被修饰的常量,在编译阶段会存入常量池中. 2.被final修饰的方法不可以被重写, 被修…

图片播放器的实现1——利用Image2LCD提取图片数据并显示

以下内容源于朱有鹏嵌入式课程的学习与整理&#xff0c;如有侵权请告知删除。 参考内容 &#xff08;1&#xff09;https://xiefor100.blog.csdn.net/article/details/71941527 &#xff08;2&#xff09;https://xiefor100.blog.csdn.net/article/details/78529519 内容总结 …

2022. 12 青少年软件编程(图形化) 等级考试试卷(四级)

2022年12月 青少年软件编程&#xff08;图形化&#xff09; scratch等级考试试卷&#xff08;四级&#xff09; 分数&#xff1a; 100 题数&#xff1a; 28 一、单选题(共 15题&#xff0c;共 30分) 1.运行下列程序&#xff0c; 变量“结果”的值为&#xff1f; &#xff08; &…

WXSS 如何进行编译?

过往中小企业或技术团队开发一个 App 的时间成本和人力成本居高难下&#xff0c;但是随着微信上线小程序&#xff0c;更像是为这部分群体打开了一扇天窗&#xff0c;此后小程序呈现出井喷式发展的状态&#xff0c;不仅微信&#xff0c;支付宝、百度、抖音等超级 App 都跟上步伐…

【C++核心编程】C++全栈体系(十)

C核心编程 第四章 类和对象 六、继承 继承是面向对象三大特性之一 有些类与类之间存在特殊的关系&#xff0c;例如下图中&#xff1a; 我们发现&#xff0c;定义这些类时&#xff0c;下级别的成员除了拥有上一级的共性&#xff0c;还有自己的特性。 这个时候我们就可以考…

华为DHCPv6实验配置

目录 配置AR1作为DHCPv6服务器为PC1分配IPv6地址 配置AR2作为DHCPv6服务器&#xff0c;AR1作为DHCPv6中继器为PC2分配IPv6地址 配置AR3作为DHCPv6 PD服务器为AR1分配地址前缀 什么是DHCP PD 配置AR1作为DHCPv6服务器为PC1分配IPv6地址 AR1 DHCPv6服务器端配置 ipv6 …

解决N+1问题的另一种方法 - 关联的多结果集ResultSet

如果我的博客对你有帮助&#xff0c;欢迎进行评论✏️✏️、点赞&#x1f44d;&#x1f44d;、收藏⭐️⭐️&#xff0c;满足一下我的虚荣心&#x1f496;&#x1f64f;&#x1f64f;&#x1f64f; 。 从版本 3.2.3 开始&#xff0c;MyBatis 提供了另一种解决 N1 查询问题的方…

C语言——位段

文章目录思维导图&#xff1a;一. 什么是位段二.位段的内存分配三.位段的跨平台问题四.位段的应用结语:思维导图&#xff1a; 一. 什么是位段 位段的声明和结构体类似&#xff0c;但是有2个不同&#xff1a; 位段的成员必须是int、unsigned int 或 signed int(在很多平台上cha…

python自学之《21天学通Python》(9)——基于tkinter的GUI编程

第12章 基于tkinter的GUI编程 Windows的图形用户界面非常方便用户操作&#xff0c;因此&#xff0c;Windows操作系统得到了广大个人计算机用户的欢迎。在Python中&#xff0c;也可以编写美观的GUI界面应用程序与项目。tkinter是Python自带的用于GUI编程的模块&#xff0c;tkin…

【论文速递】CVPR2022 - 学习 什么不能分割:小样本分割的新视角

【论文速递】CVPR2022 - 学习 什么不能分割:小样本分割的新视角 【论文原文】&#xff1a;Learning What Not to Segment: A New Perspective on Few-Shot Segmentation 获取地址&#xff1a;https://openaccess.thecvf.com/content/CVPR2022/papers/Lang_Learning_What_Not_…

Linux--线程控制--线程相关函数--tid--0109 10

1.如何理解线程 定义&#xff1a;在一个程序里的一个执行路线就叫做线程&#xff08;thread&#xff09;。 更准确的定义是&#xff1a;线程是“一个进程内部的控制序列”。 每个进程都有自己的进程地址空间和task_struct结构体&#xff0c;如果我们通过一定的方式在创建进程…