機器如何深度學習(1/2)
撰文/Yoshua Bengio|譯者/鍾樹人
轉載自《科學人》2016年7月第173期
重點提要
- 1950年代,人工智慧(AI)開始成為學術研究的一個新領域,研究人員希望在一個世代內成功展現人類智慧。不過當時的演算法和計算能力無法勝任,夢想也隨之破滅。
- 過去幾年,AI研究捲土重來。研究人員從腦科學汲取靈感,發展深度學習技術。這些模仿大腦神經網路的演算法證明,先前對於AI的期望或許能夠實現。
- 深度學習技術透過複雜的人工神經網路,接收各種範例進行學習,例如辨識影像、聽懂語音、進行棋類比賽,而且在某些任務上的表現已經相當接近人類智慧。
1950年代,電腦開始在西洋棋上戰勝人類,並且協助數學家證明數學定理,人們為此興奮不已。1960年代,人們的期望越來越高,覺得科學家很快就會在軟硬體上展現人類智慧、人工智慧(artificial intelligence, AI)在各種任務上的表現也不會輸給人類。1967年,美國麻省理工學院(MIT)的明斯基(Marvin Minsky,2016年初過世)宣稱,AI的挑戰將在一個世代內解決。
當然,這種樂觀看法顯然言之過早。不論是透過軟體協助醫師做出更準確的診斷,或是藉由網路仿效人腦來辨識影像的內容,這些事都無法符合人們原先的期望。早年的演算法不夠成熟,也缺少大量資料來執行運算。我們想讓機器呈現宛若高度智慧的人類思維,機器就必須執行大量的計算,但當時的電腦處理能力實在太「溫吞」了。
到了2000年代中期,打造擁有人類等級智慧的機器這類夢想幾乎在科學社群中消失了,甚至連AI這個詞也淡出科學領域。科學家和媒體把1970年代到2000年代中期的希望破滅稱為「AI寒冬」。
但最近這10年,情況大為不同。從2005年開始,AI的前景有了劇烈轉變,因為「深度學習」(deep learning)從那時開始發揮作用。深度學習是一種從腦科學汲取靈感以打造智慧機器的方法,最近幾年已經成為推動AI研究的主力,大型資訊科技公司都投資了幾十億美元進行研發。
深度學習是指模擬生物神經元的網路「學習」辨識影像、聽懂語音,甚至自行做決定。這項技術依賴所謂的「人工神經網路」(artificial neural network),這是現今AI研究的主要方法。人工神經網路不會完全模仿生物神經元的運作方式,相反地,它是基於一般的數學原理,從範例中學習辨識影像中的人或物體,或是翻譯世界上主要的語言。
深度學習技術已經改變了AI研究,重啟人們對電腦視覺(computer vision)、語音辨識、自然語言處理與打造機器人的野心。第一個聽懂人類語音的產品在2012年問世,就是有些人常用的軟體Google Now;沒多久,辨識影像內容的應用程式也推出了,現在這項功能已經整合在Google相簿的搜尋引擎。
覺得電話自動化選單難以操作而感到沮喪的人,應該會喜歡在智慧型手機上使用個人語音助理(例如Siri)來完成這件事。回想幾年前,軟體辨識物體的功能仍不理想,可能把石頭誤認成人臉,但電腦視覺已經大幅進步,令人驚豔。在特定情況下,現在的電腦幾乎和人類一樣能辨識影像中的貓、石頭或人臉。事實上,在數百萬智慧型手機使用者的生活中,AI軟體已經不可或缺。例如,我已經很少以手寫或打字方式寫簡訊,更常透過語音輸入。
這些進步敞開了深度學習邁向商業化的大門,而且這股熱潮只會日益高漲。各家公司開始尋覓高手,專攻深度學習的博士現在是炙手可熱的稀有人才。根據一些報告,產業界從學術界挖角了很多擅長這領域的大學教授,並提供完善的研究設備和豐厚的待遇。
科學家不但克服深度學習的挑戰,更讓世人留下了深刻印象。AlphaGO在圍棋比賽中打敗韓國一流棋手李世,各媒體都以頭條新聞報導這起事件。相關應用更擴展到其他專業領域,據說一套新研發的深度學習演算法,能和心臟病學家一樣從磁共振造影(MRI)診斷出心臟衰竭。
人類知識,機器學習
為何AI在過往幾十年碰到這麼多障礙?原因在於我們的多數知識沒有以文字明確記錄下來,這對撰寫任何電腦程式的人而言都是必須完成的任務,也是為什麼我們無法直接透過程式,命令電腦去做人類輕易辦到的事,例如聽懂語音、觀看影像、閱讀文字或駕駛車輛。昔日人們從複雜的資料庫中整理出一件又一件的事實,好讓電腦擁有同樣的智慧,但這樣的嘗試幾乎都失敗了。
這時深度學習登場了。深度學習屬於機器學習的一門分支,而機器學習是AI領域中範圍較廣的學科,基本上是用來訓練智慧計算系統的一些原則,最終目標是讓機器自我學習。其中一個原則,牽涉到機器如何做出「好」的決定。對動物來說,由於演化,牠們的行為應該能提高生存和繁衍的機會;在人類社會中,好的決定可能包括帶來身分地位或幸福感的人際關係;不過以無人車為例,決定的好壞取決於自動駕駛技術有多貼近合格駕駛人的行為。
我們憑藉知識在特定狀況下才做出好的決定,但這些知識不一定能明確轉譯成電腦程式碼。舉例來說,老鼠擁有與生俱來的感覺與能力,懂得探索周遭環境,知道該去哪裡嗅嗅、如何走動、尋找食物或伴侶,以及躲避掠食者。任何程式設計師都無法撰寫出一套循序漸進的程式,指使機器模仿那些行為,但是齧齒類動物天生就知道該怎麼做。
在創造出能自我學習的電腦前,資訊科學家必須找出一些基本問題的答案,例如人類如何獲得知識。一些能力是與生俱來,但多數知識是從經驗中汲取。我們憑直覺就知道的事,無法轉化成一連串明確的步驟交由電腦執行,但電腦通常能從範例和練習中學會。從1950年代起,研究人員就在尋找並嘗試改善動物或人類(甚至機器)獲取知識的通則。機器學習的目標是,建立名為學習演算法的程序,指引機器透過各種範例進行學習。
機器學習這個領域是以實驗為主,因為通用的學習演算法並不存在,沒有一套演算法能指引電腦學習每項交付的任務。任何的知識獲取演算法(knowledge-acquisition algorithm)都必須通過測試,評斷能否針對特定情況的任務和資料進行學習,無論辨識影像中的夕陽或把英文翻譯成烏爾都文(Urdu)。但我們無法證明,某種演算法在面對任何情況時都能持續全面勝過其他演算法。
AI研究人員對這個原則提出了正式的數學描述:「沒有免費午餐」定理,說明能從現實世界每一種情況進行學習的演算法並不存在。但人類的行為顯然違反這項定理,我們的腦袋似乎擁有相當普遍的學習能力,能精通各種事務:下棋、造橋、研究AI,這並非演化促成的。
這些能力顯示,人類智慧善加利用了一些假設,而這些假設或許能夠啟發我們創造出擁有通用智慧的機器。由於這個想法,人工神經網路的研究人員選擇大腦做為設計智慧系統的粗略模型。
大腦的主要計算單元是一種稱為神經元的細胞。每顆神經元在傳遞訊號時,會透過神經元之間一道小空隙,稱為突觸間隙(synaptic cleft)。神經元通過突觸間隙傳遞訊號時,在突觸後神經元所產生的突觸後電位的幅度,稱為突觸強度(synaptic strength);神經元在「學習」時,突觸強度由於長期頻繁活動會增加(稱為長期增益作用),導致兩顆神經元的連結持久增強。
腦科學促成人工神經網路的興起,科學家利用軟、硬體創造出人工神經元。早期AI子領域的研究人員以聯結論(connectionism)聞名,他們假設人工神經網路能學習複雜的任務,方法是逐漸改變人工神經元之間的連結,就能掌握輸入的內容,例如影像或對話片段。當這些人工神經網路接收了更多範例,改變突觸連結強度,就能持續進行學習,例如對夕陽影像的辨識也會更精準。(待續)
(本文由教育部補助「AI報報─AI科普推廣計畫」取得網路轉載授權)