2016年8月23日 星期二

AI 語言?深度學習?

AI’s Language Problem

Machines that truly understand language would be incredibly useful. But we don’t know how to build them.

by Will Knight
August 9, 2016


在舉世聞名的李世乭和 Google 研發的 AI, AlphaGo, 的一場對戰中,AlphaGo 下出了一個令對手非常不安的一步。

在第 37 步,AlphaGo 把黑棋放在似乎是個智障的位置。這樣的情勢使得它似乎有被迫放棄領土的可能性,而且這個錯誤是菜鳥才會犯的錯誤。兩個電視評論員懷疑電腦是否讀錯棋盤抑或是當機了。然而,相對於一般常理,就是那一步讓 AlphaGo 穩固了在中間的地盤,這是個史無前例的下法。

AlphaGo 的勝利尤其令人印象深刻是因為圍棋向來是被定位為測試直覺的遊戲。這個遊戲的規則甚是簡單,兩方輪流在格線上下黑棋及白棋,要使盡的把對方圍住吃掉,但是要玩的專精卻是難以置信的困難。



雖然西洋棋手可以預知接下來的幾步棋,在圍棋裡,除非把可能的棋步組合展開到一個恐怖複雜的程度才稍稍可以預測,而且,圍棋裡沒有萬用致勝的棋步組合。在圍棋裡,要即時的判斷誰是處於優勢也不太可能,就連較專業棋手來解釋他為啥這樣走也很難精準的闡釋。這些困難讓寫個簡單的必勝程式是不可能的。

AlphaGo 並不是被告知如何下棋,而是分析成千上百的圍棋對弈並跟自己模擬對弈上百萬次。在眾多的人工智慧方法裡,他們使用名叫深度學習的技術,有用到一些教不嚴僅的數學模型並模擬神經元互動產生新記憶的模式。在無數小時的自我訓練後,AlphaGo 逐漸培養出下棋的直覺。當他打倒世界最強的棋手時,這也是人工智慧的新里程碑。


在那決勝的第 37 部後幾個小時內,AlphaGo 贏得了這五場比賽中最精彩的勝利。在比賽結束後,李世乭在面對眾多記者及閃光燈下,他留下了對人類輸給機器的道歉和令人震驚到無言的對弈。

AlphaGo 驚人的成功闡明 AI技術在過去幾年的進步,在那些 AI 不斷失敗及缺失不斷的 AI-冬天(AI Winter) 中,成功的曙光終於照明黑暗。深度學習代表機器可以自學複雜的事物,以往需要讓機器獲得人的智慧才可的。自動駕駛的未來也是一片希望,說不定深度學習也可以取代醫生診斷病人並開藥方。

雖然這項進步多麼令人振奮,但是一個基本的能力,語言,人然是個罩門。像 SiriIBM Watson 般的系統可以回答簡單的問題和基本的指令,但是他們沒有辦法完成像樣的對話,他們甚至連他們在講甚麼都沒有深入的了解。如果 AI 要成功跨領域,這一定要改變。

雖然說 AlphaGo 不能講話,但是它擁有語言理解的科技潛力。Google, Facebook, Amazon 及其他頂尖的學術 AI 實驗室正在合作嘗試著把語言這個 AI 難題解決,使用一些技術,包含讓 AlphaGo 勝利的深度學習技術。不管他們是否成功,這都會帶來人工智慧界的革命。這會幫助我們決定我們人工智慧會成為我們生活中必備的部分,因為可以跟他溝通;或繼續保持它神秘的面紗,只是變得比較自動化。MIT 的認知及計算科學教授 Josh Tenenbaum 說道:「如果要把人工智慧做的很像人一樣,那麼就一定要讓它具有語言能力,這是斷定人類智慧的重要部分。」

其中一個原因讓人工智慧難以了解人類的語言,是因為字詞的意思常常因為上下文而有差,甚至是文字和單字的長相。在許多藝術家的巧設下,他們將原本的字詞賦予多樣的圖像,使那些文字承載著遠超越文字本身的含意。

或許 AphaGo 的技術可以使人工智慧精通人類語言,或其他的技能。少了語言 AI 造成的影響就不一樣了。當然,我們還是可以擁有如 AlphaGo 一樣強大的程式,但是,我們和 AI 之間的關係就會拉遠、較不友善。史丹佛大學榮譽教授 Terry Winograd 說道:「長久以來人們都懷疑,一個用機率及效率判斷事情究竟是不是個人腦,那個東西是用大數據去想東西而不是用我們的思考方式。」
Terry Winograd

在 AlphaGo 勝利的幾個月後,作者(以下以 我 代稱)旅行到矽谷,人工智慧的發展重鎮。我想要去拜訪一些研究學者,這些研究學者在人工智慧重大的突破,現在他們正在發展語言相關的人工智慧技能。

我首先向 Winograd 請益,他住在坐落於帕羅奧圖的史丹佛校區裡離 Google, Facebook, Apple 都很近。有著銀白色的捲髮和一小搓的鬍子,看起來有著大家風範,而且他是個深具感染力的熱血分子。

在 1986 年,他教一個機器有智慧的講話。Winograd 那時是個年輕且對語言著迷的數學天才,他當時進了 MIT 的 AI 實驗室攻讀博士,而且決定創建個城市可以理解日常的對話並回應,當然是用文字介面。在當時,這個其實是很多人共同的抱負。他回想,那時有很多人投入這個領域,走了很長的路,其他人也在搞複雜的系統和具未來感的機器手臂,那個具有許多未知和無窮可能性的年代。

Joseph ­Weizenbaum
不是每個人都相信語言有辦法那麼容易被學習。有些批評,包含 MIT 的語言學者 Noam Chomsky,覺得 AI 就學者會努力讓機器學習語言儘管連我們都不太知道我們語言的架構, Winograd 還記得當他在一個派對裡跟一個 Chomsky 的學生說他在 AI 實驗室時,那個學生就走開了。

但不是都那麼不樂觀啦。在 MIT 的德國教授 Joseph ­Weizenbaum 在幾年前就已經研發出一個溝通軟體 ELIZA,有點像卡通裡的心理醫生,抓住溝通詞句中的關鍵部分,不斷的追問,讓溝通得以延續。例如,你告訴他,我很討厭我的老師,他就會說,你想到老師時還會想到什麼。一個簡單的把戲,但這似乎很有用, Weizenbaum 發現這個敲門磚時很驚奇。但是要將深度學習應用到語言學習上,會有個問題,單字是一連串的無意義符號,跟圖片不同。

SHRDLU



Winograd 想要創造出個真正了解語言的東西,他打算先從簡化問題的大小開始。他先創造出個虛擬的環境名為「方塊世界」裡面有很多虛擬的物件坐落在虛擬的桌上,然後他發明了個可以理解名詞、動詞和基本文法的語言工具 SHRDLU,可讓他了解那虛擬環境,並回答物件之間的關聯性,應文字介面改變物件的位置。他也有種記憶,例如,你先指令「紅色的」在指令「圓錐」,他就會移動紅色的圓錐而不是其他顏色的。

SHRDLU 是個人工智慧界長足的進步,但是這僅止於虛擬世界而已。當 Winograd 想要讓方塊世界更大時,他發現需要的詞彙樹和文法規則增大到難以控制的境地。在那幾年之後,他放棄 AI 相關的東西去做其他研究了,他說:「限制比想像中還早來到。」

Winograd 說:「在當時沒有足夠的計算能力給機器去了解語言本身。」加州大學柏克萊分校哲學系教授 Hubert Dreyfus 在 1972 的一本書裡提及,有些能力機器學不來是因為那需要的是一種直覺而且沒有辦法被歸納成唯一的準則。這也是人們在那場人跡對站前,懷疑機器是否可以下圍棋的原因。

Hubert Dreyfus
儘管 Hubert Dreyfus 這麼說,還是有些學者嘗試去開發新的方法來給機器那樣的直覺。他們從人類的神經連結得到靈感,嘗試以數學模擬的神經元做成人工網路,這個網路可以自動互相連結並對外界做回應。一開始,這個系統要命的慢且對於當時邏輯與推理的概念完全不可行。重要的是,神經網路可以使機器學習無法程式化的事情,這在接下來就被證明是可行的方案,像是1990年代研發並商業化的支票數字辨識軟體,他們說這樣的概念終將使得機器做更多事並且有辦法去理解語言。

在過去幾年,神經網路變的更複雜且更有力。這都要歸功於數學的精緻化,更重要的是更快的電腦及更多的資料。在 2009 年之前,多倫多大學的學者已經可以用多層的深度學習網路來以記錄精度辨識演說,他們這個團隊也以驚人的準確度和深度學習演算法贏得 2012 年電腦視覺的比賽。

深度學習神經網路可以辨識物體是用了個小技巧。一個層來接收輸入圖像訊息,然後有些內部的虛擬神經元就用在一起了,然後產生出新的像素,接下來就會有很多層神經來處理這些東西直到到達輸出神經層,他們也會使用反向傳播法來調整神經元的靈敏度並得出正確答案。不同的層可能對應到顏色、形狀、邊界之類的,這樣就可以辨識人臉、辨識動物。

在 1980 年代,研究學者想出聰明的主意去把語言轉換成神經網路可以處理的東西。他們把詞語表示為數學向量,這樣可以讓詞語相近的互相運算。舉例,船和水在他們定義的向量裡,雖然自的長相差很多但是很靠近。以 Yoshua Bengio 為首組織蒙特婁大學和 Google 團隊,使用這個概念讓句子裡的每個字都可以組成會思考的向量(thought vector)。

用上述的一些網絡,這樣就可以讓翻譯更精準。再加上辨識物體神經網路的概念,這應該可以更精準地抓住字裡含意。

坐在 Google 位於加州山景城的總部,公司裡的研究員 Quoc Le 負責構想這機器的設計來做出適當的人機對話。他說,他想要刺激機器的思考,果要刺激機器思考,就一定要問他現在在想什麼,這正是切中人機對話的概念。

Quoc Le 
Google 已經開始教機器一些基本的語言。他們今年五月發布一個新系統可以辨識名詞動詞和其他在文字裡的元素。這樣子絕對會為 Google 帶來極大的商業價值,因為這樣可以增加其搜尋引擎的準度,這個就是 RankBrain 注重關鍵字和網頁裡字的連結,給出更好的搜尋結果。但是他想挑戰更難的,他和他的同僚做出名叫 Smart Reply 的軟體,他可以讀 Gmail 的訊息並做出幾個合理的回覆,他也做出系統類似 Google’s IT support chat logs 的線上科技解答。

最近,Quoc Le 建立了個系統可以回答開放式問題,他使用超過 18,900 部電影的對白來訓練之,他說有些答案詭異的好玩,譬如他問 “What is the purpose of life?”,機器可能就回他 “To serve the greater good.” “It was a pretty good answer.” 他還記的一個超爆笑的回答 “Probably better than mine would have been.”

那邊有個嚴重的問題,當你問題越多,很快就浮現了。當 Quoc Le 問狗有多少隻腳,機器說四隻;當 Quoc Le 問蜈蚣有幾隻腳,機器回答八隻。基本來說,這個系統不知道他在講什麼,他只知道一些特定的字詞組合,但是不知道這真實世界的全貌。他顯然不知道蜈蚣長啥樣,他怎麼動。這只是智慧的假象,他缺少所謂的常識。深度學習系統常常如此不可靠,向 Google 的圖像搜索也曾經把交通標誌視為有食物的冰箱。

Fei-Fei Li, Terry ­Winograd 的鄰居、史丹佛 AI 實驗室的主管,可能有辦法幫我們的機器對世界的瞭解更深入,當她介紹她女兒給我時,那三個月大的女兒一直盯著我看,她說這是早期的臉部辨識。

Fei-Fei Li 
Fei-Fei Li 投入她大部分的職業生涯於機器學習和電腦視覺。多年前,她耗了一番功夫去建立了個資料庫,內有數以百萬計的圖片對應到適當的關鍵字。她相信機器需要對世界有更全盤的理解,最近她和小組成員釋出新的資料庫並對裡面的圖片標記更詳細的細節。例如:一隻騎著滑板的狗、路壞掉了、有著很多毛的狗。這樣機器更有機會去了解這世界。他說:「語言是大腦獲得資訊重要的媒介,包含視覺系統,AI 重要的就是在整合這些系統。」

這是最像小孩子的學法,連結物體與文字、關聯性和動作。但是與人類相像的學習也僅只於此。一個小孩不用滑板狗的圖片去想像或描述他。事實上,他不認為現今的科技足夠做出個真正的 AI。她說:「這不僅僅是大量的資料探勘和深度學習,我們還需要考慮到人類的情感,我們人類不擅長處理大量資料,卻很擅長抽象思考和想像」

縱使這是可能的,沒人知道如何給機器這樣的人類特質。是否真的有東西是人類獨有的,是 AI 能力所不及的?

MIT 的認知及計算科學教授 Josh Tenenbaum 提出,我們的人工神經網路少了一些東西,就算我們的神經網路在這麼大都一樣。人類有能力可以輕鬆地從相對小數目的學習,而且有很強的 3-D 能力。他也說:「語言可能是基於其他更基本的能力,可以從我們小時候看出一些端倪:視覺、動覺之類的,可以藉以理解世界的構造。」

如果他是正確的,那麼在機器裡重塑語言學習過程是倍加困難的,可能需要模擬人類學習過程、模型塑造及心理學。

Noah Goodman 的在史丹佛心理系的辦公室走的是簡約風,除了幾幅抽象畫和幾株植物。當我去拜訪他時,他光著腳丫放在書桌上,在打電腦。我們徐徐的走過太陽照亮的校園。他說:「語言需要許多的文法知識且還要有許多的常識,他們倆個基石隱晦的膠著在一起。」

Noah Goodman
Noah Goodman 和他的學生研發出新的程式語言 Webppl,給電腦一些以機率為基礎常識,這對於交談還滿有用的。一個實驗的版本可以了解一字多義和誇飾詞。如果那個機器被告知有人要為了一個餐廳的桌子等上一輩子,他們就知道這是不可能的,他也知道那個人只是會很焦躁地在那間餐廳等上一陣子。這個系統雖然距離真正的智慧還有段距離,但是這可以讓 AI 講得像平常的對話。同時,這個例子也證明教一個機器語言是多麼難的事。光是理解 永遠 在上下文的意義都需要學習,但是這只不過是簡單又初級的成就。

儘管這個問題如此複雜,辨識圖片的成功和精通圍棋至少給了語言研究學者突破的希望。如果機器要成為人類不可或缺的機器,他就要有辦法跟人類溝通和人類合作無間,如此,語言將會是關鍵。所以,AI 將要會使用深度學習和其他手法來自己修改自己的程式。

專攻自動駕駛的 MIT 教授 John Leonard 說道:「普遍而言,深度學習系統很令人驚奇。但是他們的效能就有點難以去理解。」

研究自動駕駛的 Toyota 在 MIT 開始一連串的研究。他們發現跟自駕車溝通明顯的方式就是交談。AI 和程式語言的專家 Gerald Sussman 提及,研發一個系統知其所知是個問題,當然,理想而言,系統應該要可以解釋他為何如此做。

David Silver。他解釋道,當那個系統下出那致命的一步時,他們也深感詫異。他們只看到 AlphaGo 預測的勝率在第 37 步後就很少在動了。研究團隊針對這場棋做細緻的分析發現,在該系統消化了眾多的棋局,他發現人類玩家會動同一步的可能性是萬分之一,他們也發現 AlphaGo 佔了強烈的優勢。所以那機器早就知道李世乭會死得很慘。

我回加州後的幾個禮拜,我在一場學術會議上看見指導 Google DeepMind 的 David Silver 說,Google 正在嘗試商業化這項科技,例如健康管理助理。我問他對機器會要溝通這件事的看法。他說,這是件有趣的問題,對於一些應用,這確實是很重要的,例如健康管理系統有辦法藉由對話去了解做這決定的原因。

事實上,當 AI 變得更聰明和複雜,我們實在難以想像不去和他溝通,不去問他「為啥?」不僅如此,跟電腦順暢的交談可以讓他們變得更好用。畢竟,語言是我們了解世界和跟世界互動最有力的語言,機器該聊聊天了。


>>深度學習 YouTube
>>淺觀 AlphaGo