close

條件語言模型中的OOD檢測與選擇性生成
論文鏈接:https://arxiv.org/abs/2209.15558
作者單位:Google Research,CMU
背景

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就是一個例子


進技術交流群請添加AINLP小助手微信(id:ainlp2)

請備註具體方向+所用到的相關技術點

關於AINLP

AINLP 是一個有趣有AI的自然語言處理社區,專注於 AI、NLP、機器學習、深度學習、推薦算法等相關技術的分享,主題包括文本摘要、智能問答、聊天機器人、機器翻譯、自動生成、知識圖譜、預訓練模型、推薦系統、計算廣告、招聘信息、求職經驗分享等,歡迎關注!加技術交流群請添加AINLP小助手微信(id:ainlp2),備註工作/研究方向+加群目的。

閱讀至此了,分享、點讚、在看三選一吧🙏

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 鑽石舞台 的頭像
    鑽石舞台

    鑽石舞台

    鑽石舞台 發表在 痞客邦 留言(0) 人氣()