探索無監督域自適應,釋放語言模型的力量:基于檢索增強的情境學習實現知識遷移...

b37b79fdd813e1a3cfed3de420ee35bb.png

深度學習自然語言處理 原創
作者: Xnhyacinth

在自然語言處理(NLP)領域,如何有效地進行無監督域自適應(Unsupervised Domain Adaptation, UDA) 一直是研究的熱點和挑戰。無監督域自適應的目標是在目標域無標簽的情況下,將源域的知識遷移到目標域,以提高模型在新領域的泛化能力。近年來,隨著大規模預訓練語言模型的出現,情境學習(In-Context Learning) 作為一種新興的學習方法,已經在各種NLP任務中取得了顯著的成果。然而,在實際應用場景中,我們經常面臨一個問題:源領域的演示數據并不總是一目了然。這就導致了需要進行跨領域的上下文學習的問題。此外,LLMs在未知和陌生領域中仍然面臨著一些挑戰,尤其是在長尾知識方面。同時在無監督域自適應任務中,如何充分利用情境學習的優勢進行知識遷移仍然是一個開放性問題。

本文旨在探討如何在無監督域自適應場景下,通過檢索增強的情境學習(Retrieval-Augmented In-Context Learning) 實現知識遷移。具體來說,作者提出了一種名為Domain Adaptive In-Context Learning (DAICL) 的框架,該框架通過檢索目標域的相似示例作為上下文,幫助模型學習目標域的分布和任務特征。全面研究了上下文學習對于領域轉移問題的有效性,并展示了與基線模型相比取得的顯著改進。

接下來就讓我們一起看看作者是如何實現檢索增強情境學習的知識遷移!

2fc0549b4adda3b5e889412b8bd9a34b.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 旨在調整模型,從標記的源樣本和未標記的目標樣本中學習與領域無關的特征

1534952a67db35744e9f7da10f7be091.png

為了解決這些問題,本文提出了一種基于上下文學習的無監督領域適應(Unsupervised Domain Adaptation, UDA)方法,旨在將LLMs從源領域成功適應到目標領域,無需任何目標標簽。從目標未標記語料庫中檢索類似的示例作為源查詢的上下文,并通過連接源查詢和目標上下文作為輸入提示來執行自適應上下文學習。如上圖所示,對于來自源域的每個輸入,將其上下文與從目標未標記域檢索到的語義相似的文本組合起來,以豐富語義并減少表面形式的域差異。然后,模型將學習源輸入和目標上下文的任務區分。

方法

該研究提出了一種名為Domain Adaptive In-Context Learning (DAICL)的框架,通過檢索目標域的相似示例作為上下文,幫助模型學習目標域的分布和任務特征,使LLMs同時學習目標領域分布和判別性任務信號。具體來說,對于給定的源域數據和目標域數據,首先使用檢索模型(如SimCSE)在目標域中檢索與源域數據相似的示例。然后,將檢索到的示例作為上下文,與源域數據一起作為輸入,進行情境學習。通過這種方式,模型可以在目標域的上下文中學習任務特征,同時適應目標域的數據分布。主要分為以下幾個部分:

  • 檢索目標域相似示例:首先,在目標域中檢索與源域數據相似的示例。這一步的目的是找到能夠代表目標域特征的示例,以便模型能夠在目標域的上下文中學習任務特征。檢索方法可以采用現有的密集檢索模型,如SimCSE。

  • 構建上下文:將檢索到的目標域相似示例與源域數據一起作為輸入,形成上下文。這樣,模型可以在目標域的上下文中學習任務特征,同時適應目標域的數據分布。

  • 情境學習:在構建的上下文上進行情境學習。這里采用了兩種任務損失函數:(1)上下文任務損失,用于學習任務特征,預測標簽值y;(2)上下文語言建模損失,用于學習目標域的分布。通過優化這兩個損失函數,模型可以在目標域中實現知識遷移。

  • 模型訓練:根據所使用的模型架構(如編碼器,解碼器模型),設計相應的prompting策略和訓練策略。對于編碼器模型,可以采用提示詞(prompt)策略,將源域數據和檢索到的目標域示例拼接在一起作為輸入;對于解碼器模型,可以直接將檢索到的目標域示例作為輸入,進行自回歸學習。

  • 模型評估:在目標域的測試數據上評估模型性能。通過比較不同方法在命名實體識別(NER)和情感分析(SA)等任務上的結果,驗證DAICL框架的有效性。

00095739639b5a8739eadf5f2d13b061.png

如上圖所示, 顯示了 NER 任務上僅編碼器模型的訓練過程概述,MLM 目標會鼓勵編碼器學習與源域無法區分的目標分布。對于任務學習目標,在源輸入上使用平均匯聚(average pooling) 作為情感分析任務的預測機制,而在語言模型特征之上使用附加的條件隨機場(CRF)層進行命名實體識別任務的標記級別分類。

對于僅解碼器架構,包括僅推理微調兩種范式,下圖圖為帶有推理提示的示例,在給定目標測試查詢的情況下從源標記數據集中搜索輸入標簽對。虛線框包含從源檢索的演示。

c22a1199576a5ef7354c1dfb1bffff4d.png

對于微調設置下,利用lora用更少的計算資源微調更大的 LM,微調數據示例形式為,如下所示:

a3d254d13ba6a33b25e0a5266e192e41.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。

結果分析

fe620f43f02b98740e13e1d69f148d3e.png ad8d398dcad4f0998abe24e74f663cce.png

由以上兩個任務的性能對比表可知,DAICL 同時學習兩個目標,在大多數適應場景中都大大超過了基線。從 ICL-sup 的結果來看,我們發現僅使用任務目標進行訓練對 UDA 略有幫助。正如前面所討論的,好處源于利用目標上下文的任務判別能力。通過將 DAICL 與 ICL-sup 和 ICL-source 進行比較,可以發現所提出的上下文適應策略通過同時聯合學習任務信號和語言建模來增強領域適應。

微調有益于UDA,在 NER 實驗中,ChatGPT 的性能非常低,但微調更小的 RoBERTa 模型可以在大多數適應場景中實現最先進的分數。在 SA 實驗中,使用更少的可訓練參數 (1.7M) 微調 LLaMA 優于所有其他方法。因此,我們假設雖然法學碩士具有很強的泛化能力,但他們不能解決所有領域的問題。對于UDA來說,設計一個有效的適配策略還是有好處的。

ac5fb4e0fd8678d6e4c7e3a93fb4183f.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),進入技術/投稿群

3d94c47263d5a99a506c8bda9449d7a6.png

id:DLNLPer,記得備注呦

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/209203.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/209203.shtml
英文地址,請注明出處:http://en.pswp.cn/news/209203.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

ABAP - Function ALV 01 Function ALV的三大基石

森莫是Function ALV? 業務顧問和用戶方面的名詞定義為報表,在開發顧問方面定義的名詞為ALV 通過調用Function方式展示的ALV叫做FunctionALV.Function的解釋:封裝好的函數 Function ALV的三大基石 Fieldcat :Function ALV字段級別的處理 Layout …

前端小技巧: 設計一個簡版前端統計 SDK

統計 sdk 如何設計 1 ) 概述 客戶端一個sdk ,把數據發送給服務端(第三方統計平臺)服務端產生一個統計的報表 2 )需求點 訪問量:pv自定義事件:用戶的一切行為我們都可以自定義采集性能,錯誤 3 ) 代碼實現 const P…

uView框架的安裝與Git管理

參考鏈接:Http請求 | uView - 多平臺快速開發的UI框架 - uni-app UI框架 安裝 打開我們項目的cmd進行下載: yarn add uview-ui 首先我們要確定,未下載前的文件目錄以及下載后,是多了個文件目錄node_modules 下載完成之后我們就…

QQ2023備份

需要修改的路徑(共3處) 這三處路徑中,只有一處是需要修改的 QQPC端-主菜單-設置-基本設置-文件管理 點擊上面的“”自定義“”,然后修改路徑即可 修改路徑后提示 然后等一會才會關干凈QQ的相關進程,關閉后才會有自動…

外貿找客戶軟件工具:WhatBotPlus 4.6.2

WhatBot 是所有使用 Whatsapp 與客戶溝通的中小型公司、企業或自由職業者的理想軟件。借助 WhatBot,您可以通過 Whatsapp 發送新聞通訊活動,還可以設置自動回復。由于命令一旦配置,客戶就可以獲取各種信息、接收優惠和促銷等,從而…

linux安裝tomcat

Tomcat官網: http://tomcat.apache.org 配置java環境 上傳jdk1.8到服務器。安裝jdk [rootjava-tomcat1 ~]# tar xzf jdk-8u191-linux-x64.tar.gz -C /usr/local/[rootjava-tomcat1 ~]# cd /usr/local/[rootjava-tomcat1 local]# mv jdk1.8.0_191/ java 設置環境…

51單片機獨立按鍵以及矩陣按鍵的使用以及其原理--獨立按鍵 K1 控制 D1 指示燈亮滅以及數碼管顯示矩陣按鍵 S1-S16 按下后鍵值 0-F

IO 的使用–按鍵 本文主要涉及8051單片機按鍵的使用,包括獨立按鍵以及矩陣按鍵的使用以及其原理,其中代碼實例包括: 1.獨立按鍵 K1 控制 D1 指示燈亮滅 2.通過數碼管顯示矩陣按鍵 S1-S16 按下后鍵值 0-F 文章目錄 IO 的使用--按鍵一、按鍵消抖二、獨立按…

node.js和npm的安裝與環境配置(2023最新版)

目錄 安裝node.js測試是否安裝成功測試npm環境配置更改環境變量新建系統變量 安裝node.js 1、進入官網下載:node.js官網 我選擇的是windows64位的,你可以根據自己的實際情況選擇對應的版本。 2、下載完成,安裝。 打開安裝程序 接受協議 選…

【RabbitMQ基礎編程模型】

文章目錄 RabbitMQ基礎編程模型基礎編程模型step1、首先創建連接,獲取Channelstep2、聲明Exchange-可選step3、聲明queuestep4、聲明Exchange與Queue的綁定關系-可選 RabbitMQ基礎編程模型 RabbitMQ的使用生態已經相當龐大,支持非常多的業務場景&#x…

五、HotSpot細節實現

一、并發標記與三色標記 問題:三色標記到底發生在什么階段,替代了什么。并發標記 1、并發標記( Concurrent Marking) 從 GC Root 開始對堆中對象進行可達性分析,遞歸掃描整個堆里的對象圖,找出要回收的對象,這階段耗…

【大數據分析】

系列文章目錄 文章目錄 系列文章目錄前言一、數據分析框架二、數據分析方法1.數據清洗&數據探索2.數據清洗之異常值判別3.數據清洗之缺失值處理4.數據探索5.結構優化 三、大數據可視化1.大數據可視化概念1.1 定義1.2 數據可視化的意義 2.可視化類型和模型2.1 科學可視化2.2…

網站內容審核功能的重要性

網站內容審核功能的重要性在保護用戶權益、維護網站形象、遵守法律法規等方面都起到了至關重要的作用。 維護網站的合法性和道德性:網站內容審核功能的存在可以幫助過濾和刪除違法、淫穢、惡意、詐騙等不良內容,保證網站內容的合法性和道德性。 保護用…

前端部分知識點總結

小程序接口的通用協議是什么 小程序接口的通用協議是HTTPS。 小程序體驗版本打開后顯示空白,只有點擊"打開調試模式"再次打開才能顯示正常,原因是體驗版本的接口協議是HTTP,但小程序只認HTTPS,所以不會去調接口&#…

Python表單處理

目錄 通過Flask處理表單 通過Flask-WTF處理表單 通過Flask-WTF驗證表單 通過Flask處理表單 表單是在網頁中搜集用戶信息的各種表單控件的集合區域,表單控件包括文本框、單選框、復選框、提交按鈕等,用于實現客戶端和服務器端之間的數據交互。 利用F…

用Java寫一個拼圖游戲

目錄 運行出的游戲界面如下: User類 CodeUtil類 游戲設置 登陸代碼 注冊代碼 游戲代碼 運行出的游戲界面如下: 按住A不松開,顯示完整圖片;松開A顯示隨機打亂的圖片 User類 package domain;/*** ClassName: User* Author: Kox*…

AI人工智能和大模型(概念)之二

Pytorch的安裝 通過Anaconda安裝PyTorch更為便捷 張量:(1)Tensor可以是高維的(2)并非是PyTorch中才有的概念(3)PyTorch運算的基本單元(4)基礎數據定義和運算&#xff0…

【Windows】安裝 Apache服務 -- 實操詳細版

👨?🎓博主簡介 🏅云計算領域優質創作者 ??🏅華為云開發者社區專家博主 ??🏅阿里云開發者社區專家博主 💊交流社區:運維交流社區 歡迎大家的加入! 🐋 希望大家多多支…

使用Pytorch實現變分自編碼器

使用Pytorch實現變分自編碼器 可以結合這篇VAE講解文章閱讀這篇blog post代碼。 # Import necessary packages. import os import torch import torch.nn as nn import torch.nn.functional as F import torchvision from torchvision import transforms from torchvision.ut…

java打包到docker,以及idea遠程調試

這里主要介紹 dockerfile的打包方式 一、打包jar包到容器 1. 在要打包的項目中創建dockerfile,dockerfile與項目的pom.xml是同級 2. 編輯dockerfile文件 FROM openjdk:8 VOLUME ["/data/untitled"] COPY target/untitled-1.0.jar "/app.jar"…

人工智能技能要求

人工智能技能要求可以根據具體的職位和任務而有所不同,但一般來說,以下是一些常見的人工智能技能要求: 編程技能:掌握至少一種編程語言,并能夠運用該語言進行算法開發和數據處理。 機器學習:了解常見的機器…