背景
OOD現象和OOD檢測在分類任務中已經被廣泛研究:
OOD score:maximum softmax probability(MSP),K個類別中最大的概率來作為衡量OOD的指標
selective classification:對于OOD score太低的輸入,模型拒絕輸出
在conditional language model(CLM)任務(主要是summarization,translation)中,而由于language generation主要是通過auto-regressive的方式,錯誤更容易積累,因此OOD問題可能更嚴重。
本文的主要貢獻:
提出一中輕量的、準確的基于CLM的embedding的OOD檢測方法
發現perplexity(ppx)不適合作為OOD檢測和文本生成質量評估的指標
提出了一套用于OOD檢測和selective generation的評測框架
CLM中的OOD detection
如果直接套用classification任務中使用MSP作為OOD score的話,那么對于NLG問題我們就應該采用perplexity(ppx),然而作者實驗發現使用ppx的效果很不好:
從上圖可以看到,不用domain來源的數據,其ppx的分布重疊程度很高;甚至有些明明是OOD的數據,但其綜合的ppx比ID的數據還要低。因此ppx對ID vs OOD的區分能力很差。
如何使用CLM自身的embedding來得到OOD score?
input embedding: encoder最后一層所有hidden states平均
output embedding: decoder最后一層所有hidden states平均(ground truth對應的位置)
1. 使用兩個分布的距離來判斷——RMD score
直覺上講,當一個樣本的輸入/輸出的embedding跟我訓練樣本的embedding分布距離很遠的話,就很可能是OOD樣本。
因此,可以先用訓練數據集,對輸入和輸出空間擬合一個embedding的高斯分布:
input embedding distribution:
output embedding distribution:
然后,就可以使用馬氏距離(Mahalanobis distance,MD)來衡量新來的embedding跟訓練集embedding的距離:
馬氏距離是基于樣本分布的一種距離。物理意義就是在規范化的主成分空間中的歐氏距離。(維基百科)
然而,已有一些研究表明,使用相對馬氏距離(即增加一個background distribution來作為一個參照),可以更好地進行OOD檢測。于是對上述公式改進為:
其中是衡量test input跟一個background高斯分布的距離,這個background分布,是使用一個通用語料擬合出來的,比方使用C4語料庫。
而對于CLM這種需要成對語料的任務,通用語料中一般是沒有的,所以使用通用文本通過CLM decode出來的 outputs來擬合分布:
這樣一來,RMD scores實際上可能為正也可能為負:
當RMD score < 0 時,說明 test example跟training distribution更接近
當RMD score > 0 時,說明 test example跟background更接近,因此更有可能是OOD的
因此,RMD score可以直接作為OOD detection的指標。
2. 基于embedding訓練一個detector
上面是一種無監督的辦法,作者還提出了一種有監督的辦法,使用training samples和general samples作為兩個類別的數據,使用embedding作為feature來訓練一個logistic regressive model,使用background類的logits作為OOD score:
Input Binary logits OOD score
Output Binary logits OOD score
3. OOD detection實驗
以summarization為例,實驗所用數據為:
In-domain:10000條 xsum 樣本
General samples:10000條 C4 樣本
OOD datasets:near-OOD數據集(cnn dailymail,newsroom)和far-OOD數據集(reddit tifu,forumsum,samsum)
OOD detection衡量指標:area under the ROC curve (AUROC)
實驗結論:
本文提出的RMD和Binary classifier都比baseline有更好的OOD檢測能力
能更好地對near-OOD這種hard cases進行檢測
Selective Generation
當檢測到OOD時,一個最保守的做法就是直接拒絕給出輸出,從而避免潛在的風險。但是,我們依然希望當模型的輸出質量足夠高時,即使是OOD也能輸出。
當有參考答案時,如何衡量輸出文本的質量?
對于translation問題,使用BLEURT作為衡量指標;
對于summarization,常見是使用ROUGE score,但由于不同數據集的摘要模式差別很大,所以只使用ROUGE還不夠,作者使用亞馬遜眾籌平臺來對一批數據進行人工質量打標。
能否找到一個指標,不需要參考答案也能衡量文本質量?
實驗發現,對于in-domain數據,ppx跟質量有比較好的相關性,但是對于OOD數據,相關性很差。
但是OOD score可以跟ppx互相補充,從而形成一個比較好的對應指標:
單獨只考察ppx或者RMD OOD score的話,難以區分質量的高低,但是同時考察二者,就有較高的區分度。究其原因,作者這么解釋:
ppx反映的是由于內部噪音/模糊造成的的不確定性
RMD score反映的是由于缺乏訓練數據所造成的不確定性
因此二者是互補的關系。
那么二者如何結合呢:
訓練一個linear regression
或者直接使用二者的某種“和”:,其中PR代表percentile ranks
可以看出,這種二者結合的方法,比各種只用單個指標的baselines都能更好地反映生成的質量。
在selective generation階段,設定一個遺棄比例,然后把quality score最低的那部分丟棄。
Key takeaways:
在生成模型中,ppx無論是作為OOD detection還是quality evaluation都是不太好的選擇
基于模型的extracted feature來做OOD detection更好,文中的RMD score就是一個例子。
審核編輯:劉清
-
msp
+關注
關注
0文章
153瀏覽量
35323
原文標題:CMU&Google提出:條件語言模型中的OOD檢測與選擇性生成
文章出處:【微信號:zenRRan,微信公眾號:深度學習自然語言處理】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論