【NLP】Prompt-Tuning这么好用?
作者:十方
使用prompts去調節預訓練模型處理文本分類任務在小樣本上已經取得了比直接finetuning模型更好的效果,prompt-tuning的核心思想就是嵌入一小段文本,比如對于文本分類任務,將其轉變成填空任務,還有就是構建個映射器(verbalizer)可以在label和word之間相互映射,verbalizer是人工精妙設計的且用梯度下降學習的。論文提到verbalizer可能缺少覆蓋度且引入很高的偏差和方差,所以論文提出引入額外知識到verbalizer里,構建一個Knowledgable Prompt-tuning(KPT)去提升效果。Finetuning雖然效果很好,但是也需要充足的樣本去重新訓練網絡,在模型tuning領域,有很多prompts的研究在預訓練目標和下游任務構建了橋梁。論文給了個很好的例子:
句子x: What's the relation between speed and acceleration?
category: SCIENCE
模板: A [MASK] question: x
預估結果基于[MASK]所填word的概率,如果[MASK]填science概率比較高,那verbalizer的作用就是把science映射到真正的類別SCIENCE上。verbalizer就是構建vocabulary和label之間的橋梁。
現存很多工作都是人工制定verbalizer的,人工指定verbalizer就有很多問題,比如上述例子只把science映射成SCIENCE類,就很多限制,因為physics和maths同樣可以映射到SCIENCE,因此這種人工one-one映射限制了模型的收斂,同時預估也會有問題,也容易在verbalizer中引入偏差。還有很多工作嘗試緩解人工verbalizer的缺陷,用梯度下降尋找最好的verbalizer,然而這樣的方法很難推斷science和physics之間的聯系。如果我們能把{science, physics}->SCIENCE這種信息直接注入到verbalizer,預估的效果就會顯著提升,這就是KPT做的事。
KPT概述
KPT有3步
construction stage
用external KBs為每個label創建一系列的label words。值得注意的是擴展label words不僅僅是找同義詞,而是從各種粒度視角。
refinement stage
用PLM本身去給擴展的label words降噪。對于zero-shot的效果,該文提出了contextualized calibration去刪除一些先驗概率較低的words。對于few-shot learning,該文又提出了一個可學習的權重用于verbalizer的降噪。
utilization stage
最后用個average loss function去優化expanded verbalizers,把對一系列label words的打分映射到真正標簽的打分上。
整體框架如下圖:
該文的重點就是構建一個優秀的融合各種外在知識的verbalizer。verbalizer就是把vocabulary中的少數詞的概率,映射到label的概率,label words的集合是V,label空間是Y,Vy表示標簽y的label words集合,是V的子集,最終預估y的概率就是下式,g就是把label words的概率轉成label的概率:
KPT Method
基于上下文預估masked的word并不是一個單選問題,是沒有標準答案的,所以verbalizer必須有兩個特性,廣覆蓋和少主觀偏差。幸運的是external structured knowledge在主題分類和情感分類會同時滿足這兩個特性。對于主題分類而言,核心就是要從各個角度找到與topic相關的label words,論文選了個知識圖譜作為外部信息(external KB),該圖譜可以用來衡量label words和topic直接的相關性,用此選出與topic最相關的label words集合,如下表所示:
盡管用了個知識圖譜構建了一個verbalizer,但是這個verbalizer是充滿噪聲的,因為PLM可能根本不認可,所以需要refinement的過程。對于zero-shot learning,有3個問題需要解決。首先就是OOV問題,PLM沒見過KB推薦的詞咋辦呢?這些詞可能有很多類目的信息,處理這個問題,可以簡單的把沒見過的詞mask后預估應該填的詞的平均概率,作為這個詞的概率。第二個問題是處理一些長尾詞匯,PLM預估長尾詞匯的概率往往是不準確的。該文提出用contextualized calibration去刪除一些先驗概率較低的words,具體是我們可以計算label words的概率期望:
我們從訓練集采樣一批樣本然后mask掉word v并近似計算其期望:
如果這個值小于一個閾值就刪除。
第三個問題就是有些label words和其他相比,很難被預估個比較高的score,所以KB中的label words的概率需要被修正,用下公式:
對于Few-shot learning,處理起來就相對簡單了,給每個label words使用一個可學習的wv,最終weight歸一化后如下:
最后就是優化的目標了,一種是averge的方式,一種是加權,如下所示:
實驗
實驗效果如圖所示:
參考文獻
1 KnowLedgeble Prompt-tuning: Incorporating Knowledge into Prompt Verbalizer for Text Classification
https://arxiv.org/pdf/2108.02035.pdf
往期精彩回顧適合初學者入門人工智能的路線及資料下載機器學習及深度學習筆記等資料打印機器學習在線手冊深度學習筆記專輯《統計學習方法》的代碼復現專輯 AI基礎下載黃海廣老師《機器學習課程》視頻課黃海廣老師《機器學習課程》711頁完整版課件本站qq群955171419,加入微信群請掃碼:
總結
以上是生活随笔為你收集整理的【NLP】Prompt-Tuning这么好用?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: uefi启动如何进入
- 下一篇: ie浏览器如何截图