探索无监督域自适应,释放语言模型的力量:基于检索增强的情境学习实现知识迁移...

d3a26acee5ad74644b2d152e6ed4ace8.png

深度学习自然语言处理 原创
作者: Xnhyacinth

在自然语言处理(NLP)领域,如何有效地进行无监督域自适应(Unsupervised Domain Adaptation, UDA) 一直是研究的热点和挑战。无监督域自适应的目标是在目标域无标签的情况下,将源域的知识迁移到目标域,以提高模型在新领域的泛化能力。近年来,随着大规模预训练语言模型的出现,情境学习(In-Context Learning) 作为一种新兴的学习方法,已经在各种NLP任务中取得了显著的成果。然而,在实际应用场景中,我们经常面临一个问题:源领域的演示数据并不总是一目了然。这就导致了需要进行跨领域的上下文学习的问题。此外,LLMs在未知和陌生领域中仍然面临着一些挑战,尤其是在长尾知识方面。同时在无监督域自适应任务中,如何充分利用情境学习的优势进行知识迁移仍然是一个开放性问题。

本文旨在探讨如何在无监督域自适应场景下,通过检索增强的情境学习(Retrieval-Augmented In-Context Learning) 实现知识迁移。具体来说,作者提出了一种名为Domain Adaptive In-Context Learning (DAICL) 的框架,该框架通过检索目标域的相似示例作为上下文,帮助模型学习目标域的分布和任务特征。全面研究了上下文学习对于领域转移问题的有效性,并展示了与基线模型相比取得的显著改进。

接下来就让我们一起看看作者是如何实现检索增强情境学习的知识迁移!

33b7e3816b132586b8d2d0dd01437c85.png

论文: Adapt in Contexts: Retrieval-Augmented Domain Adaptation via In-Context Learning
地址: https://arxiv.org/pdf/2311.11551.pdf

前言

在自然语言处理领域,大型语言模型(LLMs)通过其强大的能力在各种任务上取得了显著的成功。然而,当面临跨领域的情景时,LLMs仍面临着挑战,由于目标域标签不可用,在实际场景中通常缺乏域内演示。从其他领域获取带标签的示例可能会遭受巨大的句法和语义领域变化。此外,LLMs很容易产生不可预测的输出, 而且LLMs在未知和陌生领域的长尾知识上仍然存在局限性。因此亟需有效的适应策略,将语言模型的知识从标记的源域转移到未标记的目标域,称为无监督域适应(UDA)。UDA 旨在调整模型,从标记的源样本和未标记的目标样本中学习与领域无关的特征

346fbdda9ebb8895ece39506da74039f.png

为了解决这些问题,本文提出了一种基于上下文学习的无监督领域适应(Unsupervised Domain Adaptation, UDA)方法,旨在将LLMs从源领域成功适应到目标领域,无需任何目标标签。从目标未标记语料库中检索类似的示例作为源查询的上下文,并通过连接源查询和目标上下文作为输入提示来执行自适应上下文学习。如上图所示,对于来自源域的每个输入,将其上下文与从目标未标记域检索到的语义相似的文本组合起来,以丰富语义并减少表面形式的域差异。然后,模型将学习源输入和目标上下文的任务区分。

方法

该研究提出了一种名为Domain Adaptive In-Context Learning (DAICL)的框架,通过检索目标域的相似示例作为上下文,帮助模型学习目标域的分布和任务特征,使LLMs同时学习目标领域分布和判别性任务信号。具体来说,对于给定的源域数据和目标域数据,首先使用检索模型(如SimCSE)在目标域中检索与源域数据相似的示例。然后,将检索到的示例作为上下文,与源域数据一起作为输入,进行情境学习。通过这种方式,模型可以在目标域的上下文中学习任务特征,同时适应目标域的数据分布。主要分为以下几个部分:

  • 检索目标域相似示例:首先,在目标域中检索与源域数据相似的示例。这一步的目的是找到能够代表目标域特征的示例,以便模型能够在目标域的上下文中学习任务特征。检索方法可以采用现有的密集检索模型,如SimCSE。

  • 构建上下文:将检索到的目标域相似示例与源域数据一起作为输入,形成上下文。这样,模型可以在目标域的上下文中学习任务特征,同时适应目标域的数据分布。

  • 情境学习:在构建的上下文上进行情境学习。这里采用了两种任务损失函数:(1)上下文任务损失,用于学习任务特征,预测标签值y;(2)上下文语言建模损失,用于学习目标域的分布。通过优化这两个损失函数,模型可以在目标域中实现知识迁移。

  • 模型训练:根据所使用的模型架构(如编码器,解码器模型),设计相应的prompting策略和训练策略。对于编码器模型,可以采用提示词(prompt)策略,将源域数据和检索到的目标域示例拼接在一起作为输入;对于解码器模型,可以直接将检索到的目标域示例作为输入,进行自回归学习。

  • 模型评估:在目标域的测试数据上评估模型性能。通过比较不同方法在命名实体识别(NER)和情感分析(SA)等任务上的结果,验证DAICL框架的有效性。

bd15fbdff7cb4f54c4127aa4532f5179.png

如上图所示, 显示了 NER 任务上仅编码器模型的训练过程概述,MLM 目标会鼓励编码器学习与源域无法区分的目标分布。对于任务学习目标,在源输入上使用平均汇聚(average pooling) 作为情感分析任务的预测机制,而在语言模型特征之上使用附加的条件随机场(CRF)层进行命名实体识别任务的标记级别分类。

对于仅解码器架构,包括仅推理微调两种范式,下图图为带有推理提示的示例,在给定目标测试查询的情况下从源标记数据集中搜索输入标签对。虚线框包含从源检索的演示。

3b98ee7126e53e55d7aaae1360fca37f.png

对于微调设置下,利用lora用更少的计算资源微调更大的 LM,微调数据示例形式为,如下所示:

3a996d99391b4732e7fcf2bf8d94802c.png

实验设置

为了评估DAICL方法的有效性,该研究在命名实体识别(NER)和情感分析(SA)任务上进行了广泛的实验。实验采用了多种源域和目标域的组合,涵盖了新闻、社交媒体、金融和生物医学等领域。CoNLL-03(英语新闻)作为源域数据集,目标域数据集包括:金融(FIN)、社交媒体(WNUT-16、WNUT-17)、生物医学(BC2GM、BioNLP09、BC5CDR) 对于情感分析(SA)任务,使用了亚马逊评论数据集,涵盖了四个领域:书籍(BK)、电子产品(E)、美容(BT)和音乐(M)。

本文对比了多种基线方法,包括无监督域自适应的传统方法(如Pseudo-labeling和对抗训练)、基于检索的LM方法(如REALM和RAG)和情境学习方法(如In-context learning)。在实验中,将不同的LLMs架构与提出的In-Context Learning方法进行对比,并评估其在领域适应中的性能。对于评估指标,NER任务使用了F1分数,SA任务使用了准确率acc。

结果分析

76fe560b1d19386a5473dca92993efbc.png 83cf03014b570cc61fec3904eeb1c1a6.png

由以上两个任务的性能对比表可知,DAICL 同时学习两个目标,在大多数适应场景中都大大超过了基线。从 ICL-sup 的结果来看,我们发现仅使用任务目标进行训练对 UDA 略有帮助。正如前面所讨论的,好处源于利用目标上下文的任务判别能力。通过将 DAICL 与 ICL-sup 和 ICL-source 进行比较,可以发现所提出的上下文适应策略通过同时联合学习任务信号和语言建模来增强领域适应。

微调有益于UDA,在 NER 实验中,ChatGPT 的性能非常低,但微调更小的 RoBERTa 模型可以在大多数适应场景中实现最先进的分数。在 SA 实验中,使用更少的可训练参数 (1.7M) 微调 LLaMA 优于所有其他方法。因此,我们假设虽然法学硕士具有很强的泛化能力,但他们不能解决所有领域的问题。对于UDA来说,设计一个有效的适配策略还是有好处的。

38eb6b46d7463d6c5707aaa178ded8d9.png

最后作者也对比了自适应ICL和自适应预训练,自适应 ICL 在执行任务预测时将源输入与目标上下文混合,而自适应预训练只需要源输入;自适应ICL同时学习两个损失。为了比较这两种方法,在 LLaMA-LoRA 上进行了实验以执行自适应预训练。在第一阶段,使用目标未标记文本预训练 LoRA 权重。第二阶段,从上一阶段获得的LoRA检查点开始,通过任务监督继续对其进行微调。使用相同的羊Alpaca模板,但不提供说明性上下文。结果见上表,可以观察到,与 NoICL 相比,预训练对 SA 任务带来的收益很小,可以推测 SA 数据集中的域差距比 NER 数据集中的域差距更小。从而得出结论所提出的自适应 ICL 策略优于自适应预训练,这可能归因于自适应 ICL 下的仅解码器模型可以学习具有示范上下文的两个目标

总结

本文提出了一种名为Domain Adaptive In-Context Learning (DAICL)的框架,用于实现无监督域自适应(UDA)。该框架通过检索目标域的相似示例作为上下文,结合任务损失和领域适应损失进行情境学习,以实现知识迁移。实验采用了多个源域和目标域的数据集,包括命名实体识别(NER)和情感分析(SA)任务。与多种基线方法相比,DAICL在多种跨域场景下均取得了显著的性能提升,证明了其有效性。

尽管本文的方法在领域自适应上取得了令人满意的结果,但仍有一些可以进一步探索和改进的方向。首先,可以进一步研究不同的上下文学习策略,以进一步提高语言模型的领域适应能力。其次,可以考虑在不同任务和领域之间进行联合训练,以进一步提升模型的泛化性能。此外,还可以探索如何将上下文学习与其他领域自适应技术(如对抗训练)相结合,以进一步改进模型的适应性和抗干扰能力;可以考虑将多个任务同时进行无监督域自适应,以提高模型的泛化能力和适应性。通过在这些方向进行探索和改进,未来研究有望进一步提高无监督域自适应方法的性能,为实际应用提供更有效的解决方案。


备注:昵称-学校/公司-方向/会议(eg.ACL),进入技术/投稿群

fe7db50bba521b40c785d07cb7c7a6db.png

id:DLNLPer,记得备注呦

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

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

相关文章

docker安装elasticsearch和kibana

docker系列 1、CentOS7安装docker 2、docker安装rabbitmq 3、docker安装mysql docker安装elasticsearch和kibana docker系列一、安装elasticsearch二、安装kibana三、安装ik分词器1、分词器说明2、安装分词器 本篇文章所采用的elasticsearch和kibana版本以及ik分词器都是7.12.…

AS安装目录

编辑器: sdk: gradle: gradle使用的jdk目录:Gradle使用的jdk是android studio安装目录下的jbr 成功项目的android studio配置:

动态内存的管理malloc、free、calloc、realloc

身在井隅,心向星光 眼里有诗,自在远方 目录 动态内存的简单介绍 动态内存的优势 可以控制内存的大小 可以多次利用这部分空间 动态内存函数malloc、free malloc开辟函数 free释放函数 动态内存函数calloc、realloc calloc开辟函数 realloc调整函数 动…

生产问题: 利用线程Thread预加载数据缓存,其它类全局变量获取缓存偶发加载不到

生产问题: 利用线程Thread预加载数据缓存偶发加载不到 先上代码 public class ThreadTest {//本地缓存Map<String, Object> map new HashMap<String, Object>();class ThreadA implements Runnable{Overridepublic void run() {System.out.println("Thread…

笔记本电脑word打字延迟特别大,但是浏览器中打字没有延迟,如何解决这个问题。

问题描述&#xff1a; 笔记本电脑word打字延迟特别大&#xff0c;但是浏览器中打字没有延迟&#xff0c;如何解决这个问题。&#xff08;之前以为是自己的电脑用了6年&#xff0c;用的时间久了&#xff0c;硬件老化导致的&#xff0c;本来想直接换电脑的&#xff0c;但是想着去…

鸿蒙前端开发-构建第一个ArkTS应用(Stage模型)

创建ArkTS工程 若首次打开DevEco Studio&#xff0c;请点击Create Project创建工程。如果已经打开了一个工程&#xff0c;请在菜单栏选择File > New > Create Project来创建一个新工程。 选择Application应用开发&#xff08;本文以应用开发为例&#xff0c;Atomic Serv…

数据库连接池Druid

在 Spring Boot 项目中&#xff0c;数据库连接池已经成为标配&#xff0c;然而&#xff0c;我曾经遇到过不少连接池异常导致业务错误的事故。很多经验丰富的工程师也可能不小心在这方面出现问题。 在这篇文章中&#xff0c;我们将探讨数据库连接池&#xff0c;深入解析其实现机…

探索开源游戏的乐趣与无限可能 | 开源专题 No.47

CleverRaven/Cataclysm-DDA Stars: 9.0k License: NOASSERTION Cataclysm&#xff1a;Dark Days Ahead 是一个回合制的生存游戏&#xff0c;设定在一个后启示录世界中。尽管有些人将其描述为 “僵尸游戏”&#xff0c;但 Cataclysm 远不止于此。在这个残酷、持久、程序生成的世…

抓取真实浏览器设备指纹fingerprint写入cookie方案

一个关于抓取真实浏览器设备指纹写入cookie方案&#xff0c;用户访问页面获取到用户设备生成指纹id&#xff0c;通过js把指纹存入cookie&#xff0c;然后用php进行获取cookie存的指纹值到后台。 用途&#xff1a;追踪用户设备&#xff0c;防恶意注册&#xff0c;防恶意采集 浏…

Android12之解决:scripts/gcc-wrapper.py, line 79, in run_gcc(一百六十八)

简介&#xff1a; CSDN博客专家&#xff0c;专注Android/Linux系统&#xff0c;分享多mic语音方案、音视频、编解码等技术&#xff0c;与大家一起成长&#xff01; 优质专栏&#xff1a;Audio工程师进阶系列【原创干货持续更新中……】&#x1f680; 优质专栏&#xff1a;多媒…

区块链媒体宣发:揭示优势与趋势,引领信息传播新时代

在数字化潮流中&#xff0c;区块链技术正以惊人的速度改变着传媒行业的格局。从区块链媒体宣发中获得的种种优势和未来的趋势&#xff0c;不仅为企业带来了新的推广途径&#xff0c;也在信息传播领域掀起了一场革命。本文将深入探讨区块链媒体宣发的优势以及未来的发展趋势。 1…

深入理解希尔排序

基本思想 希尔排序(Shells Sort)是插入排序的一种又称“缩小增量排序”&#xff08;Diminishing Increment Sort&#xff09;&#xff0c;是直接插入排序算法的一种更高效的改进版本。希尔排序是非稳定排序算法。 对于n个待排序的数列&#xff0c;取一个小于n的整数gap(gap被…

Low Cost and High Performance FPGA with ARM and SDRAM inside

AG10KSDE176 AGM AG10KSDE176 是由 AGM FPGA AG10K 与 SDRAM 叠封集成的芯片&#xff0c;具有 AG10K FPGA 的可编程功能&#xff0c;提供更多可编程 IO&#xff0c;同时内部连接大容量 SDRAM。  FPGA 外部管脚输出 EQFP176 封装底部 Pad 为 GND&#xff0c;管脚说明请见下表&…

计网Lesson8 - NAT技术与链路层概述

文章目录 NAT 技术1. 因特网的接入方式2. 公网和私网3. NAT 技术 链路层1. 数据链路层概述2. 数据链路层的三个问题2.1 封装成帧2.2 透明传输2.3 差错检测 NAT 技术 1. 因特网的接入方式 光猫将电信号转换为数字信号发送给路由器 光纤入户 光纤传递的就是数字信号&#xff0c…

uniapp iOS离线打包——运行项目到模拟器报错?

运行项目、打包时报错问题 记录个人在开发过程中遇到的相关问题&#xff0c;后续有时间会不定时更新 文章目录 运行项目、打包时报错问题运行到模拟器报错解决方案 打包报错解决方案 运行到模拟器报错 解决方案 选中项目工程 —> Build Settings 滑动底部 —> User-Defi…

Java网络编程——安全网络通信

在网络上&#xff0c;信息在由源主机到目标主机的传输过程中会经过其他计算机。在一般情况下&#xff0c;中间的计算机不会监听路过的信息。但在使用网上银行或者进行信用卡交易时&#xff0c;网络上的信息有可能被非法分子监听&#xff0c;从而导致个人隐私的泄露。由于Intern…

Leetcode—389.找不同【简单】

2023每日刷题&#xff08;五十五&#xff09; Leetcode—389.找不同 实现代码 char findTheDifference(char* s, char* t) {int len strlen(s);int len2 len 1;int a[26] {0};int b[26] {0};if(len 0) {return t[0];}for(int i 0; i < len; i) {int idx s[i] - a;…

neuq-acm预备队训练week 8 P1144 最短路计数

题目描述 给出一个 N 个顶点 M条边的无向无权图&#xff0c;顶点编号为 1∼N。问从顶点 1 开始&#xff0c;到其他每个点的最短路有几条。 题目限制 输入格式 第一行包含 22 个正整数 N,M&#xff0c;为图的顶点数与边数。 接下来 M 行&#xff0c;每行 2个正整数 x,y&…

101基于matlab的极限学习机ELM算法进行遥感图像分类

基于matlab的极限学习机ELM算法进行遥感图像分类&#xff0c;对所获取的遥感图片进行初步分类和最终分类。数据可更换自己的&#xff0c;程序已调通&#xff0c;可直接运行。

键盘打字盲打练习系列之成为大师——5

一.欢迎来到我的酒馆 盲打&#xff0c;成为大师&#xff01; 目录 一.欢迎来到我的酒馆二.关于盲打你需要知道三.值得收藏的练习打字网站 二.关于盲打你需要知道 盲打系列教程&#xff0c;终于写到终章了。。。一开始在看网上视频&#xff0c;看到up主熟练的打字技巧&#xff…