資訊科技

機器如何深度學習

人工智慧經歷數十年的低潮,由於深度學習這項潛力無窮的技術,總算起死回生,在不少任務上的表現已經相當傑出。

撰文/班吉歐(Yoshua Bengio)
翻譯/鍾樹人

資訊科技

機器如何深度學習

人工智慧經歷數十年的低潮,由於深度學習這項潛力無窮的技術,總算起死回生,在不少任務上的表現已經相當傑出。

撰文/班吉歐(Yoshua Bengio)
翻譯/鍾樹人


重點提要
■1950年代,人工智慧(AI)開始成為學術研究的一個新領域,研究人員希望在一個世代內成功展現人類智慧。不過當時的演算法和計算能力無法勝任,夢想也隨之破滅。
■過去幾年,AI研究捲土重來。研究人員從腦科學汲取靈感,發展深度學習技術。這些模仿大腦神經網路的演算法證明,先前對於AI的期望或許能夠實現。
■深度學習技術透過複雜的人工神經網路,接收各種範例進行學習,例如辨識影像、聽懂語音、進行棋類比賽,而且在某些任務上的表現已經相當接近人類智慧。


1950年代,電腦開始在西洋棋上戰勝人類,並且協助數學家證明數學定理,人們為此興奮不已。1960年代,人們的期望越來越高,覺得科學家很快就會在軟硬體上展現人類智慧、人工智慧(artificial intelligence, AI)在各種任務上的表現也不會輸給人類。1967年,美國麻省理工學院(MIT)的明斯基(Marvin Minsky,今年初過世)宣稱,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)聞名,他們假設人工神經網路能學習複雜的任務,方法是逐漸改變人工神經元之間的連結,就能掌握輸入的內容,例如影像或對話片段。當這些人工神經網路接收了更多範例,改變突觸連結強度,就能持續進行學習,例如對夕陽影像的辨識也會更精準。


為機器開堂課


目前這一代人工神經網路延續了聯結論的開創性研究。人工神經網路會持續改變每個突觸連結的數值,這些數值代表了連結強度,以及人工神經元彼此傳遞訊號的可能性。深度學習網路使用的演算法在每次接收到新影像時,都會輕微改變這些數值,穩定地接近理想值,讓人工神經網路更精確預測出影像的內容。


為了得到最好的結果,目前的學習演算法需要人類高度介入。這些演算法大多使用「監督式學習」(supervised learning),每個訓練用的範例都附有人類標示的文字,代表學習的內容,例如夕陽的影像配有「夕陽」的標籤。在這種情況下,監督式學習演算法的目標是把影像當做輸入,影像中主要物體的名稱做為輸出。把輸入轉換為輸出的這個數學程序稱為函數,產生這個函數的各項係數(例如突觸連結的數值),相當於學習任務的解。


依賴死記硬背來得到正確答案,是一種簡單的學習方法,但是不太有意義。我們想教會學習演算法什麼是夕陽,然後由它辨識任何影像中的夕陽,甚至包括不在訓練範例中的夕陽影像。學習超越訓練範例的能力(例如分辨各種影像中的夕陽)是任何學習演算法的主要目標,事實上,我們評估人工神經網路的訓練品質,都不使用先前的範例進行測試。要求學習演算法對新例子做出好決定是有難度的,因為符合諸如「夕陽」這種分類的各項係數幾乎可能有無限多組。


在深度學習網路運用的學習演算法接收眾多範例後,期望它們做出好決定,不能只依賴範例,也需要關於資料的假說,以及可能解答特定問題的假設。例如,內建於軟體的典型假說是,如果特定函數的輸入資料很類似,輸出結果就不應該有激烈變化,像是改變影像中貓的幾個像素,輸出結果通常不可能是狗。


一種整合了影像假說的人工神經網路,稱為卷積神經網路(convolutional neural network),已經成為AI復興的關鍵技術。深度學習的卷積神經網路由很多層人工神經元構成,配置的方式可使輸出結果不會對影像中主要物體的變動太敏感,例如,主要物體稍微移動位置,仍然可以成功辨識;訓練良好的卷積神經網路就能辨識出不同照片中不同角度的同一張臉孔。卷積神經網路的設計靈感來自視覺皮質(visual cortex)的多層結構,視覺皮質是人類大腦中負責接收視覺訊號的部位。卷積神經網路的多層人工神經元,使卷積神經網路變得「有深度」,更能學習真實世界的林林總總。


人工智慧,突破困境


實際上,推動深度學習的功臣是10年前的某些創新研究,當時人們對AI和人工神經網路的熱情降到幾十年來的最低點。由政府和私人資助的加拿大高等研究所(CIFAR),因為批准多倫多大學的辛頓(Geoffrey Hinton)主持的計畫經費,重新點燃了AI的希望之火,這項計畫還有我和美國紐約大學的拉昆(Yann LeCun)、史丹佛大學的吳恩達(Andrew Ng)以及加州大學柏克萊分校的奧斯豪森(Bruno Olshausen)等人參與。科學社群在那段時間裡對於這個領域抱持消極態度,導致我們很難發表論文,更甭提說服研究生從事這方面的研究,但我們強烈感受到,推動這些研究是很重要的。


懷疑人士認為人工神經網路不能克服諸多挑戰,原因之一是訓練人工神經網路的研究毫無進展,這些研究涉及如何讓人工神經網路的表現最佳化(optimzation)。最佳化屬於數學的一門分支,試圖找到一組參數的組態以達成目標。在人工神經網路中,這些參數稱為突觸權重(synaptic weight),代表訊號從一個人工神經元傳遞到另一個人工神經元的強度。


這個目標就是做出最精確的預測。當參數和目標的關係非常簡單時(精確來說,這個目標是這些參數的凸函數),我們就可以逐步調整這些參數,直到逼近可能產生最佳決定的數值,也就是所謂的全局極小值(global minimum),相當於人工神經網路可能發生預測錯誤的最低平均值。


一般來說,人工神經網路的訓練過程沒有這麼簡單,而且研究人員需要處理所謂的非凸函數最佳化(nonconvex optimization)。這種最佳化問題帶來的挑戰更大,不少研究人員相信這種障礙是難以突破的。學習演算法可能會困在所謂的局部極小值(local minimum),因此研究人員無法透過稍微調整參數來減少人工神經網路的預測錯誤。


直到去年,關於人工神經網路困在局部極小值而難以訓練的這種迷思才得以破除。我們在研究過程中發現,當人工神經網路夠大,可以大幅降低局部極小值問題。大部份的局部最小值,其實相當於某種程度的知識學習,而這個程度幾乎符合全局極小值的最佳值。


理論上,雖然我們可以解決最佳化的問題,但打造超過兩或三層大型人工神經網路的嘗試經常失敗。終於在2005年,CIFAR資助的計畫有了突破,克服這些障礙。2006年,我們利用逐層進行的技巧,成功訓練了更深層的人工神經網路。


2011年,我們找到更好的方法,改變每個處理單元執行運算的方式,讓它們更貼近生物神經元,可以訓練更深層的人工神經網路。而且我們也發現,在訓練過程中於人工神經元之間傳遞的訊號混入隨機雜訊(類似大腦內的情況),有助於深層人工神經網路學習如何正確辨認影像或聲音。


有兩個關鍵因素是深度學習技術成功的推手。一個因素是,其他領域的研究人員為了電玩遊戲設計出新的圖形處理器,其運算速度提升了10倍,我們才得以藉此訓練出更大型的人工神經網路。另一個因素是龐大有標資料集(labeled data set)的出現。舉例來說,在某張影像中,貓只是其中一個元素,當學習演算法接收到這張影像時,可以藉由有標資料集辨識出正確答案:貓。


最近深度學習獲致成功的另一個原因,是它學會如何執行一連串運算,逐步建構或分析影像、聲音或其他資料。人工神經網路的深度就是這些步驟的數量。AI在很多視覺或聽覺辨識任務中表現優異,原因就是研究人員建立了非常多層的人工神經網路。事實上,我們在最近的理論研究和實驗中已經證明,必須有深層人工神經網路才能有效執行這些數學運算。


深層人工神經網路裡的每一層都會轉換輸入,產生輸出並送往下一層。更深層的人工神經網路,距離最初的原始輸入較遠,代表更抽象的概念(參見39頁〈層層深入,學習辨識〉)。實驗證明,人工神經網路更深層的人工神經元,傾向對應更抽象的語意概念。例如,某張影像中有辦公桌,即使訓練過的人工神經網路的分類標籤沒有「辦公桌」這個概念,更深一層的人工神經元在處理過程中也能辨識影像中的辦公桌。辦公桌這個概念可能只是其中的步驟,目標是在更深一層創造一個更抽象的概念,而人工神經網路可能會把這一層分類為「辦公室場景」。


超越圖形辨識


直到最近,人工神經網路的傑出之處,大多還是執行辨識靜態影像內容這類任務,但另一種人工神經網路也開始嶄露頭角,精確來說,它能處理依序發生的事件。我們已經證明,遞迴神經網路(recurrent neural network)能正確執行一連串運算,通常針對語音、影片和其他順序資料(sequential data)。順序資料是由實際排列順序的資料構成,無論音素或完整單字。遞迴神經網路處理輸入資料的方式就類似大腦的運作:大腦從周遭環境接受新訊號,改變內部神經狀態,之後才發出一連串指令使身體做出動作而達成特定目標。


遞迴神經網路能夠依照句型預測下個字是什麼,這可以用來產生新的字詞順序。它也能接受更複雜的任務,在「閱讀」一個句子後推測整句的意思,然後另一個遞迴神經網路可以利用第一個語意處理(semantic processing),把句子翻譯成另一種語言。


遞迴神經網路的研究在1990年代後期與2000年代初期陷入停頓。我的理論研究顯示,它難以從遙遠的過去擷取資訊,也就是整個處理過程中最初的元素。想像一下,當你讀到一本書的最後一頁時,試著背出第一頁的第一個句子。許多進展已減輕這些問題,方法是讓這些人工神經網路學習儲存資訊,如此一來就能長時間保留資訊。人工神經網路可以利用電腦的暫時記憶體來處理多個分散的資訊,例如散佈在文件裡的不同句子。


在漫長的AI寒冬後,深層人工神經網路的強勢回歸,不只是科技的勝利,也為科學社群上了寶貴的一課。尤其,我們必須支持挑戰科技現狀的想法,鼓勵多元研究組合、激發創意,才能持續獲致重大突破。