TeaForN:讓Teacher Forcing更有「遠見」一些

©PaperWeekly 原創 · 做者|蘇劍林
安全

單位|追一科技微信

研究方向|NLP、神經網絡網絡

Teacher Forcing 是 Seq2Seq 模型的經典訓練方式,而 Exposure Bias則是  Teacher Forcing 的經典缺陷,這對於搞文本生成的同窗來講應該是耳熟能詳的事實了。筆者以前也曾寫過文章 Seq2Seq中Exposure Bias現象的淺析與對策,初步地分析過 Exposure Bias 問題。svg

本文則介紹 Google 新提出的一種名爲「TeaForN」的緩解 Exposure Bias 現象的方案,來自論文 TeaForN: Teacher-Forcing with N-grams,它經過嵌套迭代的方式,讓模型能提早預估到後 N 個 token(而不只僅是當前要預測的 token),其處理思路上很有可圈可點之處,值得咱們學習。函數

論文標題:學習

TeaForN: Teacher-Forcing with N-grams編碼

論文連接:人工智能

https://arxiv.org/abs/2010.03494翻譯

(注:爲了儘可能跟舊文章保持一致,本文的記號與原論文的記號有所不一樣,請你們以理解符號含義爲主,不要強記符號形式。)3d

Teacher Forcing

文章 Seq2Seq中Exposure Bias現象的淺析與對策已經相對詳細地介紹了 Teacher Forcing,這裏僅作簡要回顧。首先,Seq2Seq 模型將聯合機率分解爲多個條件機率的乘積,這就是所謂的「自迴歸模型」:

而後,當咱們訓練第 t 步的模型 時,咱們假設 都是已知的,而後讓模型只預測 ,這就是 Teacher Forcing。

但在預測階段,真實的 都是未知的,此時它們是遞歸地預測出來的,可能會存在傳遞偏差等狀況。所以 Teacher Forcing 的問題就是訓練和預測存在不一致性,這讓咱們很難從訓練過程掌握預測的效果。

沒什麼遠見

怎麼更具體理解這個不一致性所帶來的問題呢?咱們能夠將它理解「沒什麼遠見」。在解碼器中,輸入 和前 t-1 個輸出 token 共同編碼獲得向量 ,在 Teacher Forcing 中,這個 只是用來預測 ,跟 沒有直接聯繫,換句話說,它的「見識」也就侷限在 t 這一步了。

▲ Teacher Forcing示意圖

好比上圖中的 h_3 向量,Teacher Forcing 只讓它用來預測「」,事實上「」的預測結果也會影響「」、「」、「」的預測,也就是說 也應該與「」、「」、「」有所關聯,而 Teacher Forcing 沒有顯式地創建這種關聯。因此模型在解碼的時候每一步極可能只輸出局部最高几率的 token,這就容易出現高頻安全回覆或者重複解碼現象。

Student Forcing

爲了提升模型的「前瞻能力」,最完全的方法固然是訓練階段也按照解碼的方式來進行,即 也像解碼階段同樣遞歸地預測出來,不依賴於真實標籤,咱們不妨稱這種方式爲 Student Forcing。可是,Student Forcing 的訓練方式來帶來兩個嚴重的問題:

第一,犧牲並行。對於 Teacher Forcing 來講,若是 Decoder 使用的是 CNN 或 Transformer 這樣的結構,那麼訓練階段是全部 token 均可以並行訓練的(預測階段仍是串行),但若是 Student Forcing 的話則一直都是串行。

第二,極難收斂。Student Forcing 一般須要用 Gumbel Softmax 或強化學習來回傳梯度,它們的訓練都面臨着嚴重的不穩定性,通常都要用 Teacher Forcing  預訓練後才能用 Student Forcing,但即使如此也不算特別穩定。

形象地理解,Student Forcing 至關於老師徹底讓學生獨立探究一個複雜的問題,不作手把手教學,只對學生的結果好壞作個最終評價。這樣一旦學生能探索成功,那可能說明學生的能力很強了,但問題就是缺少老師的「循循善誘」,學生「碰壁」的概率更加大。

往前多看幾步

有沒有介乎 Teacher Forcing 與 Student Forcing 之間的方法呢?有,本文所介紹的 TeaForN 就算是其中一種,它的思想是常規的 Teacher Forcing 至關於在訓練的時候只往前看 1 步,而 Student Forcing 至關於在訓練的時候往前看了 L 步(L 是目標句子長度)。

若是咱們只是往前多看幾步(至關於看到了 N-gram),那麼理論上就能提升「遠見」,而且不至於嚴重犧牲模型的並行性。其示意圖以下:

▲ TeaForN示意圖

直觀來看,就是把輸出結果再往前迭代多遍,這樣一來前 t-1 個 token 要預測的就不只僅是第 t 個 token 了,還有第 個。好比在上圖中,最後咱們用 來預測了「」字,而咱們能夠看到 只依賴於「」、「」、「」三個字,因此咱們也能夠理解爲 這個向量同時要預測「」、「」、「」三個字,所以也就提升了「遠見」。

用數學的話來講

用數學語言來描述,咱們能夠將 Decoder 分爲 Embedding 層 E 和剩餘部分 M 兩個部分,Embedding 層負責將輸入句子 映射爲向量序列 (其中 是固定的解碼起始標記,也就是上圖的 [S],有些文章記爲),而後交給模型 M 處理,獲得向量序列 ,即:

接着經過 獲得第 t 步的 token 機率分佈,最後用 做爲損失函數訓練,這即是常規的 Teacher Forcing。

能夠想象,負責映射到 token 分佈的輸出向量序列 某種程度上跟 Embedding 序列 是類似的,若是咱們補充一個 進去,而後將 也送入到模型 M 中再處理一次,是否能夠呢?也就是:

而後每個h咱們都算機率分佈 ,最後算交叉熵並加權疊加:

訓練完成後,咱們只用 E 和 M 作常規的解碼操做(好比 Beam Search),也就是隻用 而不須要 了。這個流程就是本文的主角 TeaForN 了。

效果、思考與討論

至於實驗效果,天然是有提高的,從原論文的實驗表格來看,在 beam_size 比較大時提高比較明顯。其實也不難理解,按道理來講,這樣處理後再不濟應該也不會降低,所以算是一種「穩賺不賠」的策略了。

▲ TeaForN的實驗結果之一(文本摘要)

原論文討論了幾個值得商榷的點,咱們這裏也來看下。

首先,模型每一步迭代所用的 M 該不應共享權重?直覺來想共享是更好的,若是不共享權重,那麼往前看 N 步,那麼參數量就差很少是原來的 N 倍了,感受是不大好。固然最好仍是靠實驗實驗,原論文確實作了這個比較,證明了咱們的直覺。

▲ TeaForN在機器翻譯上的效果,其中包含了是否貢獻權重的比較

其次,可能最主要的疑問是:在迭代過程當中將 看成 用是否真的靠譜?固然,實驗結果已經代表了是可行的,這就是最有說服力的論據了。但因爲 到 是經過內積來構建的,因此 跟 未必類似,若是能讓它們更接近些,效果會不會更好?原論文考慮了以下的方式:

也就是說,每一步算出 後,取機率最大的 k 個 token,將它們的 Embedding 向量加權平均來做爲下一步迭代的輸入。原論文實驗了 k=4 和 k=|V|(詞表大小),結果以下圖。總的來講 Topk 的效果不大穩定,好的狀況也跟直接用 差很少,所以就不必嘗試別的了。

▲ 用Topk對Embedding加權平均的方式代替h的效果

固然,我以爲要是論文再比較一下經過 Gumbel Softmax 來模擬採樣效果就更加完美了。

來自文末的總結

本文分享了 Google 新提出來一種稱爲 TeaForN 的訓練方式,它介乎 Teacher Forcing 和 Student Forcing 之間,能緩解模型的 Exposure Bias 問題,而且不用嚴重犧牲模型訓練的並行性,是一種值得嘗試的策略。

除此以外,它實際上還提供了一種解決此類問題的新思想(經過迭代保持並行和前瞻),其中很有值得回味的地方。

更多閱讀

#投 稿 通 道#

 讓你的論文被更多人看到 

如何才能讓更多的優質內容以更短路徑到達讀者羣體,縮短讀者尋找優質內容的成本呢?答案就是:你不認識的人。

總有一些你不認識的人,知道你想知道的東西。PaperWeekly 或許能夠成爲一座橋樑,促使不一樣背景、不一樣方向的學者和學術靈感相互碰撞,迸發出更多的可能性。 

PaperWeekly 鼓勵高校實驗室或我的,在咱們的平臺上分享各種優質內容,能夠是最新論文解讀,也能夠是學習心得技術乾貨。咱們的目的只有一個,讓知識真正流動起來。

???? 來稿標準:

• 稿件確係我的原創做品,來稿需註明做者我的信息(姓名+學校/工做單位+學歷/職位+研究方向) 

• 若是文章並不是首發,請在投稿時提醒並附上全部已發佈連接 

• PaperWeekly 默認每篇文章都是首發,均會添加「原創」標誌

???? 投稿郵箱:

• 投稿郵箱:hr@paperweekly.site 

• 全部文章配圖,請單獨在附件中發送 

• 請留下即時聯繫方式(微信或手機),以便咱們在編輯發佈時和做者溝通

????

如今,在「知乎」也能找到咱們了

進入知乎首頁搜索「PaperWeekly」

點擊「關注」訂閱咱們的專欄吧

關於PaperWeekly

PaperWeekly 是一個推薦、解讀、討論、報道人工智能前沿論文成果的學術平臺。若是你研究或從事 AI 領域,歡迎在公衆號後臺點擊「交流羣」,小助手將把你帶入 PaperWeekly 的交流羣裏。

相關文章
相關標籤/搜索