你的语言模型有没有“无法预测的词”?
?PaperWeekly 原創 ·?作者 | 蘇劍林
單位 | 追一科技
研究方向 | NLP、神經網絡
眾所周知,分類模型通常都是先得到編碼向量,然后接一個 Dense 層預測每個類別的概率,而預測時則是輸出概率最大的類別。但大家是否想過這樣一種可能:訓練好的分類模型可能存在“無法預測的類別”,即不管輸入是什么,都不可能預測出某個類別 k,類別 k 永遠不可能成為概率最大的那個。
當然,這種情況一般只出現在類別數遠遠超過編碼向量維度的場景,常規的分類問題很少這么極端的。然而,我們知道語言模型本質上也是一個分類模型,它的類別數也就是詞表的總大小,往往是遠超過向量維度的,那么我們的語言模型是否有“無法預測的詞”?(只考慮 Greedy 解碼)
是否存在
ACL 2022 的論文《Low-Rank Softmax Can Have Unargmaxable Classes in Theory but Rarely in Practice》[1]?首先探究了這個問題,正如其標題所言,答案是“理論上存在但實際出現概率很小”。
首先我們來看“理論上存在”。為了證明其存在性,我們只需要具體地構建一個例子。設各個類別向量分為 ,偏置項為 ,假設類別 k 是可預測的,那么就存在 ,同時滿足:
反過來,如果類別 k 不可預測,那么對于任意 ,必須存在某個 ,滿足:
由于現在我們只需要舉例子,所以簡單起見我們先考慮無偏置項的情況,并設 k=n,此時條件為 ,也就是說,任意向量 必然能找到向量 與之夾角小于等于 90 度。不難想象,當向量數大于空間維度、向量均勻分布在空間中時,這是有可能出現的,比如二維平面上的任意向量,就必然與 之一的夾角小于 90 度,從而我們可以構造出例子:
在這個例子中,類別 5 就是不可預測的了,不信大家可以代入一些 試試。
怎么判斷
現在我們已經確認了“無法預測的類別”是可能存在的,那么一個很自然的問題就是,對于一個訓練好的模型,也就是給定 和 ,怎么判斷其中是否存在不可預測的類別呢?
根據前一節的描述,從解不等式的角度來看,如果類別k是可預測的,那么下述不等式組的解集就會非空:
不失一般性,我們同樣設 k=n,并且記 ,留意到:
所以,只要我們盡量最大化 ,如果最終結果是正的,那么類別n就是可預測的,否則就是不可預測的。如果之前讀過《多任務學習漫談:行梯度之事》的讀者,就會發現該問題“似曾相識”,特別是如果沒有偏置項的情況下,它跟多任務學習中尋找“帕累托最優”的過程是幾乎一致的。
現在問題變為:
為了避免發散到無窮,我們可以加個約束 :
其中r是一個常數,只要r取得足夠大,它就能跟實際情況足夠吻合,因為神經網絡的輸出通常來說也是有界的。接下來的過程就跟多任務學習漫談:行梯度之事的幾乎一樣了,首先引入:
那么問題變成:
根據馮·諾依曼的 Minimax 定理 [2],可以交換 和 的順序:
很顯然, 這一步在 且 跟 同向時取到,結果為:
當 r 足夠大時,偏置項的影響就非常小了,所以這幾乎就等價于沒有偏置項的情形:
最后的 的求解過程已經在多任務學習漫談:行梯度之事中討論過了,主要用到了 Frank-Wolfe 算法,不再重復。
注:以上判別過程是筆者自己給出的,跟論文《Low-Rank Softmax Can Have Unargmaxable Classes in Theory but Rarely in Practice》[1] 中的方法并不相同。
實踐如何
前面的討論都是理論上的,那么實際的語言模型出現“無法預測的詞”的概率大不大呢?原論文對一些訓練好的語言模型和生成模型進行了檢驗,發現實際上出現的概率很小,比如下表中的機器翻譯模型檢驗結果:
▲ 機器翻譯模型的檢驗結果
其實這不難理解,從前面的討論中我們知道“無法預測的詞”一般只出現在類別數遠遠大于向量維度的情況,也就是原論文標題中的“Low-Rank”。但由于“維度災難”的原因,“遠遠大于”這個概念其實并非我們直觀所想的那樣,比如對于 2 維空間來說,類別數為 4 就可以稱得上“遠遠大于”,但如果是 200 維空間,那么即便是類別數為 40000 也算不上“遠遠大于”。常見的語言模型向量維度基本上都有幾百維,而詞表頂多也就是數十萬的級別,因此其實還是算不上“遠遠大于”,因此出現“無法預測的詞”的概率就很小了。
另外,我們還可以證明,如果所有的 互不相同但是模長都相等,那么是絕對不會出現“無法預測的詞”,因此這種不可預測的情況只出現在 模長差異較大的情況,而在當前主流的深度模型中,由于各種 Normalization 技術的應用, 模長差異較大的情況很少出現了,這進一步降低了“無法預測的詞”的出現概率了。
當然,還是文章開頭說了,本文的“無法預測的詞”指的是最大化預測,也就是 Greedy Search,如果用 Beam Search 或者隨機采樣,那么即便存在“無法預測的詞”,也依然是可能生成出來的。這個“無法預測的詞”,更多是一個好玩但實用價值不大的理論概念了。
最后小結
本文向大家介紹了一個沒什么實用價值但是頗為有意思的現象:你的語言模型可能存在一些“無法預測的詞”,它永遠不可能成為概率最大者。
參考文獻
[1]?https://arxiv.org/abs/2203.06462
[2]?https://en.wikipedia.org/wiki/Minimax_theorem
更多閱讀
#投 稿?通 道#
?讓你的文字被更多人看到?
如何才能讓更多的優質內容以更短路徑到達讀者群體,縮短讀者尋找優質內容的成本呢?答案就是:你不認識的人。
總有一些你不認識的人,知道你想知道的東西。PaperWeekly 或許可以成為一座橋梁,促使不同背景、不同方向的學者和學術靈感相互碰撞,迸發出更多的可能性。?
PaperWeekly 鼓勵高校實驗室或個人,在我們的平臺上分享各類優質內容,可以是最新論文解讀,也可以是學術熱點剖析、科研心得或競賽經驗講解等。我們的目的只有一個,讓知識真正流動起來。
📝?稿件基本要求:
? 文章確系個人原創作品,未曾在公開渠道發表,如為其他平臺已發表或待發表的文章,請明確標注?
? 稿件建議以?markdown?格式撰寫,文中配圖以附件形式發送,要求圖片清晰,無版權問題
? PaperWeekly 尊重原作者署名權,并將為每篇被采納的原創首發稿件,提供業內具有競爭力稿酬,具體依據文章閱讀量和文章質量階梯制結算
📬?投稿通道:
? 投稿郵箱:hr@paperweekly.site?
? 來稿請備注即時聯系方式(微信),以便我們在稿件選用的第一時間聯系作者
? 您也可以直接添加小編微信(pwbot02)快速投稿,備注:姓名-投稿
△長按添加PaperWeekly小編
🔍
現在,在「知乎」也能找到我們了
進入知乎首頁搜索「PaperWeekly」
點擊「關注」訂閱我們的專欄吧
·
總結
以上是生活随笔為你收集整理的你的语言模型有没有“无法预测的词”?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 解决Warning: Leaking C
- 下一篇: 通过展频降低系统EMI