對于人工智能來說,似乎理解數(shù)據(jù)很簡單,但事實證明,設(shè)計一個真正的機器知識測試是困難的。
還記得IBM的沃森嗎,人工智能的"危險"冠軍?2010年的一次宣傳宣稱,"沃森了解自然語言的所有模糊性和復(fù)雜性"。然而,正如我們看到的那樣,沃森后來在"用人工智能徹底改變醫(yī)學(xué)"的追求中慘遭失敗,語言能力的外衣并不等同于真正理解人類語言。
長期以來,自然語言理解一直是人工智能研究的一個主要目標(biāo)。起初,研究人員試圖對機器所需的一切進行人工編程,以理解新聞故事、小說或人類可能寫的其他東西。正如沃森所展示的那樣,這種方法是徒勞的--不可能寫下理解文本所需的所有不成文的事實、規(guī)則和假設(shè)。最近,一種新的范式已經(jīng)建立。我們沒有建立明確的知識,而是讓機器自己學(xué)習(xí)理解語言,僅僅通過攝取大量的書面文本和學(xué)習(xí)預(yù)測單詞。其結(jié)果就是研究人員所說的語言模型。當(dāng)基于大型神經(jīng)網(wǎng)絡(luò)時,如OpenAI的GPT-3,這樣的模型可以生成與人類不相上下的散文(和詩歌!),似乎可以進行復(fù)雜的語言推理。
但是,GPT-3--在數(shù)以千計的網(wǎng)站、書籍和百科全書的文本上進行訓(xùn)練--是否超越了沃森的外衣?它真的理解它所產(chǎn)生的、表面上是推理的語言嗎?這是一個在人工智能研究界存在明顯分歧的話題。這樣的討論曾經(jīng)是哲學(xué)家的職權(quán)范圍,但在過去的十年里,人工智能已經(jīng)沖出了它的學(xué)術(shù)泡沫,進入了現(xiàn)實世界,而它對這個世界的不理解可能會產(chǎn)生真實的、有時是毀滅性的后果。在一項研究中,IBM的沃森被發(fā)現(xiàn)提出了"多個不安全和不正確的治療建議的例子"。另一項研究表明,谷歌的機器翻譯系統(tǒng)在為非英語國家的病人翻譯醫(yī)療指示時出現(xiàn)了重大錯誤。
我們?nèi)绾尾拍茉趯嵺`中確定一臺機器是否能夠理解?1950年,計算機先驅(qū)阿蘭-圖靈試圖用他著名的"模仿游戲"來回答這個問題,現(xiàn)在被稱為圖靈測試。一臺機器和一個人,都隱藏起來,只用對話來說服人類法官相信他們是人類。圖靈斷言,如果法官無法分辨哪一個是人類,那么我們就應(yīng)該認(rèn)為機器在思考,而且實際上是在理解。
不幸的是,圖靈低估了人類被機器所欺騙的傾向。即使是簡單的聊天機器人,如Joseph Weizenbaum在1960年設(shè)計的冒牌心理治療師Eliza,也欺騙了人們,讓他們相信自己是在與一個善解人意的人對話,即使他們知道他們的對話伙伴是一臺機器。
在2012年的一篇論文中,計算機科學(xué)家Hector Levesque、Ernest Davis和Leora Morgenstern提出了一個更客觀的測試,他們稱之為Winograd模式挑戰(zhàn)。此后,這一測試被人工智能語言社區(qū)采用,作為評估機器理解的一種方式,也許是最好的方式--盡管正如我們將看到的,它并不完美。以語言研究者特里-維諾格拉德(Terry Winograd)命名的維諾格拉德模式由一對句子組成,它們之間正好相差一個詞,每個句子后面都有一個問題。下面是兩個例子。
句子1:我把水從瓶子里倒進杯子里,直到杯子滿了。
問題。什么是滿的,瓶子還是杯子?
句子2:我把水從瓶子里倒進杯子里,直到它空了為止。
問題:什么是空的?什么是空的,瓶子還是杯子?
第1句:張三的叔叔在網(wǎng)球上仍能打敗他,盡管他比他大30歲。
問題:誰更老?誰更老,張三還是張三的叔叔?
第2句:張三的叔叔仍然可以在網(wǎng)球上擊敗他,盡管他比他年輕30歲。
問題:誰更年輕?誰更年輕,張三還是張三的叔叔?
神經(jīng)網(wǎng)絡(luò)語言模型在一組特定的Winograd模式上取得了約97%的準(zhǔn)確率。這大致等同于人類的表現(xiàn)。
在每一對句子中,一個詞的差異可以改變代詞指代的事物或人。正確回答這些問題似乎需要常識性的理解。Winograd模式的設(shè)計正是為了測試這種理解力,減輕了圖靈測試對不可靠的人類裁判或聊天機器人技巧的脆弱性。特別是,作者們設(shè)計了幾百個他們認(rèn)為是"防谷歌"的模式。機器不應(yīng)該能夠使用谷歌搜索(或類似的東西)來正確回答問題。
這些模式是2016年舉行的一次競賽的主題,獲勝的程序只有58%的句子是正確的--幾乎沒有比它猜測的更好的結(jié)果。領(lǐng)先的人工智能研究員奧倫-埃齊奧尼(Oren Etzioni)調(diào)侃道:"當(dāng)人工智能無法確定'它'在句子中指的是什么時,很難相信它將接管世界。"
然而,由于大型神經(jīng)網(wǎng)絡(luò)語言模型的出現(xiàn),AI程序解決Winograd模式的能力迅速上升。2020年OpenAI的一篇論文報告說,GPT-3在Winograd模式的基準(zhǔn)集中有近90%的句子是正確的。其他語言模型在專門針對這些任務(wù)進行訓(xùn)練后,表現(xiàn)甚至更好。在寫這篇文章的時候,神經(jīng)網(wǎng)絡(luò)語言模型在一組特定的Winograd模式上取得了約97%的準(zhǔn)確率,這些模式是被稱為SuperGLUE的AI語言理解比賽的一部分。這一準(zhǔn)確率與人類的表現(xiàn)大致相當(dāng)。這是否意味著神經(jīng)網(wǎng)絡(luò)語言模型已經(jīng)達到了類似人類的理解能力?
不一定。盡管創(chuàng)作者盡了最大努力,但那些Winograd模式實際上并不符合谷歌的要求。這些挑戰(zhàn),就像目前許多其他對人工智能語言理解的測試一樣,有時允許走捷徑,讓神經(jīng)網(wǎng)絡(luò)在沒有理解的情況下表現(xiàn)良好。例如,考慮一下"跑車超過了郵車,因為它的速度更快"和"跑車超過了郵車,因為它的速度更慢"這兩個句子。一個在巨大的英語句子語料庫中訓(xùn)練出來的語言模型將吸收"跑車"和"快"之間的相關(guān)性,以及"郵車"和"慢"之間的相關(guān)性,因此它可以僅根據(jù)這些相關(guān)性而不是通過借鑒任何理解來正確回答。事實證明,SuperGLUE競賽中的許多Winograd模式都允許這種統(tǒng)計學(xué)上的相關(guān)性。
來自艾倫人工智能研究所的一組研究人員并沒有放棄將Winograd模式作為一種理解的測試,而是決定嘗試解決其中的一些問題。2019年,他們創(chuàng)建了WinoGrande,一個更大的Winograd模式集。WinoGrande沒有幾百個例子,而是包含了高達44000個句子。為了獲得這么多的例子,研究人員求助于亞馬遜Mechanical Turk,一個流行的眾包工作平臺。每個(人類)工人被要求寫幾對句子,并有一些限制條件,以確保收集的句子包含不同的主題,盡管現(xiàn)在每對句子的差異可能超過一個詞。
然后,研究人員試圖通過對每個句子應(yīng)用相對不復(fù)雜的人工智能方法來消除那些可能允許統(tǒng)計捷徑的句子,并丟棄那些太容易解決的句子。正如預(yù)期的那樣,剩下的句子對機器來說是一個比原來的Winograd模式集更難的挑戰(zhàn)。雖然人類的得分仍然很高,但在原始句子集上與人類表現(xiàn)相當(dāng)?shù)纳窠?jīng)網(wǎng)絡(luò)語言模型在WinoGrande句子集上的得分卻低得多。這個新的挑戰(zhàn)似乎可以挽回Winograd模式作為常識性理解的測試--只要對句子進行仔細(xì)的篩選,確保它們不受谷歌的影響。
然而,另一個驚喜正在醞釀之中。在WinoGrande文集出版后的近兩年時間里,神經(jīng)網(wǎng)絡(luò)語言模型已經(jīng)越來越大,而且它們越大,似乎在這個新的挑戰(zhàn)中得分越高。在寫這篇文章的時候,目前最好的程序--它們在TB級的文本上進行了訓(xùn)練,然后在成千上萬的WinoGrande例子上進一步訓(xùn)練--獲得了接近90%的正確率(人類獲得了大約94%的正確率)。這種性能的提高幾乎完全是由于神經(jīng)網(wǎng)絡(luò)語言模型及其訓(xùn)練數(shù)據(jù)的規(guī)模擴大所致。
理解語言需要理解世界,而只接觸語言的機器無法獲得這種理解。
這些越來越大的網(wǎng)絡(luò)是否最終達到了人類的常識性理解?同樣,這也是不可能的。WinoGrande的結(jié)果有一些重要的注意事項。例如,由于這些句子依靠的是亞馬遜Mechanical Turk的工人,寫作的質(zhì)量和連貫性相當(dāng)不平衡。另外,用于剔除"非谷歌認(rèn)證"句子的"不成熟"的人工智能方法可能太不成熟,無法發(fā)現(xiàn)一個巨大的神經(jīng)網(wǎng)絡(luò)所能使用的所有可能的統(tǒng)計捷徑,而且它只適用于個別句子,所以剩下的一些句子最終失去了"雙胞胎"。一項后續(xù)研究表明,只對雙胞胎句子進行測試的神經(jīng)網(wǎng)絡(luò)語言模型--并且要求在這兩個句子上都正確--其準(zhǔn)確度遠(yuǎn)遠(yuǎn)低于人類,這表明早先90%的結(jié)果并不像看上去那么重要。
那么,該如何看待Winograd的傳奇故事呢?主要的教訓(xùn)是,通常很難從它們在特定挑戰(zhàn)上的表現(xiàn)來確定人工智能系統(tǒng)是否真正理解它們所處理的語言(或其他數(shù)據(jù))。我們現(xiàn)在知道,神經(jīng)網(wǎng)絡(luò)經(jīng)常使用統(tǒng)計學(xué)上的捷徑--而不是真正表現(xiàn)出類似人類的理解力--來獲得Winograd模式以及許多最流行的"一般語言理解"基準(zhǔn)的高績效。
在我看來,問題的關(guān)鍵在于,理解語言需要理解世界,而只接觸語言的機器無法獲得這種理解。考慮一下理解"跑車超過了郵車,因為它走得比較慢"意味著什么。你需要知道什么是跑車和郵車,汽車可以相互"超越",而且,在更基本的層面上,車輛是存在于世界上并相互作用的物體,由人類駕駛,有他們自己的議程。
所有這些都是我們?nèi)祟愓J(rèn)為理所當(dāng)然的知識,但它并沒有內(nèi)置于機器中,也不可能明確地寫在任何語言模型的訓(xùn)練文本中。一些認(rèn)知科學(xué)家認(rèn)為,人類為了學(xué)習(xí)和理解語言,依賴于先天的、語言前的關(guān)于空間、時間和世界的許多其他基本屬性的核心知識。如果我們想讓機器同樣掌握人類的語言,我們將需要首先賦予它們?nèi)祟愄焐脑荚瓌t。而為了評估機器的理解力,我們應(yīng)該從評估它們對這些原則的掌握開始,人們可以稱之為"嬰兒形而上學(xué)"。
與沃森和GPT-3等人工智能系統(tǒng)的驚人功績相比,訓(xùn)練和評估機器的嬰兒級智能似乎是一個巨大的退步。但是,如果真正的和值得信賴的理解是目標(biāo),這可能是通向機器的唯一途徑,它們可以真正理解"它"在句子中指的是什么,以及理解"它"所帶來的其他一切。