機器在閲讀測試中擊敗了人類,但它們真的讀懂了嗎?_風聞
造就-造就官方账号-发现创造力2020-07-14 21:18
紐約大學計算機語言學家山姆·鮑曼(Sam Bowman)認為,計算機雖然在自動翻譯或情緒分析方面表現不錯,但仍然不太擅長理解書面文字。為了探索這一問題,他與華盛頓大學和谷歌人工智能公司DeepMind在共同撰寫的論文中提出了一項測試:GLUE(通用語言理解評估,其中包含9項閲讀理解任務)。
他們試圖讓計算機神經網絡通過參與GLUE測試,從而**判斷它是否理解了語言。**比如當計算機網絡神經看到“特朗普總統抵達伊拉克開始為期七天的訪問”,它能否判斷出來這句話其實意味着“特朗普總統正在海外訪問”。
測試結果表明,即使最先進的神經網絡在9項任務中的得分也不超過69分(滿分100)。之後,谷歌推出了一種名為BERT的新方法,它在9項測試中得分為80.5。查看GLUE測試排行榜,前幾名幾乎都由BERT以及它的升級系統佔據着,其中五個系統甚至超過了人類表現。
BERT神經網絡引發了機器如何理解人類語言的革命
這意味着AI真的開始理解人類語言了嗎?
或者只是在玩人類的系統方面變得更溜了?
讓神經網絡編寫自己的臨時規則手冊?
説到這兒,就不得不提一個著名的**“中文室實驗”實驗**。它由美國著名哲學家約翰·賽爾(John Searle)於上世紀80年代初提出,其內容是:將一個只會説英語的人關入一間密室,只在門上留一條投信口那麼窄的縫。房內有一份英文版的計算機中英翻譯規則手冊。外面的人從門上的“投信口”將一些印有中文的紙片投入該房間。賽爾認為,根據房內的資料,這個人可以將回複用中文寫好後遞出。
對於賽爾的實驗及結論,很多人持反對意見。他們認為,無論結果如何,房間內的人都不能説對中文有真正的瞭解。
儘管如此,作為一個針對自然語言處理系統的實驗而言,它還是具有一定價值的。唯一的問題是,完美的翻譯規則手冊並不存在,因為自然語言過於複雜,根本無法簡化為一套嚴格的規範。以語法為例:如何組合詞語才能讓它成為一個有意義的句子(比如“無色的綠色想瘋狂地睡着”有完美的語法,但大家都知道這是胡説八道)。
NLP(自然語言處理)研究人員試圖通過讓神經網絡編寫自己的臨時規則手冊來解決這個問題,這一過程稱為“預訓練”。
**2018年之前,NLP的主要預訓練工具之一就是字典。該詞典以深度神經網絡可以接受的方式將詞語之間的關聯編碼為數字,但問題是,接受了預訓練的神經網絡有時依然會忽略某些詞語含義,而這些詞語卻對句子層次起關鍵作用。**比如,約翰·霍普金斯大學的計算機語言學家塔爾·林森(Tal Linzen)説:“參與實驗的人們會認為‘一個人被狗咬了’和‘一個人咬了狗’是完全一樣的意思。”
約翰·霍普金斯大學的計算機語言學家塔爾·林森
更好的方法是執行NLP任務之前,使用預訓練為神經網絡配備更豐富的規則手冊(不僅用於理解詞彙,還用於語法和聯繫上下文)。
2018年初,OpenAI(諸多硅谷大亨聯合建立的人工智能非營利組織)、舊金山大學、艾倫人工智能研究所和華盛頓大學的研究人員同時發現了一種巧妙的方法:研究人員開始訓練整個神經網絡,完成一個更廣泛的基本任務,即語言建模,而不是僅僅對神經網絡的第一層進行預訓練。
“最簡單的語言模型是:我通過閲讀一個句子中的很多詞語,然後嘗試預測下一個詞語。”Facebook的研究科學家邁爾·奧特(Myle Ott)解釋道,“如果我説‘喬治·布什(George Bush)出生於***’,該模型就必須預測該句子中的下一個詞語。”
這些經過預先培訓的深層語言模型可以相對高效地生成。研究人員只需給神經網絡提供大量從維基百科(Wikipedia)等免費來源複製的文字文本(數十億詞語、語法正確的句子),然後讓網絡預測下一個詞語。邁爾·奧特説:“這種方法的優點在於,該模型學到了大量有關語法的知識。”
此外,這些預先訓練的神經網絡可以應用其更豐富的語言表達形式來完成其他不相關的、更具體的NLP任務,這個過程稱為微調。
2018 年 6 月,OpenAI推出了一款名為GPT的神經網絡語言模型,它在一個月內接受了近十億個詞語的預訓練(來自11038份數字書籍),其GLUE得分為72.8(在當時的排行榜上名列榜首)。儘管如此,鮑曼認為,要達到接近人類水平,這個領域還有很長的路要走。
然後,BERT出現了。
BERT到底是什麼?
BERT到底是什麼
首先,它不是一個被充分訓練到可以完全如同人類表現,即時理解語言內容的神經網絡系統。鮑曼説,“BERT是一種用於預訓練神經網絡的方法。”
舉個例子,蛋糕師遵循配方生產美味的萬能餡餅皮,然後用它做藍莓、菠菜乳蛋派等各類餡餅。同樣,谷歌研究人員也開發了BERT的配方(類似於餡餅皮,做任何餡餅都要用),為“烘烤”神經網絡提供了理想基礎(對它們進行微調,類似於給各種餡餅裏面塞藍莓等材料),從而讓它可以很好地處理不同的自然語言任務(類似於蛋糕師做各種味道的餡餅)。
另外,谷歌還開發了BERT的代碼,這意味着其他研究人員無需從頭開始重複配方(他們只需下載BERT,就像從超市購買預製的餡餅皮一樣)。
如果把BERT比做一個食譜,它的成分表是什麼?
Facebook的研究科學家歐默·列維(Omer Levy)分析了BERT的內部工作原理之後表示,這是三個“成分”通力合作的產物。
Facebook的研究科學家歐默·列維
第一種“成分”是預先培訓的深層語言模型,第二種“成分”是找出句子中的哪些特徵最重要的能力。
2017年,谷歌大腦(Google Brain)的一位名叫雅各布·烏斯科伊特(Jakob Uszkoreit)的工程師正在研究如何加速谷歌的語言理解工作。他注意到,**即使最先進的神經網絡也有一個內在的限制:它們都是逐字查看詞語的序列。**這種“順序性”似乎符合人們實際閲讀的習慣,但實際上以線性、順序的方式理解語言有時候會出現問題。
烏斯科伊特和他的合作者設計了一種**以“注意力”為中心的神經網絡新架構,這種機制使網絡的每一層更關注輸入的某些特定詞語,而忽略掉一些其他詞。**這種以注意力為中心的新架構,稱為轉換器。比如:可以給計算機輸入“狗、咬、人”等詞語,並以不同的方式進行編碼。此時,轉換器可能將“咬”和“人” 連接為動詞和賓語,而忽略“一個”;同時,它也可以將“咬”和“狗”作為動詞和主語連接在一起,而忽略“了”。
**神經網絡的每一層在某些詞語之間建立多個平行連接,而忽略其他詞語,烏斯科伊特將它稱為樹狀思維。**這些聯繫通常是在句子中可能實際上並不相鄰的詞語之間繪製的。這種類似樹狀的句子為轉換器提供了一種強大的方法來推測上下文意義,並有效地學習如何推測複雜句子中可能彼此相距較遠的詞語之間的關聯。
柏林Google AI Brain團隊的負責人雅各布·烏斯科伊特
BERT配方中的第三種“成分”是雙向化閲讀。
**許多預訓練模型是由神經網絡從左向右讀取文本,BERT的模型不同,它是從左到右的同時,也在從右到左讀取,並學習預測中間隱藏掉的詞語。**例如,BERT可以理解“喬治·布什在1946年在康涅狄格州……”這樣的句子,並通過解析文本來預測句子中間可能隱藏了“出生”這一詞語。烏斯科伊特説:“這種雙向性正在調節神經網絡,試圖從細節中獲取儘可能多的信息。”
在BERT之前,這三種“成分”中的每一個(深層的預訓練語言模型,注意力和雙向性)都獨立存在。但是在2018年末谷歌將其公佈出來之前,沒有人想到要將它們結合起來。
優化BERT,讓它更大程度地理解語言
BERT包含了許多影響其性能的結構設計決策,包括要“烘焙”的神經網絡大小,預訓練數據的數量,訓練前數據的隱藏方式以及神經網絡的訓練時間。像任何好的“食譜”一樣,BERT很快就被“廚師們”調整為適合自己的口味,比如RoBERTa(BERT的升級版)。
在RoBERTa的案例中,谷歌和華盛頓大學的研究人員增加了一些成分(更多的預訓練數據、更長的輸入序列、更多的訓練時間),並做了其他修改,使得預訓練任務更加困難。六週後,來自微軟和馬里蘭大學的研究人員對RoBERTa進行了自己的調整,並在GLUE測試中贏得了新的勝利。之後,另一個稱為ALBERT的模型通過進一步調整BERT的基本設計而超越RoBERTa,成為GLUE測試的榜首。
Facebook負責RoBERTa的邁爾·奧特表示,他們仍然在研究在優化BERT方面,哪些因素改進是有效的,哪些是無效的。
不過,就像完善烘焙技術的過程中不可能學到理化知識一樣,不斷優化BERT並不一定能得到推進NLP的知識。約翰·霍普金斯大學的計算機語言學家塔爾·林森説:“擺在我們面前的科學難題並不在於弄清楚如何改進BERT,從而使機器神經網絡變得更聰明。相反,我們正在嘗試瞭解這些模型在多大程度上真正理解了語言。”
BERT本質上是一個騙局?
2019年7月,台灣成功大學的兩名研究人員利用BERT,在一個相對模糊的自然語言理解基準上取得了成績,即“參數推理理解任務”。執行任務需要選擇適當的前提,從而讓它證明某些主張是正確的。比如,推理出“吸煙或許導致了癌症”僅僅基於“科學研究表明吸煙與癌症之間存在聯繫”是不夠的,還必須假定“科學研究是可信的”。
在這項測試中,人類的平均分為80分(滿分100),BERT得了77分。雖然BERT表現不錯,但是研究人員依然無法判定BERT是否具有推理能力,而是更傾向於相信BERT採用了簡單的聯想模式。
在一篇名為Right for the Wrong Reasons的論文中,林森及其他研究者表明BERT在某些GLUE任務中的出色表現可能歸因於這些任務的訓練數據中的虛假線索。
BRET簡單聯想
那麼,BERT以及它所有的改進版本本質上是一個騙局嗎?
鮑曼同意林森的觀點,即GLUE的一些訓練數據是有誤的(這些誤差是由創建它的人引入的細微偏差引起的),這些偏差有可能被強大的基於BERT的神經網絡利用。
華盛頓大學和艾倫研究所的計算機科學家蔡葉金(Yejin Choi)認為,鼓勵人們逐步建立穩固的計算機理解方法的途徑是:不僅要構建更好的BERT,還要設計更好的基準和訓練數據。她探索了一種叫做對抗性過濾的方法,它使用算法掃描NLP訓練數據並刪除過於重複或以其他方式引入的虛假線索。她表示,經過對抗性過濾後,“BERT的性能會大大降低,而人類的表現卻不會相差太多。”
儘管如此,一些NLP研究人員認為,**即使有了更好的訓練,神經語言模型仍然可能面臨障礙,**因為無論如何,BERT仍無法總體上完美地建模人類語言。“相反,在微調之後,它模擬了特定的NLP任務,甚至為這項任務建立的特定數據集”,羅威爾大學文本機器實驗室的計算語言學家安娜·羅傑斯(Anna Rogers)説,但是無論訓練數據集如何全面設計或仔細篩選,都不可能擁有像人類一樣面對不可預見情況時的應變力。”
對此,鮑曼指出,很難知道計算機神經網絡是否能夠真正理解人類語言。目前為止,在這方面,神經網絡還無法完全勝過人類自身的表現。
即便有一天勝過了,它是否意味着機器能夠真正理解語言了?
還是僅僅意味着,科學在教學機器測試方面越來越厲害?