采样算法哪家强?一个针对主流采样算法的比较
論文標題:
A Systematic Characterization of Sampling Algorithms for Open-ended Language Generation
論文作者:
Moin Nadeem (MIT), Tianxing He (MIT), Kyunghyun Cho (NYU), James Glass (MIT)
論文鏈接:
https://arxiv.org/abs/2009.07243
代碼鏈接:
https://github.com/moinnadeem/characterizing-sampling-algorithms
文本生成離不開采樣,一個好的采樣方法可以兼顧生成文本的質量和多樣性。但是,目前主流的各采樣算法并沒有得到充分的研究,它們的優劣也難以量化。
本文在語言模型上比較了當前主流的幾個采樣算法Top-K, Nucleus, Tempered,發現他們都滿足三個關鍵性質,因此在效果上難分伯仲。
進一步的研究表明,滿足這三個性質的其他采樣算法也能夠取得很好的效果,這就指出了文本生成所需的必要條件。
文本生成的兩大要素:質量與多樣性
文本生成我們之前已經講過很多了,但是讀者有沒有發現,基本上所有的文本生成任務,所謂的“目標句子”都是唯一的,或者很少。
比如,一個語言模型已經生成了“The news says that”,那么它下面會生成什么呢?對人來說,完全可以大開腦洞續寫,但是對于一個已經訓練好的模型來說,它下面要生成的就已經固定了(如果采取定性解碼算法,如每一步都取概率最大的詞),則說這個模型的多樣性很差。
所以,對于文本生成模型來說,我們想要盡量在質量和多樣性之間保持平衡。采樣算法就是一種追求這種平衡的技術。
在解碼的時候,不按照模型本身得到的每個詞的概率采樣,而是進行一定的變換,然后再采樣,如果采樣范圍縮小,那么多樣性就減少,但質量也會提高,如果采樣范圍擴大,多樣性就會增大,但質量也會降低。
那么如何設計這樣的采樣算法,使得最大化保持質量與多樣性的平衡呢?
本文針對當前主流的幾種采樣算法進行了系統性的比較,觀察它們的Q (Quality)-D (Diversity)平衡,其中質量由BLEU衡量,多樣性由n-gram entropy衡量。
進一步進行觀察研究發現,這幾個采樣算法都滿足三個關鍵性質:(1)減熵性;(2)保序性;(3)保斜率性。而一旦某種采樣算法不滿足其中一條性質,那么它的Q-D平衡就會被打破。因此,這三條性質是保證采樣算法保持Q-D平衡的必要條件。
總的來說,本文研究貢獻如下:
系統性地比較了幾種采樣算法在文本生成上的效果,發現它們有很相似Q-D平衡性;
提出這幾種采樣算法成功的關鍵在于三條性質;
一旦不滿足任意一條性質,則采樣算法的表現就會顯著降低;
啟發未來采樣算法的設計。
比較的采樣算法
用于文本生成的采樣算法很多,最簡單的就是直接取概率最大的詞,或者叫top-1采樣。
本文主要比較了下述幾種采樣方法(注意向量已經降序排列了,所以):
Top-k采樣: 只考慮前個概率最大的詞,注意要把它們的概率重新歸一化,即
Nucleus采樣:也是只考慮前若干個概率最大的詞,不過以一種概率累計式的方法,即,
Tempered采樣:在原概率上增加一個溫度項,即
Tempered Top-k采樣:結合Top-k采樣和Tempered采樣,即
之后,我們就得到了一個用于采樣的概率向量。
采樣算法的三個性質
在有了上述幾個采樣算法之后,我們可以發現,它們都滿足下述三個性質:
減熵性(Entropy Reduction):變換后的概率分布始終小于變換前的概率分布,即。
保序性(Order Preservation):元素排列的順序不變,即。
保斜率性(Slope Preservation):分布的“斜率”保持不變,即
保斜率性指出了,變換后的概率分布在概率的量級變化上是成比例的,而保序性則說明概率大的仍然概率大。
性質2的證明是顯然的,性質3也只需要代入公式即可。比較麻煩的是性質1,有興趣的讀者可以參考原文附錄B完成證明。
采樣算法的設計
上面我們證明了所述的采樣算法都滿足這三條性質,那么,是不是所有滿足這三條性質的采樣算法都能有比較好的Q-D平衡呢?是不是只要不滿足其中至少一條性質,就不會有好的效果呢?前者是充分條件,后者是必要條件。
為了證明必要條件,只需要舉例說明即可,但是充分條件難以用例子證明,故在本節我們仍然是舉例進行一定程度的說明。
為此,除了上述的幾種算法外,我們還設計兩類采樣算法:一是不滿足某些性質,二是滿足所有性質。
不滿足某些性質的采樣算法
Target-Entropy采樣:形式是Tempered采樣,但其中的溫度設定為讓變換后的概率分布的熵恒定為一個常值,即
它違反了減熵性。
Random-Mask采樣:隨機抹去一些詞后形成的概率分布,即
顯然,它違反了保序性。
Noised Top-k采樣:在原來的top-k得到的概率分布上再加上有序噪聲分布,即
由于本身也是有序的,所以不違反保序性,但是它違反了保斜率性。
滿足所有性質的采樣算法
Random Top-k采樣:這里的是隨機產生的,即
Max-Entropy采樣:和Target-Entropy采樣類似,只是要保證減熵性:
實驗
接下來就是要以繪制Q-D散點圖的方式看這些采樣算法的實際效果。自動測評指標有corpus-BLEU(衡量質量Q)與self-BLEU(衡量多樣性D),人工測評則是在1-5之間打分(衡量質量Q)和使用n-gram entropy(衡量多樣性D)。模型采用GPT-2,分別在Gigaword與Wiki103上微調。其他細節請參考原文。
首先來比較當前主流采樣算法的Q-D平衡,下面兩個圖依次是人工測評和自動測評結果。可以看到,無論是人工測評還是自動測評,這幾個算法的表現都沒有顯著差異。
在一個算法內部,調整不同的超參可能有不同的結果,但從所有算法的總體趨勢和表現來看,它們還是很相似的。
那么,對我們設計的不滿足某些性質的采樣算法來說,它們的表現又如何呢?其結果如下圖所示。可以看到,違反了減熵性的Target Entropy表現最差;Noised Top-k效果隨著噪聲的增加而效果變差;而Random Mask的效果和現有的算法表現相近。上述觀察說明,在保序性這個條件上可以略有放松,但是在減熵性和保斜率性上不能放寬。
下圖是設計的滿足所有性質的采樣算法的表現。可以看到,所提出的Max Entropy和Random Top-K完全和現有算法保持一致。
實際上,在人工測評上這些算法的表現趨勢也都和自動測評一致。
下面來看一下不同算法具體生成的文本是怎樣的,如下表所示。各個算法都調整超參數,使得它們的self-BLEU相似(即多樣性相似),因此可以更直觀地比對所生成文本的質量。
可以看到,滿足全部性質的算法所生成的文本大致還是流暢連貫的,但是對違反某些性質的算法而言,總有不連貫的地方,導致其質量較低。也就是說,某些性質對文本質量有重要影響。
小結
本文從文本生成的角度比較系統地研究和比較了幾種主流采樣算法的效果,在發現他們的Q-D平衡都相似的情況下,提出了它們都滿足的三種性質,從而猜測這三種性質對所生成文本的質量和多樣性有重要作用。
為了驗證這個猜想,本文設計了兩組采樣算法,一組全部滿足這些性質,另一組不滿足某些性質,然后比較它們的效果。
結果發現,不滿足某些性質的采樣算法的確在Q-D平衡上表現更差,即使控制相同的多樣性,所生成的文本質量也較低,這印證了這三種性質在某種意義是的確是保障采樣算法Q-D平衡的必要條件。
值得一說的是,盡管本文提出了這樣的假設,并從經驗上進行了驗證,但該理論仍然屬于猜想,究竟是不是這三個性質起決定作用,還是其背后更本質的數學原理在起作用,目前都尚沒有定論。
本文算是給采樣算法為何能提高文本質量與多樣性的研究開了一扇門,以更好地指導采樣算法的設計。
????
現在,在「知乎」也能找到我們了
進入知乎首頁搜索「PaperWeekly」
點擊「關注」訂閱我們的專欄吧
關于PaperWeekly
PaperWeekly 是一個推薦、解讀、討論、報道人工智能前沿論文成果的學術平臺。如果你研究或從事 AI 領域,歡迎在公眾號后臺點擊「交流群」,小助手將把你帶入 PaperWeekly 的交流群里。
總結
以上是生活随笔為你收集整理的采样算法哪家强?一个针对主流采样算法的比较的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 基于华为 HarmonyOS NEXT,
- 下一篇: 纯血鸿蒙也能“砍一刀”,拼多多上架华为