NLP 論文領讀|改善意圖識別的語義表示:有監督預訓練中的各向同性正則化方法

語言: CN / TW / HK

theme: smartblue

歡迎關注「瀾舟 NLP 論文領讀」專欄!關注我們的公眾號,加入交流群吧~ ID: 瀾舟科技。官網:https://langboat.com

本期分享者:甘子發

瀾舟科技演算法實習生 鄭州大學自然語言處理實驗室(ZZUNLP)二年級碩士生,

目前正在進行文字糾錯方向的研究。

E-mail: [email protected]

寫在前面

意圖識別(intent detection)是面向任務對話系統的核心模組,其標註資料較少,所以研究怎樣用少量資料訓練出一個優秀的意圖分類器(few-shot intent detection)有著很高的實用價值。

近年來 BERT 等預訓練語言模型(pre-trained language model,PLM)在各 NLP 任務中處於支配地位,而研究表明,在將PLM應用到任務上之前,用相關任務的標註資料先對 PLM 進行有監督的預訓練(supervised pre-training,其實就是fine-tuning),可以有效地提升後續微調的效果。對於意圖識別,先用少量的公開的對話標註資料對 PLM 進行微調(IntentBERT)[1],對模型有很大的提升。

但是,IntentBERT 有很強的各向異性(anisotropy),各向異性是一個幾何性質,在向量空間上的含義就是分佈與方向有關係,語義向量擠在了一個狹窄的錐形空間內,這樣向量彼此的餘弦相似度都很高,並不是很好的表示,而各向同性(isotropy)就是各個方向都一樣,分佈均勻。各向異性被認為是導致 PLM 在各下游任務中只能達到次優效能(表示退化問題)的一個重要因素,不過各向同性技術可以用來調整嵌入向量空間,而且使模型在眾多工上的效能都獲得了極大的提升。之前的各向同性技術,有些對沒經過微調的 PLM(off-the-shelf PLM)進行調整,但對於微調過的 PLM(fine-tuned PLM),這些技術對模型效能反而可能會有負面效果[2];有的在監督訓練過程中進行 isotropic batch normalization,但需要大量訓練資料[3],不適合缺少資料的意圖識別任務。

近日有一篇論文《Fine-tuning Pre-trained Language Models for Few-shot Intent Detection: Supervised Pre-training and Isotropization》,其中提出使用各向同性技術來改善 few-shot intent detection的supervised pre-training,在這篇工作中,作者先是研究了 isotropization和supervised pre-training (fine-tuning)之間的關係,然後提出了兩種簡單有效的各向同性正則化方法(isotropization regularizer),如圖 1 所示,並且取得了不錯的效果,下面我們一起來看看這篇論文的具體做法吧。

圖片

\

論文標題

Fine-tuning Pre-trained Language Models for Few-shot Intent Detection: Supervised Pre-training and Isotropization

論文作者

Haode Zhang, Haowen Liang, Yuwei Zhang, Liming Zhan, Xiao-Ming Wu, Xiaolei Lu, Albert Y.S. Lam

作者單位

Department of Computing, The Hong Kong Polytechnic University, Hong Kong S.A.R. 

University of California, San Diego 

Nanyang Technological University, Singapore 

Fano Labs, Hong Kong S.A.R.

論文連結

https://arxiv.org/abs/2205.07208

專案程式碼

https://github.com/fanolabs/isoIntentBert-main

Pilot Study

作者先是做了一些初步實驗,以瞭解各向同性與微調 PLM 之間的相互作用。

論文中使用下列公式計算各向同性:

$\mathrm{I}(\mathbf{V})=\frac{\min {\mathbf{c} \in C} \mathbf{Z}(\mathbf{c}, \mathbf{V})}{\max {\mathbf{c} \in C} \mathbf{Z}(\mathbf{c}, \mathbf{V})}$ (1)

$\mathbf{Z}(\mathbf{c}, \mathbf{V})=\sum_{i=1}^{N} \exp \left(\mathbf{c}^{\top} \mathbf{v}_{i}\right)$ (2) 

其中$\mathbf{V} \in \mathbb{R}^{N \times d}$是有 zero mean 的 N 個嵌入向量,$C=\mathbf{V}^{\top} \mathbf{V}$,$\mathbf{v}_{i}$是$\mathbf{V}$的第$i$行,$\mathrm{I}(\mathbf{V}) \in [0, 1]$,值為 1 表示有最高的各向同性。

圖片

論文中對比了 PLM 微調前後的各向同性,結果如表 1 所示,可以看到 PLM 經微調後,其各向同性有所下降,即微調可能導致特徵空間變得更加各向異性。

圖片

圖片

然後論文對比了將之前的兩種各向同性技術:

  • dropout-based contrastive learning [4]
  • whitening transformation [5]

應用到 fine-tuned PLM 上的效果,如圖 2、3 所示,可以看到除了 Figure 3(b),其他結果都是模型的各向同性提高,在任務上的效能下降,這表明各向同性技術可能降低 fine-tuned PLM 的效能。

Method

鑑於各向同性技術可能降低 fine-tuned PLM 的效能,於是作者便將各向同性技術與訓練過程相結合,並提出了兩種正則化方法,如圖 4 所示,讓模型在訓練過程中更加各向同性。

圖片

1. Supervised Pre-training for Few-shot Intent Detection

現在的意圖識別模型基本上是 PLM 加一個分類器(一般是線性層),設輸入句子經 PLM 後的語義表示為 $\mathbf{h}_{i}$ ,則分類器的計算過程可描述為:

$\mathrm{p}\left(y \mid \mathbf{h}{i}\right)=\operatorname{softmax}\left(\mathbf{W} \mathbf{h}{i}+\mathbf{b}\right) \in \mathbb{R}^{L}$ (3)

其中$\mathbf{h}_{i} \in \mathbb{R}^{d}$,$\mathbf{W} \in \mathbb{R}^{L \times d}$,$\mathbf{b} \in \mathbb{R}^{L}$,$L$是意圖類別的數量。

模型引數訓練過程可描述為:

$\theta=\underset{\theta}{\arg \min } \mathcal{L}{\mathrm{ce}}\left(\mathcal{D}{\text {source }} ; \theta\right)$ (4)

其中$\mathcal{L}{\mathrm{ce}}$為交叉熵損失函式,$\mathcal{D}{\text {source }}$是訓練集。

2. Regularizing Supervised Pre-training with Isotropization

論文提出的方法就是給目標函式加上正則項(regularizer),以增加各向同性:

$\mathcal{L}=\mathcal{L}{\text {ce }}\left(\mathcal{D}{\text {source }} ; \theta\right)+\lambda \mathcal{L}{\text {reg }}\left(\mathcal{D}{\text {source }} ; \theta\right)$ (5)

其中  $\lambda$ 是權重引數。

Contrastive-learning-based Regularizer

第一種正則項用的是上面提到過的 dropout-based contrastive learning loss,不過剛才是應用在 fine-tuned PLM 上,這裡是用在 fine-tuning 中:

$\mathcal{L}{\mathrm{reg}}=-\frac{1}{N{b}} \sum_{i}^{N_{b}} \log \frac{e^{\operatorname{sim}\left(\mathbf{h}{i}, \mathbf{h}{i}^{+}\right) / \tau}}{\sum_{j=1}^{N_{b}} e^{\operatorname{sim}\left(\mathbf{h}{i}, \mathbf{h}{j}^{+}\right) / \tau}}$ (6)

$x_i$ 是 $\mathcal{D}{\text {source }}$ 中的一條資料,$x_i$ 輸入 PLM 兩次,使用不同的 dropout masks 來得到兩個不同的表示 $\mathbf{h}{i}$和$\mathbf{h}{i}^{+}$,$\operatorname{sim}\left(\mathbf{h}{i}, \mathbf{h}{i}^{+}\right)$ 是餘弦相似度,因為$\mathbf{h}{i}$ 和 $\mathbf{h}{i}^{+}$ 表示同一個輸入,所以它們算是 positive pair,$\mathbf{h}{i}$ 和 $\mathbf{h}_{j}^{+}$ 就是 negative pair,前面說過,各向異性的特徵向量都擠在一起,彼此距離很近,加了正則項後,在訓練時,positive pairs 距離變近,negative pairs 距離變遠,特徵空間就更加各向同性。

Correlation-matrix-based Regularizer

上面的基於對比學習的正則項屬於隱式的方法,論文還介紹了一種顯式的方法。理想的各向同性是向量在特徵空間內均勻分佈,即特徵向量的各維度相互之間具有零協方差和均勻方差,可以表示為一個具有均勻對角線元素和零非對角線元素的協方差矩陣。可以直接對模型的特徵向量加上靜態特徵來達到各向同性,但尺度不好把握,於是作者將模型特徵空間與理想各向同性的差距作為目標函式的正則項:

$\mathcal{L}_{\mathrm{reg}}=\|\boldsymbol{\Sigma}-\mathbf{I}\|$ (7)

其中$\|\cdot\|$是Frobenius norm,$\mathbf{I} \in \mathbb{R}^{d \times d}$是單位矩陣,$\mathbf{Σ} \in \mathbb{R}^{d \times d}$是相關矩陣,特徵空間與理想各向同性差距越大,$\mathcal{L}_{\mathrm{reg}}$ 越大。

同時使用上面兩種正則項得到:

$\begin{aligned} \mathcal{L}=\mathcal{L}{\text {ce }}\left(\mathcal{D}{\text {source }} ; \theta\right)+\lambda_{1} \mathcal{L}{\text {cl }}\left(\mathcal{D}{\text {source }} ; \theta\right)+\lambda_{2} \mathcal{L}{\text {cor }}\left(\mathcal{D}{\text {source }} ; \theta\right) \end{aligned}$ (8)

論文中實驗結果表明兩種正則項一起用效果更好。

實驗設定及結果

1. 實驗設定

資料集

論文中使用了 OOS 資料集作為訓練和驗證資料集,其包含 10 個領域共 150 個意圖類別,作者去除了其中的“Banking”和“Credit Cards”兩個領域的資料,因為這兩個領域的資料跟測試集 BANKING77 在語義上比較相似,剩下的 8 個領域裡,6 個用作訓練集,2 個用作驗證集,如表 2 所示。

圖片

論文使用下面幾個資料集作為測試集,資料集的統計資訊如表 3 所示:

  • BANKING77:關於銀行服務的意圖識別資料集;
  • HINT3:覆蓋 3 個領域,“Mattress Products Re- tail”、“Fitness Supplements Retail”和“Online Gaming”;
  • HWU64:包含21個領域的大規模資料集。

圖片

引數設定

論文中方法使用的 PLM 為 BERT 和 RoBERTa,取 [CLS] 位置的輸出作為公式(3)中的表示,用邏輯迴歸做分類,通過驗證集選擇合適的引數,引數設定如表4所示。

圖片

基線模型

基於 BERT 的有 BERT-Freeze(凍結 off-the-shelf PLM)、IntentBERT(用公開的意圖識別資料對 BERT進行有監督預訓練),IntentBERT-ReImp 是作者為了公平比較而復現的 IntentBERT,還有下面幾個用對話語料或 NLI  資料繼續預訓練過的模型:

  • CONVBERT
  • TOD-BERT
  • DNNC-BERT
  • USE-ConveRT
  • CPFT-BERT

基於 RoBERTa 的模型有:

  • RoBERTa-Freeze
  • WikiHowRoBERTa
  • DNNC-RoBERTa
  • CPFT-RoBERTa
  • IntentRoBERTa

最後,作者把 whitening transformation 應用在 PLM 上,以跟論文方法作對比:

  • BERT-White
  • RoBERTa-White
  • IntentBERT-White
  • IntentRoBERTa-White

訓練細節

  • Pytorch、Python
  • Hugging Face的bert-base-uncased和roberta-base
  • Adam 優化器,學習率 2e-05,weight decay 為 1e-03
  • Nvidia RTX 3090 GPUs
  • 在驗證集上 100 步沒有提升就停止訓練
  • 隨機種子集合 {1, 2, 3, 4, 5}

評價

在 C-way K-shot 任務上做測試,即對於每個任務,取其中的 C 個意圖類別,每個類別 K 條資料,用這 $C \times K$ 條資料訓練模型。然後每個類別取 5 條資料作為 queries,比較所用的結果是從$\mathcal{D}_{\text {target}}$ 裡隨機選取的 500 個任務上的平均準確率(averaged accuracy)。

2. Main Results

圖片

實驗結果如表 5、表 6 所示,可以看到論文提出的方法的結果優於其他方法,Cor-Reg 的結果優於 CL-Reg,兩種正則項共同使用又能得到更好的結果。

圖片 

論文中還對比了用論文方法訓練的模型跟一般模型的各向同性的不同,可以看到模型的各向同性和其在任務上的效能成正比。

3. 消融實驗和分析

Moderate isotropy is helpful

作者探究了各向同性跟 few-shot intent detection 任務上的效能的關係,其調整 Cor-Reg 的權重得到更高的各向同性,然後測試模型效能,結果如圖 5 所示,可以看出中等大小各向同性的模型效能較好。

圖片

Correlation matrix is better than covariance matrix as regularizer

作者在 Cor-Reg 裡用的是相關矩陣而不是協方差矩陣,儘管協方差矩陣比相關矩陣多了方差的資訊,但正因為如此,讓人難以決定各個方差的尺度。在實驗中,作者將相關矩陣換成協方差矩陣,原來的單位矩陣裡的非對角線元素設為 0,對角線元素設為 1、0.5 或者協方差矩陣對角線元素的平均值,表示為 Cov-Reg-1、Cov-Reg-0.5、和 Cov- Reg-mean,實驗結果如表8所示,可以看到協方差矩陣的幾種設定都比相關矩陣要差一些。

圖片

The performance gain is not from the reduction in model variance

L1 和 L2 正則化可以通過減小模型方差來提升效能,而作者將表 7 裡的效能提升歸因於各向同性的改善。為了探究使用了正則項後效能的提升是來自方差還是各向同性,作者給 L2正 則項設定不同的權重,得到多個結果,但都不及 CL-Reg 和 Cor-Reg,如圖 6 所示。

圖片

The computational overhead is small

作者統計了同時使用 CL-Reg 和 Cor-Reg 的時候,一個 epoch 裡各個計算過程的開銷,比例如圖 7 所示,可以看到正則項的計算開銷佔比並不算太大。

圖片

總結

這篇論文先分析了 PLM 在意圖識別任務上微調後、其特徵空間的各向異性,然後提出了分別基於對比學習和相關矩陣的兩種正則項,以在微調中增加模型特徵空間的各向同性,並且給模型在 few-shot intent detection 任務上的效能帶來了很大的提升。因為論文提出的方法是針對 PLM 的,所以也可能用於其他任務的基於 PLM 的模型上。感興趣的同學可以自行閱讀論文原文,歡迎留言討論。