Learning to Prompt for Continual Learning

Abstract

持續學習背后的主流范式是使模型參數適應非平穩數據分布,其中災難性遺忘是核心挑戰。典型方法依賴于排練緩沖區或測試時已知的任務標識來檢索已學知識并解決遺忘問題,而這項工作提出了一種持續學習的新范式,旨在訓練一個更簡潔的記憶系統,且在測試時無需訪問任務標識。我們的方法學習動態提示(L2P)預訓練模型,以便在不同任務轉換下順序學習任務。在我們提出的框架中,提示是可學習的小參數,保存在記憶空間中。目標是優化提示以指導模型預測,并在保持模型可塑性的同時,顯式管理任務不變和特定于任務的知識。我們在流行的圖像分類基準測試下,針對不同具有挑戰性的持續學習設置進行了全面實驗,L2P始終優于先前的最先進方法。令人驚訝的是,即使沒有排練緩沖區,L2P也能取得與基于排練的方法相媲美的結果,并且可直接應用于具有挑戰性的任務無關持續學習。

Introduction

與在獨立同分布(i.i.d.)數據上進行訓練的普通監督學習不同,持續學習旨在解決在非平穩數據分布上訓練單個模型的問題,其中不同的分類任務是按順序呈現的。然而,由于該模型在學習周期的單個階段中僅能訪問當前數據,它易于對當前可用數據過擬合,并且由于災難性遺忘,在先前數據上會出現性能下降的情況。

先前工作的局限性在持續學習中提出了關鍵問題[13, 16]:(1) 情景記憶的形式能否超越對過往數據的緩沖,發展為更智能、簡潔的情景記憶系統?(2) 如何在不知道任意樣本的任務身份的情況下,自動為其選擇相關的知識組件?
為了回答第一個問題,我們從基于提示的學習(提示法)[29] 的最新進展中汲取靈感,這是自然語言處理(NLP)領域的一種新的遷移學習技術。提示法通過包含額外特定任務信息的模板化或可學習的提示詞來設計模型文本輸入,以便預訓練語言模型能夠處理參數化輸入,從而執行特定于提示的預測 [25, 27, 53]。直觀地說,基于提示的學習將下游任務的學習從直接調整模型權重重新規劃為設計提示,這些提示 “指導” 模型有條件地執行任務。提示編碼了特定任務的知識,并且比普通的微調更能有效地利用預訓練的凍結模型。因此,在持續學習的背景下,利用提示來學習知識,并進一步存儲所學知識是很有前景的。
然而,目前尚不清楚如何直接應用提示來解決持續學習中上述的第二個問題。一方面,如果我們按順序針對不同任務訓練不同的提示,那么在測試時,仍需要知道任務標識,以便使用合適的特定任務提示進行預測。另一方面,作為一種遷移學習技術,提示的目標是讓凍結的預訓練模型在下游任務上各自表現良好,而不是按順序表現良好。因此,如果我們改為對所有任務使用單一共享提示,災難性遺忘的問題可能仍然存在。
為此,我們提出了一種新的持續學習方法,稱為持續學習的提示學習(L2P),它與流行的基于排練的方法相互獨立,并且適用于不知道任務身份或邊界的實際持續學習場景。圖1對我們的方法與典型的持續學習方法進行了對比概述。L2P利用預訓練模型的代表性特征;然而,在持續學習過程中,L2P并不對參數進行微調,而是保持預訓練模型不變,轉而學習一組提示,這些提示可以動態指導模型解決相應的任務。具體來說,提示信息以鍵值對的形式組織在一個名為提示池的共享內存空間中,并且我們設計了一種查詢機制,以便根據實例級輸入特征動態查找與任務相關的提示信息子集。提示池與監督損失聯合優化,確保共享提示對用于知識遷移的共享知識進行編碼,而非共享提示對有助于維持模型可塑性的特定任務知識進行編碼。我們的設計明確地將共享知識和特定任務知識解耦,從而在很大程度上減少了優化過程中特定任務知識之間的干擾,實現了最小化的災難性遺忘,且無需使用重放緩沖區。實例級查詢機制消除了了解任務身份或邊界的必要性,使最具挑戰性但研究不足的任務無關持續學習成為可能。然后,將選定的提示添加到輸入嵌入之前(圖2),這會隱式地將與任務相關的指令添加到預訓練模型中,以便模型回憶起最相關的特征來執行相應的任務。

Learning to Prompt

From prompt to prompt pool

引入提示池有三個動機。首先,測試時的任務身份是未知的,因此訓練與任務無關的提示是不可行的。其次,即使與任務無關的提示在測試時可以得知,它也會阻礙相似任務之間可能的知識共享。第三,雖然為所有任務學習單一共享提示的簡單方法能夠實現知識共享,但它仍然會導致嚴重的遺忘問題。理想情況下,人們希望學習一種模型,該模型能夠在任務相似時共享知識,而在其他情況下保持知識的獨立性。因此,我們建議使用提示池來存儲編碼后的知識,這些知識可以靈活地組合起來作為模型的輸入。
提示池被定位為
P = P 1 , P 2 , P 3 . . . , P M , P = {P_1,P_2,P_3...,P_M} , P=P1?,P2?,P3?...,PM?,
其中, P j ∈ R L p × D P_j \in R^{L_p \times D} Pj?RLp?×D是單個prompt,Lp為token長度,embedding size D與x相同。
我們分別令 x x x x e = f e ( x ) x_e = f_e(x) xe?=fe?(x)為輸入和對應的embedding feature。請注意,我們在符號表示中省略了(x)的任務索引(t),因為我們的方法對于與任務無關的設置具有足夠的通用性。

x p = [ P s 1 ; . . . . ; P s N ; x e ] , 1 < = N < = M x_p = [P_{s1};....;P_{sN};x_e], 1<=N<=M xp?=[Ps1?;....;PsN?;xe?],1<=N<=M
其中;表示沿標記長度維度的連接。提示可以自由組合,因此它們可以聯合編碼知識(例如視覺特征或任務信息),以供模型處理。我們希望通過實例級別的提示組合來實現更細粒度的知識共享方案:相似的輸入傾向于共享更多的通用
在這里插入圖片描述

Instance-wise prompt query

我們設計了一種基于鍵值對的查詢策略,以便為不同的輸入動態選擇合適的提示。這種查詢機制與其他領域的方法有一些共同的設計原則,例如可微神經計算機[14]和矢量量化變分自編碼器(VQ-VAE)[41],它們具有外部存儲器,用于出于不同目的進行維護和使用。
我們將每個提示與一個可學習的鍵相關聯,把提示作為值:
在這里插入圖片描述
we denote the set of all keys by K = { k i } i = 1 M \mathbf{K} = \left\{ \mathbf{k}_i \right\}_{i=1}^{M} K={ki?}i=1M?
理想情況下,我們希望讓輸入實例本身通過查詢-鍵匹配來決定選擇哪些提示。為此,我們引入查詢函數q
將輸入x編碼到和key相同的維度。 此外,q 對于不同任務應該是一個確定性函數,并且沒有可學習參數。我們直接將整個預訓練模型作為一個固定的特征提取器,以獲取查詢特征:q(x) = f(x)0,:.
Denote γ : R D k × R D k → R \gamma:R^{D_k} \times R^{D_k} \rightarrow R γ:RDk?×RDk?R作為一個對查詢與提示鍵之間的匹配進行評分的函數。(我們發現余弦距離效果很好)。給定輸入x,我們使用q(x)通過簡單地求解目標來查找前N個鍵:
在這里插入圖片描述
其中Kx代表從K中為專門為x選擇的前N個key的子集。請注意,這種鍵值策略的設計將查詢機制學習和提示學習過程解耦,實驗表明這一點至關重要。此外,對提示的查詢是以實例方式進行的,這使得整個框架與任務無關,也就是說,該方法在訓練期間無需明確的任務邊界,在測試時也無需任務標識即可運行。

可選擇地使提示選擇多樣化。
雖然我們的方法不需要任務邊界信息,但在現實場景和實驗數據集中,任務轉換通常是離散的,因此在訓練時任務邊界是已知的。我們發現,在我們的框架中加入這樣一個先驗知識,可以幫助模型學習到更好的特定任務提示,特別是當任務具有高度多樣性時。為此,我們提出了一種簡單的擴展方法,以添加任務邊界先驗,這對于L2P而言是可選的。
在任務t的訓練過程中,我們維護一個提示頻率表Ht = [h1, h2, ··· , hM],其中每個條目表示在任務t - 1之前提示Pi被選中的歸一化頻率。
為鼓勵查詢機制選擇多樣化的提示,我們修改了公式3為
在這里插入圖片描述
h s i h_{si} hsi?對頻繁使用的提示進行懲罰,避免其被選中,以鼓勵多樣化選擇。公式4只在訓練中適用,在測試時間,公式3被使用。

Optimization objective for L2P

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

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

相關文章

【論文閱讀筆記】知網SCI——基于主成分分析的空間外差干涉數據校正研究

論文詞條選擇 —— 知網 【SCI】【數據分析】 題目&#xff1a;基于主成分分析的空間外差干涉數據校正研究 原文摘要&#xff1a; 空間外差光譜技術(SHS)是一種新型的高光譜遙感探測技術&#xff0c;被廣泛應用于大氣觀測、天文遙感、物質識別等領域。通過空間外差光譜儀獲取…

如何用VS Code、Sublime Text開發51單片機

文章目錄 一、前置工作二、VS Code2.1 Code Runner配置2.2 編譯快捷鍵 三、Sublime Text3.1 Build System創建3.2 編譯快捷鍵 四、使用STC-ISP下載代碼到單片機 使用VS Code開發51單片機的好處自不必多說&#xff0c;直接進入正題。本博客的目標是讓你能夠使用VS Code或者Subli…

信息抽取數據集全景分析:分類體系、技術演進與挑戰_DEEPSEEK

信息抽取數據集全景分析&#xff1a;分類體系、技術演進與挑戰 摘要 信息抽取&#xff08;IE&#xff09;作為自然語言處理的核心任務&#xff0c;是構建知識圖譜、支持智能問答等應用的基礎。近年來&#xff0c;隨著深度學習技術的發展和大規模預訓練模型的興起&#xff0c;…

利用 Python 腳本批量查找并刪除指定 IP 的 AWS Lightsail 實例

在 AWS Lightsail 管理中&#xff0c;隨著實例數量的增多&#xff0c;我們常常會遇到這樣一個問題&#xff1a; “我知道某個公網 IP 地址&#xff0c;但不知道它關聯的是哪臺實例。” 或者&#xff1a; “我有一批老舊的實例只知道 IP&#xff0c;需要一鍵定位并選擇刪除。…

CompletableFuture 深度解析

本文將探討 Java 8 引入的 CompletableFuture&#xff0c;一個在異步編程中實現非阻塞、可組合操作的強大工具。我們將從 CompletableFuture 的基本概念、與傳統 Future 的區別、核心 API 用法&#xff0c;到復雜的鏈式調用、組合操作以及異常處理進行全面解析&#xff0c;并通…

給自己網站增加一個免費的AI助手,純HTML

助手效果圖 看完這篇文章&#xff0c;你將免費擁有你自己的Ai助手&#xff0c;全程干貨&#xff0c;先到先得 獲取免費的AI大模型接口 訪問這個地址 生成key https://openrouter.ai/mistralai/mistral-small-3.2-24b-instruct:free/api 或者調用其他的免費大模型&#xff0c;這…

ASProxy64.dll導致jetbrains家的IDE都無法打開。

在Windows11中,無法打開jetbrains的IDE的軟件,經過排查,發現與ASProxy64.dll有關。 E:\idea\IntelliJ IDEA 2024.1.7\bin>idea.bat CompileCommand: exclude com/intellij/openapi/vfs/impl/FilePartNodeRoot.trieDescend bool exclude = true # # A fatal error has bee…

springboot+Vue逍遙大藥房管理系統

概述 基于springbootVue開發的逍遙大藥房管理系統。該系統功能完善&#xff0c;既包含強大的后臺管理模塊&#xff0c;又具備用戶友好的前臺展示界面。 主要內容 一、后臺管理系統功能 ??核心管理模塊??&#xff1a; 用戶管理&#xff1a;管理員與普通用戶權限分級藥品分…

探索阿里云智能媒體管理IMM:解鎖媒體處理新境界

一、引言&#xff1a;開啟智能媒體管理新時代 在數字化浪潮的席卷下&#xff0c;媒體行業正經歷著前所未有的變革。從傳統媒體到新媒體的轉型&#xff0c;從內容生產到傳播分發&#xff0c;每一個環節都在尋求更高效、更智能的解決方案。而云計算&#xff0c;作為推動這一變革…

[附源碼+數據庫+畢業論文]基于Spring+MyBatis+MySQL+Maven+jsp實現的新生報道管理系統,推薦!

摘要 隨著信息技術在管理上越來越深入而廣泛的應用&#xff0c;管理信息系統的實施在技術上已逐步成熟。本文介紹了新生報道管理系統的開發全過程。通過分析高校新生入學報到信息管理的不足&#xff0c;創建了一個計算機管理高校新生入學報到信息的方案。文章介紹了新生報道管…

給定一個整型矩陣map,求最大的矩形區域為1的數量

題目: 給定一個整型矩陣map,其中的值只有0和1兩種,求其中全是1的 所有矩形區域中,最大的矩形區域為1的數量。 例如: 1 1 1 0 其中,最大的矩形區域有3個1,所以返回3。 再如: 1 0 1 1 1 1 1 1 1 1 1 0 其中,最大的矩形區域有6個1,所以返回6。 解題思…

第8章-財務數據

get_fund # 查看股票代碼000001.XSHE在2022年9月1日的總市值 q query( valuation ).filter( valuation.code 000001.XSHE ) df get_fundamentals(q, 2022-09-01) print(df[market_cap][0]) # 獲取第一行的market_cap值 這段代碼看起來是用于查詢股票在特定日期的總…

SQL關鍵字三分鐘入門:ROW_NUMBER() —— 窗口函數為每一行編號

在進行數據分析時&#xff0c;我們常常需要為查詢結果集中的每條記錄生成一個唯一的序號或行號。例如&#xff1a; 為每位員工按照入職時間排序并編號&#xff1b;按照訂單金額對訂單進行排序&#xff0c;并給每個訂單分配一個順序編號&#xff1b;在分組數據內為每條記錄編號…

微信小程序如何實現通過郵箱驗證修改密碼功能

基于騰訊云開發&#xff08;Tencent Cloud Base&#xff09;實現小程序郵箱驗證找回密碼功能的完整邏輯說明及關鍵代碼實現。結合安全性和開發效率&#xff0c;方案采用 ??云函數 小程序前端?? 的架構&#xff0c;使用 ??Nodemailer?? 發送郵件。Nodemailer 是一個專為…

C# VB.NET中Tuple輕量級數據結構和固定長度數組

C# VB.NET取字符串中全角字符數量和半角字符數量-CSDN博客 https://blog.csdn.net/xiaoyao961/article/details/148871910 在VB.NET中&#xff0c;使用Tuple和固定長度數組在性能上有細微差異&#xff0c;以下是詳細分析&#xff1a; 性能對比測試 通過測試 100 萬次調用&am…

建筑物年代預測與空間異質性分析解決方案

建筑物年代預測與空間異質性分析解決方案 1. 問題分析與創新點設計 核心任務:預測建筑物建造年代,并分析空間異質性對預測的影響 創新點設計: 空間權重矩陣集成:構建空間鄰接矩陣量化地理鄰近效應多尺度特征提取:融合建筑物微觀特征與街區宏觀特征異質性分區建模:基于…

FOUPK3system5XOS

Foupk3systemX5OS系統19.60內測版&#xff08;X9&#xff09;2023年4月16日正式發布 1.0Foupk3systemX5OS系統19.60&#xff08;X9&#xff09;2024年10月6日發布 Foupk3systemX5OS系統19.60增強版&#xff08;X9X5&#xff09;2024年10月6日發布Foupk3systemX5OS系統19.60正…

隨機生成的亂碼域名”常由**域名生成算法(DGA)** 產生

“隨機生成的亂碼域名”常由**域名生成算法&#xff08;DGA&#xff09;** 產生&#xff0c;是網絡攻擊&#xff08;尤其是僵尸網絡、惡意軟件控制場景 &#xff09;中躲避檢測的手段&#xff0c;以下是關鍵解析&#xff1a; ### 一、本質與產生邏輯 亂碼域名是攻擊者利用 **DG…

Solidity學習 - 繼承

文章目錄 前言繼承的基本概念繼承的基本用法單繼承實現函數重寫&#xff08;overriding&#xff09; 構造函數的繼承處理多重繼承抽象合約 前言 繼承是面向對象編程中的核心概念之一&#xff0c;Solidity作為一種面向對象的智能合約語言&#xff0c;同樣支持繼承機制。通過繼承…

依賴注入(Dependency Injection, DI)的核心概念和解決的核心問題

核心概念&#xff1a; 依賴注入是一種設計模式&#xff0c;也是實現控制反轉&#xff08;Inversion of Control, IoC&#xff09; 原則的一種具體技術。其核心思想是&#xff1a; 解耦&#xff1a; 將一個類&#xff08;客戶端&#xff09;所依賴的其他類或服務&#xff08;依…