理解表徵
探索模型
很高興看到很多論文都在從方法上研究現有模型以及它們捕獲的內容,而不是一直在引入更新的模型。進行這樣的研究最常用的辦法是自動建立一個側重於泛化行為的某個特定方面的資料集,並用該資料集對不同訓練模型進行評估:
例如,Conneau 等人在十個用於捕獲特定語言特徵(如預測句子長度、恢復單詞內容以及 bigram shift 敏感度等)的資料集上評估了不同的句子嵌入方法。他們發現不同的編碼器架構可以使嵌入具有不同特徵,bag-of-embeddings 可以很好地捕獲句子級的屬性。
《What you can cram into a single vector: Probing sentence embeddings for linguistic properties》
Conneau, A., Kruszewski, G., Lample, G., Barrault, L., & Baroni, M. (2018)
http://arxiv.org/abs/1805.01070
Zhu 等人透過觀察某些語義或句法方面不同的句子產生的三元組的相似度變化來評估句子嵌入。他們發現,SkipThought 和 InferSent 可以區分同義詞和否定,但 InferSent 可以更好地識別語義等價、處理量詞。
《Exploring Semantic Properties of Sentence Embeddings》
Zhu, X., Li, T., & De Melo, G. (2018)
http://aclweb.org/anthology/P18-2100
Pezzelle 等人主要研究的是量詞。他們用不同的 CNN 和 LSTM 模型在單句語境和多句語境中預測量詞。他們發現,在單句語境中,模型的表現要比人類更出色,但人類在多句語境中略勝一籌。
《Some of Them Can be Guessed! Exploring the Effect of Linguistic Context in Predicting Quantifiers》
Pezzelle, S., Steinert-Threlkeld, S., Bernardi, R., & Szymanik, J. (2018)
http://arxiv.org/abs/1806.00354
Kuncoro 等人對 LSTM 建模主謂一致的能力進行評估。他們發現在容量足夠的情況下,LSTM 可以建模主謂一致,但像 RNN 語法這樣對句法更加敏感的模型在這方面做得更好。
《LSTMs Can Learn Syntax-Sensitive Dependencies Well, But Modeling Structure Makes Them Better》
Kuncoro, A., Dyer, C., Hale, J., Yogatama, D., Clark, S., & Blunsom, P. (2018)
http://aclweb.org/anthology/P18-1132
Blevins 等人評估了在不同任務上進行預訓練的模型是否可以捕獲句法的層級概念。具體來講,他們訓練模型來預測了 POS 標籤和不同深度的解析樹的組成標籤。他們發現所有模型都編碼了大量的句法,尤其是語言模型還學習了一些句法。
《Deep RNNs Encode Soft Hierarchical Syntax》
Blevins, T., Levy, O., & Zettlemoyer, L. (2018)
http://arxiv.org/abs/1805.04218
Lau 等人還得到了一個關於語言模型泛化能力的有趣結果。他們發現用十四行詩語料庫訓練出來的語言模型可以學到人類水平的英詩格律。
《Deep-speare: A Joint Neural Model of Poetic Language, Meter and Rhyme》
Lau, J. H., Cohn, T., Baldwin, T., Brooke, J., & Hammond, A. (2018)
http://arxiv.org/abs/1807.03491
但是語言模型也存在侷限性。Spithourakis 和 Riedel 觀察到語言模型無法對數字建模,他們還提出了一些可以改善這些模型的策略。
《Numeracy for Language Models: Evaluating and Improving their Ability to Predict Numbers》
Spithourakis, G. P., & Riedel, S. (2018)
https://arxiv.org/abs/1805.08154
Liu 等人在 Repl4NLP workshop 上展示了,與用非語言資料訓練的模型相比,用自然語言資料訓練的 LSTM 可以從更長的序列中檢索分詞(token)。
《 LSTMs Exploit Linguistic Attributes of Data》
Liu, N. F., Levy, O., Schwartz, R., Tan, C., & Smith, N. A. (2018)
http://arxiv.org/abs/1805.11653
要特別指出的是,我認為更好地瞭解 LSTM 和語言模型的未來將越來越重要,因為它們似乎才是 NLP 前進過程的重要驅動力,正如我們關於語言模型微調的 ACL 論文(http://arxiv.org/abs/1801.06146)和相關方法中論證的那樣。
瞭解當前最佳的模型
雖然上述研究試圖瞭解特定模型類別的泛化能力的某個特定方面,但還有幾篇文章聚焦在更好地理解用於特定任務的當前最佳模型:
Glockner 等人關注的是自然語言推理任務。他們建立了一個資料集,該資料集中的句子與訓練資料中的句子最多隻有一個單詞不同,這是為了探究模型是否可以進行簡單的詞彙推斷。他們發現當前最佳的模型無法獲得許多簡單的推斷。
《Breaking NLI Systems with Sentences that Require Simple Lexical Inferences》
Glockner, M., Shwartz, V., & Goldberg, Y. (2018)
http://arxiv.org/abs/1805.02266
Mudrkarta 等人跨模態分析了當前最佳的 QA 模型,發現這些模型常常會忽略關鍵的提問詞。然後他們擾亂問題以製造可以大大降低模型準確率的對抗樣本。
《Did the Model Understand the Question?》
Mudrakarta, P. K., Taly, A., Brain, G., Sundararajan, M., & Google, K. D. (2018)
https://arxiv.org/pdf/1805.05492.pdf
我發現許多論文探索了模型的不同方面。我希望這些用於探索的資料集的出現可以成為每個 NLP 研究人員工具包中的標準工具,這樣在未來我們不僅可以看到更多這樣的論文,而且這樣的分析也可能成為除誤差分析和 ablation analysis 以外標準模型評估的一部分。
分析歸納偏置
另一種更好地瞭解模型的方式是分析其歸納偏置。NLP 神經架構的語言結構相關性 workshop(RELNLP workshop)試著探討將語言結構融入模型的有用程度。Chris Dyer 在該 workshop 上的發言的重點之一是:對 NLP 而言,RNN 是否具備有用的歸納偏置。尤其要指出的是,他認為有幾條明顯的證據可以證明 RNN 更偏向於順序近因(sequential recency),即:
1. 隨著時間的推移,梯度逐漸減弱。LSTM 或 GRU 可能有助於此,但它們也會遺忘。
2. 人們使用像機器翻譯中反轉輸入序列這樣的訓練機制。
3. 人們使用類似注意力機制的增強功能,以及時恢復直接的連線。
4. 針對主謂一致建模,誤差率會隨著吸引子的增加而增加。
根據喬姆斯基的觀點,順序近因並非學習人類語言的正確偏置。因此 RNN 似乎並沒有以正確的偏置對語言建模,這在實踐中可能會導致統計效率低下還有泛化能力弱這樣的問題。迴圈神經網路語法是一類透過將句子壓縮成其成分來順序生成樹和序列的模型,而不是對句法(而非順序)近因有偏好。
但是,要確定模型是否具備有用的歸納偏置很難。為了識別主謂一致,Chris 假設 LSTM 語言模型學習了一種非結構性的「第一名詞」啟發式方法,它依賴於將動詞與句子中的第一個名詞相匹配。一般而言,困惑度(和其他評價指標)與句法/結構能力相關,但在區分使用更簡單的啟發式方法的模型與結構敏感模型時困惑度則不是特別敏感。
使用深度學習理解語言
Mark Johnson 在 workshop 上提出,雖然深度學習徹底改變了 NLP,但它的主要優勢在於成本低:用端到端模型代替複雜的元件流程,以更快、更廉價地實現目標準確率。深度學習並未改變我們對語言的理解。其主要貢獻在於證明神經網路(計算模型)可以執行某些 NLP 任務,這表明這些任務不是智慧的指標。雖然 DL 方法可以很好地匹配和執行感知任務,但它們在處理依賴有意識的反思和思考的任務時仍然很困難。
融入語言結構
Jason Eisner 在演講中質疑語言結構和類別是否真的存在,或者說是不是「科學家只要將資料分成堆」就可以讓沒有語言的方法在 MT 任務上取得很好的效果。他發現即使是「任意定義」的類別,比如音素/b/和音素/p/之間的差異,也會被強加意義。但神經模型是非常好的海綿,它可以吸收任何未明確建模的東西。
他對四種在模型中引入語言資訊的常用方法進行了介紹:a)透過基於流水線的方法,將語言類別作為特徵引入;b)透過資料增強,用語言類別對資料進行擴充;c)透過多工學習引入語言資訊;d)透過結構化建模,例如使用基於轉換的解析器、迴圈神經網路語法,甚至是像 BIO 標記法這樣依賴彼此的類。
Emily Bender 在 workshop 上質疑了完全無語言的學習:即便你已經有一個巨大的語料庫,但你對這種語言一無所知,在沒有任何先驗知識的情況下,例如功能詞是什麼,你就無法學會句子的結構或意思。她還明確指出許多 ML 論文將其方法描述得和嬰兒學習的過程很像,但卻沒引用任何實際的發展心理學或語言習得方面的文獻。實際上嬰兒學習的場景、情感環境等都包含很多訊號和意義。
理解 LSTM 的「故障模式」
更好地理解表徵也是 NLP 表徵學習探討會的主題。Yoav Goldberg 在演講中詳細介紹了他的小組為更好地理解 RNN 的表徵所做出的努力。他討論了近期的研究:從 RNN 中提取有限狀態自動機,以更好地瞭解模型學習了什麼。他還提醒聽眾,就算已經在一個任務上訓練過 LSTM 表徵了,它們也不是隻針對特定任務的。它們通常預測的是像人口統計資料這樣的非預期方面。即便當模型已經用領域對抗損失進行過訓練,產生了對某個方面保持不變的表徵,該表徵仍會預測之前所述的屬性。因此,從編碼語言資料中完全刪除不需要的資訊也是一個挑戰,即便看似完美的 LSTM 模型也可能具有潛在的故障模式。
關於 LSTM 故障模式的話題,今年獲得 ACL 終身成就獎的 Mark Steedman 對此發表過觀點:「LSTM 在實踐中是有效的,但是從理論上講它們也是有效的嗎?」
在更具挑戰性的設定中進行評估
對抗樣本
與更好地瞭解當前最優模型的限制密切相關的主題是提出改進這些模型的方法。與上文提及的對抗樣本相似,有幾篇論文試著使模型對對抗樣本具備更強的穩健性:
Cheng 等人提出使 NMT 模型中的編碼器和解碼器在對抗輸入擾動時更加魯棒的方法。
《Towards Robust Neural Machine Translation》
Cheng, Y., Tu, Z., Meng, F., Zhai, J., & Liu, Y. (2018)
https://arxiv.org/abs/1805.06130
Ebrahimi 等人提出白盒對抗樣本,透過交換幾個 token 來欺騙字元級的神經分類器。
《HotFlip: White-Box Adversarial Examples for Text Classification》
Ebrahimi, J., Rao, A., Lowd, D., & Dou, D. (2018)
http://arxiv.org/abs/1712.06751
Ribeiro 等人使用語義保留擾動(semantic-preserving perturbation)來改善之前的方法,這些擾動會使模型預測值發生變化,他們將此泛化至在許多情況下會誘發對抗的規則。
《Semantically Equivalent Adversarial Rules for Debugging NLP Models》
Ribeiro, M. T., Singh, S., & Guestrin, C. (2018)
https://homes.cs.washington.edu/~marcotcr/acl18.pdf
Bose 等人用對抗學得的取樣器(adversarially learned sampler)將對抗樣本與噪聲對比估計結合在一起。取樣器找出更難的負例,這樣模型就可以學習更好的表徵。
《Adversarial Contrastive Estimation》
Bose, A., Ling, H., & Cao, Y. (2018)
https://arxiv.org/abs/1805.03642
學習魯棒和公平的表徵
Tim Baldwin 在 RepL4NLP workshop 上討論了使模型對域位移(domain shift)具備更強穩健性的不同方法。就單源域而言,他討論了一種基於不同型別的句法和語義噪聲在語言上擾亂訓練例項的方法。在多源域環境中,他提出可以在源域上訓練對抗模型的方法。最後,他討論了一種允許模型學習魯棒性和保護隱私的文字表徵的方法。
Margaret Mitchell 專注於公平且可以保護隱私的表徵。她特別強調了有關世界的描述性認識和規範性認識之間的區別。ML 模型學習了可以反映訓練資料的描述性認識的表徵。該資料代表「人們談論的世界」。相反,公平性研究試圖建立可以反映對世界的規範性認識的表徵。
改進評估方法
除了讓模型變得更加魯棒,還有幾篇論文試圖改進模型的評估方法:
Finegan-Dollak 等人明確了現有 text-to-SQL 系統的評估方法的侷限性,並提出了改進方法。他們認為現有的訓練集-測試集分割和變數匿名化(anonymization of variables)實踐存在缺陷,於是他們提出了七個資料集的標準和改進版本來彌補這些缺陷。
《Improving Text-to-SQL Evaluation Methodology》
Finegan-Dollak, C., Kummerfeld, J. K., Zhang, L., Ramanathan, K., Sadasivam, S., Zhang, R., & Radev, D. (2018)
http://arxiv.org/abs/1806.09029
Dror 等人則聚焦於一種司空見慣、但效果不好的做法:統計顯著性檢驗(statistical significance testing)。他們調查了 ACL 和 TACL 2017 中的近期實證論文後發現,統計顯著性檢驗常被忽略或誤用,於是他們提出了一種用於 NLP 任務統計顯著性檢驗的簡單協議。
《The Hitchhiker's Guide to Testing Statistical Significance in Natural Language Processing》
Dror, R., Baumer, G., Shlomov, S., & Reichart, R. (2018)
https://ie.technion.ac.il/~roiri/papers/ACL-2018-sig-cr.pdf
Chaganty 等人調查瞭如 BLEU 和 ROUGE 這樣的自動指標的偏差,發現即使是無偏估計也只能稍微減少誤差。這強調了改進自動指標的相關性和減少人類標註的方差的必要性。
《The price of debiasing automatic metrics in natural language evaluation》
Chaganty, A. T., Mussman, S., & Liang, P. (2018)
http://arxiv.org/abs/1807.02202
強基線
另一種改善模型評估的方式是將新模型和更強的基線進行對比,以確定新模型所作出的改進確實顯著。這次會議也有一些論文是在這個方向進行研究:
Shen 等人系統地對基於詞嵌入的帶有池化的簡單方法和 LSTM 和 CNN 這樣的複雜模型進行了對比。他們發現對大多數資料集而言,基於詞嵌入的方法表現出了競爭性,甚至可以說這些方法的表現更勝一籌。
《Baseline Needs More Love: On Simple Word-Embedding-Based Models and Associated Pooling Mechanisms》
Shen, D., Wang, G., Wang, W., Min, M. R., Su, Q., Zhang, Y., … Carin, L. (2018)
https://arxiv.org/abs/1805.09843
Ethayarajh 在 RepL4NLP workshop 上提出一種針對句子嵌入模型的強基線。
《Unsupervised Random Walk Sentence Embeddings: A Strong but Simple Baseline》
Ethayarajh, K. (2018)
http://www.aclweb.org/anthology/W18-3012
同樣,Ruder 和 Plank 發現像 tri-training 這樣的經典 bootstrapping 演算法為半監督學習提供了強大的基線,其結果甚至要比當前最佳的方法還要好。
《Strong Baselines for Neural Semi-supervised Learning under Domain Shift》
Ruder, S., & Plank, B. (2018)
https://arxiv.org/abs/1804.09530
我們在上文中強調了在更具挑戰性的環境中進行評估的重要性,比如在超出分佈範圍的資料上進行訓練,或針對不同任務。而如果我們只關注一個任務或領域內資料,研究結果大不相同。我們需要在不利條件下測試模型,以更好地瞭解模型的魯棒性以及它們在實際情況中的泛化效能。
建立更難的資料集
為了在這樣的設定下進行評估,我們就需要建立更具挑戰性的資料集了。Yejin Choi 在 RepL4NLP 的小組討論中指出,社群對於 SQuAD 或 bAbI 這樣過於簡單且近乎被解決了的任務上投入了過多的注意力。Yoav Goldberg 甚至認為「SQuAD 就像 MNIST 之於 NLP 一樣」。我們應該將注意力集中在更難的任務以及開發更多難度更高的資料集上。社群不應該長時間處理資料集,因為近期資料集的處理速度已經很快了;建立更具挑戰性的新資料集更為重要。這次會議上提出了兩個閱讀理解資料集,試圖超越 SQuAD:
QAngaroo 專注於需要透過多個推理步驟收集多條資訊的閱讀理解。
NarrativeQA 則要求透過閱讀整本書或電影劇本來回答故事的相關問題,從而理解其潛在含義。
Richard Socher 還在機器閱讀問答 workshop 上發表演講,他強調在多個任務中訓練和評估模型的重要性。他特別指出 NLP 需要不同型別的推斷,例如邏輯推斷、語言推斷、情感推斷等,單一任務無法滿足這樣的要求。
在多種低資源語言上進行評估
另一個方面是要在多種語言上評估模型。Emily Bender 調查了 50 篇 NAACL 2018 論文,發現有 42 篇都評估了一種未命名的神秘語言(即英語)。她強調,給你處理的語言命名很重要,因為不同的語言的語言結構不同;不提及所處理的語言就是在混淆事實。
如果我們的方法旨在處理跨語言資料,那麼我們就應該在低資源語言這樣更具挑戰性的設定上對其進行額外的評估。例如,下面的兩篇論文都指出,如果目標語言與愛沙尼亞語或芬蘭語都不同的話,則現有的無監督雙語字典方法都會失敗:
Søgaard 等人進一步探討了現有方法的侷限性,並強調當嵌入是在不同領域或用不同演算法訓練時這些方法都會失敗。他們最終提出一個度量標準來量化這些方法的潛力。
《On the Limitations of Unsupervised Bilingual Dictionary Induction》
Søgaard, A., Ruder, S., & Vulić, I. (2018)
https://arxiv.org/abs/1805.03620
Artetxe 等人提出一種新的無監督自訓練方法,該方法採用了更好的初始化來引導最佳化過程,這種方法對於不同的語言對而言尤其強大。
《A robust self-learning method for fully unsupervised cross-lingual mappings of word embeddings》
Artetxe, M., Labaka, G., & Agirre, E. (2018)
https://arxiv.org/abs/1805.06297
還有其他幾篇論文也在低資源語言上評估了他們的方法:
Riley 等人提出用正交特徵歸納雙語詞典。儘管這主要對相關語言有幫助,但它們也可以對如英語-芬蘭語這樣的不相似語言對進行評估。
《Orthographic Features for Bilingual Lexicon Induction》
Riley, P., & Gildea, D. (2018)
https://www.cs.rochester.edu/u/gildea/pubs/riley-gildea-acl18.pdf
Ren 等人提出利用另一種豐富的語言來翻譯資源匱乏的語言。他們發現其模型顯著提升了稀有語言的翻譯質量。
《Triangular Architecture for Rare Language Translation》
Ren, S., Chen, W., Liu, S., Li, M., Zhou, M., & Ma, S. (2018)
http://arxiv.org/abs/1805.04813
Currey 和 Heafield 提出一種調整 Gumbel tree-LSTM 用於 NMT 的無監督 tree-to-sequence 模型。結果證明他們的模型對低資源語言而言尤其有用。
《Unsupervised Source Hierarchies for Low-Resource Neural Machine Translation》
Currey, A., & Heafield, K. (2018)
http://www.aclweb.org/anthology/W18-2902
NLP 進展
會議的另一個主題是該領域取得了顯著進展。ACL 主席 Marti Hearst 在其演講中談到了這一點。她過去常以 Stanley Kubrick 的 HAL 9000(見下圖)為例來展示模型能做以及不能做的事。近些年,由於模型已經學會執行識別和生成人類演講或唇讀這樣幾十年前無法完成的任務,因此這已經成為了一種不太有用的練習。雖然我們離像辯論這樣需要深度理解語言和推理的任務還很遙遠,但是 NLP 取得的進展還是顯而易見的。
Hal 9000(圖源:https://commons.wikimedia.org/w/index.php?curid=11651154)
Marti 還引用了 NLP 和 IR 先驅 Karen Spärck Jones 的話:研究不是在繞圈,而是在攀爬螺旋式樓梯,這些樓梯未必是相連的,但是它們去往同一個方向。她還表達了一個引起很多人共鳴的觀點:二十世紀八九十年代,可供閱讀的論文不多,因此緊跟最新科研成果相對來說比較容易。現在為了使這一過程變得簡單,近期我建立了新的文件以收集針對不同 NLP 任務的最新成果(http://nlpprogress.com/)。
隨著社群的不斷發展,她鼓勵人們參與到 ACL 中,還宣佈會為奉獻最多的會員頒發 ACL 傑出服務獎。繼 1982 年的 EACL 和 2000 年的 NAACL 之後,ACL 2018 還成立了第三分會 AACL(ACL 亞太分會)。
會議期間的商務會談重點討論了該如何應對社群發展所帶來的挑戰:提交論文數量不斷增加,需要更多的論文評審。我們期望明年這些問題能夠有所改善。
強化學習
早在 2016 年,強化學習(RL)就在尋找在 NLP 中的立足點,以及應用在越來越多的任務中。儘管監督學習看似適用於大多數任務,但對某些有一定時間依賴性的任務來說(例如在訓練和建模對話期間選擇資料),RL 的動態本質使其成為最有用的方式。RL 的另一個重要應用是直接最佳化像 ROUGE 或 BLEU 這樣的度量指標,而不是最佳化像交叉熵這樣的替代損失(surrogate loss)。這方面的成功應用是摘要和機器翻譯。
在獎勵太複雜而無法指定的環境中,逆向強化學習就很有價值了。這方面的應用有視覺敘事。強化學習特別適用於 NLP 中的序貫決策問題,如玩一些基於文字的遊戲、瀏覽網頁以及完成任務。這個用於 NLP 的深度強化學習教程(https://www.cs.ucsb.edu/~william/papers/ACL2018DRL4NLP.pdf)則提供了這方面的全面概述。
教程
還有其它很棒的教程:
變分推斷和深度生成模型教程:https://github.com/philschulz/VITutorial
語義解析方面的教程:https://github.com/allenai/acl2018-semantic-parsing-tutorial
「你想知道的關於語義和語用的 100 件事」:http://faculty.washington.edu/ebender/100things-sem_prag.html
教程的完整列表:https://acl2018.org/tutorials/
原文連結:http://blog.aylien.com/acl-2018-highlights-understanding-representations-and-evaluation-in-more-challenging-settings/