神經網絡並不是尚方寶劍,我們需要正視深度 NLP 模型的泛化問題

AI 科技評論按:前段時間的文章《頂會見聞系列:ACL 2018,在更具挑戰的環境下理解數據表徵及方法評價》中,我們介紹了 ACL 大會上展現出的 NLP 領域的最新研究風向和值得關注的新進展。從這些新動向上我們似乎應該對深度學習 NLP 解決方案的表現充滿信心,但是當我們真的仔細討論 NLP 模型的泛化能力時候,狀況其實並不樂觀。

The Gradient 博客近期的一篇文章就仔細討論了 NLP 領域的深度學習模型的泛化性問題,展現了對學習、語言、深度學習方法等方面的諸多深入思考。不得不潑一盆冷水,即便端到端的深度學習方法相比以往的方法在測試任務、測試數據集上的表現有了長足的改進,我們距離「解決 NLP 問題」仍然有遙遠的距離。AI 科技評論全文編譯如下。

神经网络并不是尚方宝剑,我们需要正视深度 NLP 模型的泛化问题

「泛化」是一個NLP 領域中正在被深入討論和研究的課題。

最近,我們經常可以看到一些新聞媒體報道機器能夠在一些自然語言處理任務中取得與人相當的表現,甚至超過人類。例如,閱讀一份文檔並回答關於該文檔的問題(阿里、微軟、訊飛與哈工大等等輪番刷榜 SQuAD)、確定某個給定的文本在語義上是否蘊含另一個文本(http://www.aclweb.org/anthology/N18-1132)以及機器翻譯。「如果機器能夠完成所有這些任務,那麼它們當然擁有真正的語言理解和推理能力」這種說法聽起來似乎是很合理的。

然而,事實並非如此。最近許多的研究表名,事實上最先進的自然語言處理系統既「脆弱」(魯棒性差)又「虛假」(並未學到真正的語言規律)。

最先進的自然語言模型是「脆弱」的

當文本被修改時,即使它的意義被保留了下來,自然語言處理模型也會失效,例如:

Jia 和 Liang 等人攻破了閱讀理解模型 BiDAF(https://arxiv.org/abs/1611.01603)。

神经网络并不是尚方宝剑,我们需要正视深度 NLP 模型的泛化问题

Jia 和 Liang 等人論文中給出的例子。

Belinkov 和 Bisk 等人(https://arxiv.org/abs/1711.02173)攻破了基於字符的神經網絡翻譯模型。

神经网络并不是尚方宝剑,我们需要正视深度 NLP 模型的泛化问题

Belinkov 和 Bisk 等人論文中給出的例子。BLEU是一個常用的將候選的文本翻譯結果和一個或多個參考譯文對比的評測算法。

Iyyer 與其合作者攻破了樹結構雙向 LSTM( http://www.aclweb.org/anthology/P15-1150)的情感分類模型。

神经网络并不是尚方宝剑,我们需要正视深度 NLP 模型的泛化问题

Iyyer 與其合作者論文中給出的例子。

最先進的自然語言處理模型是「虛假」的

這些模型經常會記住的是人為影響和偏置,而不是真正學到語言規律,例如:

Gururangan 與其合作者(http://aclweb.org/anthology/N18-2017)提出了一個對比基線,它能夠將對比基準數據集中 50 %以上的自然語言推理樣本正確分類,而不需要事先觀察前提文本(premise)。

神经网络并不是尚方宝剑,我们需要正视深度 NLP 模型的泛化问题

Gururangan 等人論文中給出的例子。這些樣本都是從論文的海報展示中截取的。

Moosavi 和 Strube(http://aclweb.org/anthology/P17-2003)表明,為共指解析任務構建的深度學習模型(http://www.aclweb.org/anthology/P16-1061)總是將以包含「country」的專有名詞或普通名詞與訓練數據中出現的某個國家聯繫在一起。因此,該模型在有關訓練數據中未提及的國家的文本上的表現很差。同時,Levy 與其合作者研究用用於識別兩個單詞之間的詞彙推理關係(例如,上位詞,概括性較強的單詞叫做特定性較強的單詞的上位詞)的模型。他們發現,這些模型並沒有學習到單詞之間關係的特徵,而是僅僅學習到了一對單詞中某一單詞的獨立屬性:某個單詞是否是一個「典型上位詞」(例如,「動物」一詞)。

神经网络并不是尚方宝剑,我们需要正视深度 NLP 模型的泛化问题

左圖:Moosavi 和Strube 論文中的例子。右圖:Levy 與其合作者論文中的例子。

Agrawal 與其合作者指出,卷積神經網絡(CNN)+長短期記憶網絡(LSTM)的可視化問答模型通常在「聽」了一半問題後,就會收斂到預測出的答案上。也就是說,該模型在很大程度上受到訓練數據中淺層相關性的驅動並且缺乏組合性(回答關於可見概念的不可見的組合問題的能力)。

神经网络并不是尚方宝剑,我们需要正视深度 NLP 模型的泛化问题

Agrawal 等人論文中給出的例子。

一個改進最先進的自然語言處理模型的 workshop

因此,儘管在對比基準數據集上表現良好,現代的自然語言處理技術在面對新穎的自然語言輸入時,在語言理解和推理方面還遠遠達不到人類的水平。這些思考促使 Yonatan Bisk、Omer Levy、Mark Yatskar 組織了一個 NAACL workshop,深度學習和自然語言處理新泛化方法 workshop

(https://newgeneralization.github.io/)

來討論泛化問題,這是機器學習領域面臨的最核心的挑戰。該 workshop 針對兩個問題展開了討論:

  1. 我們如何才能充分評估我們的系統在新的、從前沒有遇見過的輸入上運行的性能?或者換句話說,我們如何充分評估我們系統的泛化能力?

  2. 我們應該如何修改我們的模型,使它們的泛化能力更好?

這兩個問題都很困難,為期一天的 workshop 顯然不足以解決它們。然而,自然語言處理領域最聰明的研究者們在這個工作坊上對許多方法和構想進行了概述,它們值得引起你的注意。特別是,當我們對這些討論進行總結,它們是圍繞著三個主題展開的:使用更多的歸納偏置(但需要技巧),致力於賦予自然語言處理模型人類的常識、處理從未見過的分佈和任務。

方向 1:使用更多的歸納偏置(但需要技巧)

目前,人們正在討論是否應該減少或增加歸納偏置(即用於學習從輸入到輸出的映射函數的一些假設)。

例如,就在去年,Yann LeCun 和 Christopher Manning 進行了一場引人注意的辯論(詳見雷鋒網 AI 科技評論文章 AI領域的蝙蝠俠大戰超人:LeCun 與 Manning 如何看待神經網絡中的結構設計),討論我們在深度學習框架中應該引入怎樣的固有先驗知識。Manning 認為,對於高階推理,以及利用較少的數據進行學習的任務,結構化偏置是十分必要的。相反,LeCun 將這種結構描述成「必要的惡」,這迫使我們作出某些可能限制神經網絡的假設。

LeCun 的觀點(減少歸納偏置)之所以令人信服的一個論據是,事實上使用基於語言學的偏置的現代模型最終並不能在許多對比基準測試中獲得最佳性能(甚至有一個段子說,「每當我從團隊裡開除一個語言學家,我的語言模型的準確率就會提升一些」)。儘管如此,NLP 社區還是廣泛支持 Manning 的觀點。在神經網絡架構匯中引入語言結構是ACL 2017 的一個顯著趨勢。然而,由於這種引入的結構似乎在實踐中並沒有達到預期的效果,我們也許可以得出如下結論:探索引入歸納偏置的新方法應該是一個好的工作方式,或者用 Manning 的話來說:

我們應該使用更多的歸納偏置。我們對如何添加歸納偏置一無所知,所以我們會通過數據增強、創建偽訓練數據來對這些偏置進行編碼。這看起來是一種很奇怪的實現方法。

事實上,Yejin Choi 已經在自然語言生成(NLG)的課題下對這個問題提出了自己的解決方法。她給出了一個通過能夠最大化下一個單詞的概率的通用語言模型(一個帶有集束搜索(beam search)的門控循環神經網絡(gated RNN),https://guillaumegenthial.github.io/sequence-to-sequence.html)生成的評論的示例。

自然的語言輸入為:

總而言之,我會將這個酒店強烈推薦給想要住在中心地區的人。

而不自然的、重負性的、矛盾的、乏味的輸出是:

總而言之,我會將這個酒店推薦給想要住在中心地區的人,並且想要居住在中心地區。如果你想要住在中心地區,這裡不是適合你的地方。然而,如果你想要住在這個地區的正中心,這裡就是你應該去的地方。

在她看來,當前的語言模型生成的語言之所以如此不自然,這是因為它們是:

  1. 被動的學習器。儘管它們會閱讀輸入然後生成輸出,但是它們並不能像人類學習者一樣工作,它們不會根據諸如有意義、風格、重複和蘊含這樣的合適的語言標準來反思自己生成的結果。換句話說,它們並不會「練習」寫作。

  2. 膚淺的學習器。它們並沒有捕獲到事實、實體、事件或者活動之間的高階關係,而這些元素對於人類來說都可能是理解語言的關鍵線索。也就是說,這些模型並不瞭解我們人類的世界。

如果我們鼓勵語言模型以一種使用特定的損失函數的數據驅動的方式學習諸如有意義、風格、重複和蘊含等語言學特徵,那麼語言模型就可以「練習」寫作了。這種做法優於依賴於顯式使用自然語言理解(NLU)工具輸出的方法。這是因為,傳統上的 NLU 只處理自然的語言,因此無法理解可能並不自然的機器語言。比如上面的例子中那樣重複的、矛盾的、乏味的文本。由於NLU 並不理解機器語言,所以將NLU 工具應用到生成的文本上、從而指導自然語言生成(NLG)模型理解生成的模型為什麼如此不自然並由此採取相應的行動是毫無意義的。總而言之,我們不應該開發引入了結構化偏置的新神經網絡架構,而應該改進學習這些偏置的數據驅動的方法。

自然語言生成(NLG)並不是唯一的我們應該尋找更好的學習器優化方法的 NLP 任務。在機器翻譯中,我們的優化方法存在的一個嚴重的問題是,我們正通過像交叉熵或語句級別 BLEU 的期望這樣的損失函數來訓練機器翻譯模型,這種模型已經被證實是有偏的,並且與人類理解的相關性不足。事實上,只要我們使用如此簡單的指標來訓練我們的模型,它們就可能和人類對於文本的理解不匹配。由於目標過於複雜,使用強化學習對於 NLP 來說似乎是一個完美的選項,因為它允許模型在仿真環境下通過試錯學習一個與人類理解類似的信號(即強化學習的「獎勵」)。

Wang 與其合作者(http://www.aclweb.org/anthology/P18-1083)為「看圖說話」(描述一幅圖片或一段視頻的內容)提出一種訓練方法。首先,他們研究了目前使用強化學習直接在我們在測試時使用的「METEOR」、「BLEU」、「CIDEr」等不可微的指標上訓練圖像字幕系統的訓練方法。Wang 與其合作者指出,如果我們使用 METEOR 分數作為強化決策的獎勵,METEOR分數會顯著提高,但是其它的得分將顯著降低。他們舉出了一個平均的 METEOR 得分高達40.2 的例子:

We had a great time to have a lot of the. They were to be a of the. They were to be in the. The and it were to be the. The, and it were to be the.(該文本並不自然,缺乏必要的語言成分,不連貫)

相反,當使用其它的指標時(BLEU 或CIDEr)來評估生成的故事時,相反的情況發生了:許多有意義的、連貫的故事得分很低(幾乎為零)。這樣看來,機器似乎並不能根據這些指標正常工作。

因此,作者提出了一種新的訓練方法,旨在從人類標註過的故事和抽樣得到的預測結果中得到與人類的理解類似的獎勵。儘管如此,深度強化學習仍然是「脆弱」的,並且比有監督的深度學習有更高的抽樣複雜度。一個真正的解決方案可能是讓人類參與到學習過程中的「人機循環」機器學習算法(主動學習)。

方向 2:引入人類的常識

儘管「常識」對於人類來說可能能夠被普遍地理解,但是它卻很難被教授給機器。那麼,為什麼像對話、回覆郵件、或者總結一個文件這樣的任務很困難呢?

這些任務都缺乏輸入和輸出之間的「一對一映射」,需要關於人類世界的抽象、認知、推理和最廣泛的知識。換句話說,只要模式匹配(現在大多數自然語言處理模型採取的方法)不能由於某些與人類理解類似的「常識」而得到提升,那麼我們就不可能解決這些問題。

Choi 通過一個簡單而有效的例子說明了這一點:一個新聞標題上寫著「芝士漢堡對人有害」(cheeseburger stabbing)

神经网络并不是尚方宝剑,我们需要正视深度 NLP 模型的泛化问题

【 圖片來源:https://newgeneralization.github.io 所有者:Yejin Choi 】

僅僅知道在定語修飾關係中「stabbing」被依賴的名詞「cheeseburger」修飾,還不足以理解「cheeseburger stabbing」究竟是什麼意思。上圖來自 Choi 的演講。

對於這個標題,一臺機器可能提出從下面這些問題:

有人因為一個芝士漢堡刺傷了別人?

有人刺傷了一個芝士漢堡?

一個芝士漢堡刺傷了人?

一個芝士漢堡刺傷了另一個芝士漢堡?

如果機器擁有社會和物理常識的話,它們就可以排除掉那些你永遠不會問的荒謬問題。社會常識(http://aclweb.org/anthology/P18-1043)可以提醒機器,第一種選項似乎是合理的,因為傷害人是不好的,並且因此具有新聞價值。而傷害一個芝士漢堡則沒有新聞價值。物理常識(http://aclweb.org/anthology/P17-1025)則說明第三和第四個選項是不可能的,因為芝士漢堡不能被用來傷害任何東西。

除了引入常識知識,Choi 還推崇「通過語義標註進行理解」,這裡的重點是應該把「說了什麼」改為「通過仿真進行理解」。這模擬了文本所暗示的因果效應,不僅側重於「文本說了什麼」,還側重於「文本沒有說什麼,但暗示了什麼」。Bosselut 與其同事(https://arxiv.org/abs/1711.05313)展示了一個例子,用以說明為什麼預測對於文本中的實體採取的動作所隱含的因果效應是十分重要的:

如果我們給出「在鬆餅混合物中加入藍莓,然後烘焙一個半小時」這樣的說明,一個智能體必須要能夠預測一些蘊含的事實,例如:藍莓現在正在烤箱裡,它們的「溫度」會升高。

Mihaylov 和 Frank(http://aclweb.org/anthology/P18-1076)也認識到我們必須通過仿真來進行理解。與其他更復雜的閱讀理解模型不同,他們的完形填空式的閱讀理解模型可以處理「大部分用來推理答案的信息在一個故事中被給出」的情況,但是也需要一些額外的常識來預測答案:馬(horse)是一種動物,動物(animal)是用來騎的,而乘騎(mount)與動物有關。

神经网络并不是尚方宝剑,我们需要正视深度 NLP 模型的泛化问题

一個需要常識的完形填空式的閱讀理解案例。該例子來自 Mihaylov 和Frank 的論文。

很不幸,我們必須承認,現代的 NLP 就像「只有嘴巴沒有腦子」一樣地運行,為了改變這種現狀,我們必須向它們提供常識知識,教它們推測出有什麼東西是沒有直接說,但是暗示出來了。

神经网络并不是尚方宝剑,我们需要正视深度 NLP 模型的泛化问题

「循環神經網絡(RNN)是無腦的嘴巴嗎?」幻燈片取自 Choi 的演講。

方向 3:評估從未見到過的分佈和任務

使用監督學習解決問題的標準方法包含以下步驟:

  • 確定如何標註數據

  • 手動給數據打標籤

  • 將標註過的數據分割成訓練集、測試集和驗證集。通常,如果可能的話,我們建議確保訓練集、開發集(驗證集)和測試集的數據擁有同樣的概率分佈。

  • 確定如何表徵輸入

  • 學習從輸入到輸出的映射函數

  • 使用一種恰當的方式在測試集上評估提出的學習方法

按照這種方法解出下面的謎題,需要對數據進行標註從而訓練一個識別各單位的模型,還要考慮多種表徵和解釋(圖片、文本、佈局、拼寫、發音),並且將它們放在一起考慮。該模型確定了「最佳」的全局解釋,並且與人類對這一謎題的解釋相符。

神经网络并不是尚方宝剑,我们需要正视深度 NLP 模型的泛化问题

一個難以標註的輸入的示例。圖片由Dan Roth 提供。

在 Dan Roth 看來:

  • 這種標準方法不具有可擴展性。我們將永遠不可能擁有足夠的標註數據為我們需要的所有任務訓練所有的模型。為了解出上面的謎題,我們需要標註過的訓練數據去解決至少五個不同的任務,或者大量的數據來訓練一個端到端的模型。雖然可以利用 ImageNet 這樣現有的資源來完成「單位識別」這樣的組建,但是 ImageNet 並不足以領悟到「世界(world)」一詞在這種語境下比「地球(globe)」要好。即使有人做出了巨大的努力進行標註,這些數據還是需要不斷地被更新,因為每天都需要考慮新的流行文化。

Roth 提醒我們注意一個事實,即大量的數據獨立於特定的任務存在,並且有足夠多的暗示信息來為一系列任務推斷出監督信號。這就是「伴隨監督(incidental supervision)」這一想法的由來。用他自己的話說

(http://cogcomp.org/papers/Roth-AAAI17-incidental-supervision.pdf):

「伴隨」信號指的是在數據和環境中存在的一系列若信號,它們獨立於有待解決的任務。這些信號與目標任務是相互關聯的,可以通過適當的算法支持加以利用,用來提供足夠的監督信號、有利於機器進行學習。例如,我們不妨想一想命名實體(NE)音譯任務,基於各個實體間發音的相似性,將命名實體從源語言改寫成目標語言的過程(例如,確定如何用希伯來語寫奧巴馬的名字)。我們擁有現成的時序信號,它獨立於有待解決的音譯任務存在。這種時序信號是與我們面對的任務相互關聯的,它和其他的信號和一些推理結果可以被用來為任務提供監督信息,而不需要任何繁瑣的標註工作。

Percy Liang 則認為,如果訓練數據和測試數據的分佈是相似的,「任何一個有表示能力的模型,只要給了足夠數據都能夠完成這個任務。」然而,對於外推任務(當訓練數據和測試數據的分佈不同時),我們必須真正設計一個更加「正確」的模型。

在訓練和測試時對同樣的任務進行外推的做法被稱為領域自適應。近年來,這一課題引起了廣泛的關注。

但是「伴隨監督」,或者對訓練時任務和測試時任務不同的外推並不是常見的做法。Li 與其合作者(http://aclweb.org/anthology/N18-1169)訓練了一個用於文本定語遷移的模型,它僅有對與給定的句子的定語標籤,而不需要一個平行的語料庫把具有相同內容、但是定語不同的句子對應起來。換句話說,他們訓練了一個模型用來預測一個給定的句子的定語,它只需要被作為一個分類器進行訓練。類似地,Selsam 與其合作者(https://arxiv.org/abs/1802.03685)訓練了一個學著解決SAT(可滿足性)問題的模型,它只需要被作為一個預測可滿足性的分類器進行訓練。值得注意的是,這兩種模型都有很強的歸納偏置。前者使用的假設是,定語往往在局部的判別短語中較為明顯。後者則捕獲了調查傳播算法(Survey propagation)的歸納偏置。

Percy 對研究社區提出了挑戰,他呼籲道:

每篇論文,以及它們對所使用的數據集的評估,都應該在一個新的分佈或一個新的任務上進行評估,因為我們的目標是解決任務,而不是解決數據集。

當我們使用機器學習技術時,我們需要像機器學習一樣思考,至少在評估的時候是這樣的。這是因為,機器學習就像一場龍捲風,它把一切東西都吸收進去了,而不在乎常識、邏輯推理、語言現象或物理直覺。

神经网络并不是尚方宝剑,我们需要正视深度 NLP 模型的泛化问题

幻燈片取自 Liang 的報告。

參加 workshop 的研究人員們想知道,我們是否想要構建用於壓力測試的數據集,為了觀測我們的模型真正的泛化能力,該測試超出了正常操作的能力,達到了一個臨界點(條件十分苛刻)。

我們有理由相信,只有在解決了較為簡單的問題後,一個模型才能有可能解決更困難的案例。為了知道較為簡單的問題是否得到了解決,Liang 建議我們可以根據案例的難度對它們進行分類。Devi Parikh 強調,對於解決了簡單的問題就能夠確定更難的問題有沒有可能解決的這樣的設想,只有一小部分任務和數據集能滿足。而那些不包括在這一小部分中的任務,例如可視化問答系統,則不適合這個框架。目前還不清楚模型能夠處理哪些「圖像-問題」對,從而處理其它可能更困難的「圖像=問題」對。因此,如果我們把模型無法給出答案的例子定義為「更困難」的案例,那麼情況可能會變的很糟。

參加 workshop 的研究人員們擔心,壓力測試可能會放緩這一領域的進步。什麼樣的壓力能讓我們對真正的泛化能力有更好的理解?能夠促使研究人員構建泛化能力更強的系統?但是不會導致資金的削減以及研究人員由於產出較少而倍感壓力?workshop 沒有就此問題給出答案。

結論

「NAACL 深度學習和自然語言處理新泛化方法 workshop」是人們開始認真重新思考現代自然語言處理技術的語言理解和推理能力的契機。這個重要的討論在 ACL 大會上繼續進行,Denis Newman-Griffis 報告說,ACL 參會者多次建議我們需要重新思考更廣泛的泛化和測試的情景,這些情景並不能反映訓練數據的分佈。Sebastian Ruder 說,這個 NAACL workshop 的主題在 RepLNLP(最受歡迎的關於自然語言處理的表徵學習的 ACL workshop)上也被提及。

以上的事實表明,我們並不是完全不知道如何修改我們的模型來提高他們的泛化能力。但是,仍然有很大的空間提出新的更好的解決方案。

我們應該使用更多的歸納偏置,但是需要找出最恰當的方法將它們整合到神經網絡架構中,這樣它們才能夠為網絡架構帶來我們期望得到的提升。

我們必須通過一些與人類理解類似的常識概念來提升最先進的模式匹配模型,從而使它們能夠捕獲到事實、實體、事件和活動之間的高階關係。但是挖掘出常識通常是極具挑戰性的,因此我們需要新的、有創造性的方法來抽取出常識。

最後,我們應該處理從未見過的分佈和任務。否則,「任何具有足夠足夠數據的表示模型都能夠完成這個任務」。顯然,訓練這樣的模型更加困難,並且不會馬上取得很好的結果。作為研究人員,我們必須勇於開發這種模型;而作為審稿人,我們不應該批評試圖這樣做的工作。

這些討論雖然都是 NLP 領域的話題,但這也反映了整個 AI 研究領域內的更大的趨勢:從深度學習的缺點和優勢中反思學習。Yuille and Liu 寫了一篇觀點文章《深度神經網絡到底對計算機視覺做了什麼》,

(https://arxiv.org/abs/1805.04025)

Gary Marcus 更是一直宣揚,對於整個 AI 領域的問題來說,我們需要多多考慮深度學習之外的方法。這是一個很健康的信號,AI 研究人員們越來越清楚深度學習的侷限性在哪裡,並且在努力改善這些侷限。

via gradient.pub,AI 科技評論編譯。


分享到:


相關文章: