人工智慧商業化的革命時刻

人工智慧(Artificial Intelligence)的研究,過去60多年來從未停歇,而今總算有了不凡的突破,從AlphaGo到智慧語音助理、自動駕駛技術等,無疑捕捉了無數人們的注意力,宣告著劃時代的科技盛世已經到來。

1950年,圖靈在他名為〈運算機器與智慧(Computing Machinery and Intelligence)〉的論文裡提問:「機器能思考嗎?(Can Machine Think?)」,挑戰了人類對計算機智慧的想像。圖靈認為人們會首先流於爭執機器與思考的定義,卻沒有辦法很精確地討論問題核心:「機器會有智慧嗎?」

由於機器智能難以確切定義,圖靈在該論文首次對如何判定機器具有智慧,提出了著名的「圖靈測試」:如果機器與人類進行非面對面(例如在中間以布幕隔離)對話(例如使用文字訊息),人類卻無法辨認出對方是機器,那麼這台機器就具有智慧。圖靈測試無論在當時或現代,對於人工智慧研究而言都是重要且相對嚴謹的研究提案,後續許多業界與學界的研究都企圖挑戰圖靈測試:如1966年麻省理工學院人工智慧研究室的約瑟夫.維森鮑姆(Joseph Weizenbaum),以字串比對自動回覆的方式所開發出的聊天機器人ELIZA;或到2014年,英國雷丁大學(University of Reading)重磅宣布其所開發出的Eugene,已經通過測試,但後來被質疑標準有誤。

其實,人工智慧一詞直到1956年,才在美國新罕布夏州一場為期兩個月的研究工作坊「達特茅斯暑期人工智慧研究計畫(The Dartmouth Summer Research Project on Artificial Intelligence)」上,由負責組織會議的電腦高階語言LISP之父約翰・麥卡錫(John McCarthy)正式定名。這場工作坊所討論的問題:「計算機、自然語言處理、神經網絡、計算理論、抽象化與隨機創造」後來都成為人工智慧研究發展的重要領域,而達特茅斯會議也因此成為人工智慧領域的經典起源。

歷經了60年的發展,人工智慧的研究領域因種種困難而起起落落,經歷了無數個轉角。起初仿造動物神經元,希望打造強人工智慧的人工神經網絡(Artificial Neuron Network),先是經歷了機器無法應付計算複雜度的困境,無法取得研究經費而停滯;同一時期另一脈絡的弱人工智慧,則發展出博聞強記、分辨率隨資料質與量逐步提升而快速進展的機器學習。如今,人與機器的對話,已因商業應用的普及而不再困難。這一甲子,到底電腦科學家解決了些什麼問題呢?從人工智慧三大關鍵技術突破或可窺探未來。

關鍵技術一 文藝復興後的人工神經網絡

對於人工智慧,電腦科學家當然希望可以直接模仿生物的神經元運作,因此設計數學模型來模擬動物神經網絡的結構與功能。所謂人工神經網絡是一種仿造神經元運作的函數演算,能接受外界資訊輸入的刺激,且根據不同刺激影響的權重轉換成輸出的反應,或用以改變內部函數的權重結構,以適應不同環境的數學模型。

1951年,科學家馬文.閔斯基(Marvin Minsky)第一次嘗試建造了世上第一個神經元模擬器:Snarc(Stochastic Neural Analog Reinforcement Calculator),它能夠在其40個「代理人」和一個獎勵系統的幫助下穿越迷宮。六年後,康乃爾航空工程實驗室的法蘭克.羅森布拉特(Frank Rosenblatt)設計、發表神經網絡的感知器(Perceptron)實作後,人工神經網絡(或稱類神經網絡)學者曾經一度振奮,認為這個突破終將帶領人工智慧邁向新的發展階段。

但,人工智慧領域的研究在1970年代因為缺乏大規模數據資料、計算複雜度無法提升,無法把小範圍的問題成功拓展為大範圍問題,導致計算機領域無法取得更多科學研究預算的投入而沉寂。到了1980年代,科學家首先透過思考上的突破,設計出新的演算方法來模擬人類神經元,迎來神經網絡發展的文藝復興時期。物理學家約翰.霍普費爾德(John Hopfield)在1982率先發表Hopfield神經網絡,開啟了神經網絡可以遞迴設計的思考。四年後,加州大學聖地牙哥分校教授大衛.魯梅爾哈特(David Rumelhart)提出了反向傳播法(Back Propagation),透過每次資料輸入(刺激)的變化,計算出需要修正的權重回饋給原有函數,進一步刷新了機器「學習」的意義。科學家更進一步把神經元延伸成為神經網,透過多層次的神經元締結而成的人工神經網絡,在函數表現上可以保有更多「被刺激」的「記憶」。

目前多層次的人工神經網絡模型,主要包含輸入層(input layer)、隱層(hidden layer)與輸出層(output layer),另外根據資料輸入的流動方向,又分為單向流動或可以往回更新前一層權值的反向傳播法。由於神經網絡模型非常仰賴計算規模能力,為了增加高度抽象資料層次的彈性,電腦科學家將之複合為更複雜、多層結構的模型,並佐以多重的非線性轉換,將其稱之為深度學習(Deep Learning)。

關鍵技術二 靠巨量數據運作的機器學習

科學家發現,要讓機器有智慧,並不一定要真正賦予它思辯能力,可以大量閱讀、儲存資料並具有分辨的能力,就足以幫助人類工作。1970年代,人工智慧學者從前一時期的研究發展,開始思辯在機器上顯現出人工智慧時,是否一定要讓機器真正具有思考能力?因此,人工智慧有了另一種劃分法:弱人工智慧(Weak AI)與強人工智慧(Strong AI)。弱人工智慧意指如果一台機器具有博聞、強記(可以快速掃描、儲存大量資料)與分辨的能力,它就具有表現出人工智慧的能力。強人工智慧則是希望建構出的系統架構可媲美人類,可以思考並做出適當反應,真正具有人工智慧。

機器學習(Machine Learning)可以視為弱人工智慧的代表,只要定義出問題,蒐集了適當的資料(資料中通常需要包含原始數據與標準答案,例如人像圖片與該圖片內人像的性別、年齡),再將資料分做兩堆:訓練用與驗證用,以訓練用資料進行學習,透過特定的分類演算法抽取特徵值,建構出資料的數學模型,以該數學模型輸入驗證用資料,比對演算的分類結果是否與真實答案一樣,如果該數學模型能夠達到一定比例的答對率,則我們認為這個機器學習模型是有效的。這種具有標準答案,並以計算出的預期結果進行驗證的機器學習,通常被稱為監督式學習。 相對於監督式學習,非監督式學習則強調不知道資料該如何分類的機器學習,換句話說,我們提供電腦大量資料,但不告訴它(或許我們也真的不知道)這些資料該用什麼方式進行分類,然後電腦透過演算法將資料分類,人類只針對最終資料分類進行判別,在數據尋找規律就是機器學習的基礎。

機器學習的發展方向,是在設計、分析一些讓電腦可以自動「學習」的演算法,讓機器得以從自動分析資料的過程中建立規則,並利用這些規則對還沒有進行分析的未知資料進行預測。過程中,時常運用統計學技巧,並轉化成電腦程式,進而計算出資料