Everest
Everest

There's no end to learning. Physicist | Data Science | Polyglot | Gamer.

鳥瞰人工智能(1):開端

(文章是我的,原載於《立場新聞》,亦備份至 Medium

「人工智能」 這傢伙,在最近十年甚囂塵上;2016–17 年 AlphaGo 擊敗多位圍棋大師,相信大家有目共睹。電腦竟然完勝經歷兩百萬年進化的人類大腦,在語言、遊戲決策等方面取得優勢!這不禁讓人猜想:

  1. 人工智能到底是什麼呢?
  2. 人工智能可以做什麼、而發展前景又如何呢?

接下來,我們從歷史角度開始探索問題。勝過人類的機器「靈魂」,也許沒有想像中那麼神秘。

人工智能?食唔食得㗎?

再厲害的電腦,沒有人類的指示也只是廢鐵,至少暫時如此。程序員必須清楚定義想解決的問題,然後用代碼告訴電腦解題的步驟;代碼描述的邏輯就是「演算法」。那麼,被稱為人工智能的演算法是怎樣一回事呢?

本文採用行內公認的操作定義:人工智能或者更廣義的機器學習,意指自發學習數據規律的一系列演算法。「自發學習」是關鍵:雖然演算法會對數據規律作些許假設,但用家無須明確指定規律本身!舉個例子:假設房間數量和居住地房價大約成正比,linear regression 可以求出最貼近數據的直線。直線的斜度多少、它又在哪兒跟垂直軸相遇?這些問題由演算法自動解決。

The Imitation Game 幕後的主人公,Alan Turing 圖靈 (左)。圖片來源:Wikimedia Commons / © 2014 — The Weinstein Company;取自 Slate.com
Linear Regression 示範圖;數據下載自 Kaggle、收集於 1978 年居住環境調研

那麼,機器學習跟人工智能有甚麼分別呢?兩者都涉及自發學習,但人工智能更側重於了解、模仿並超越人類。換句話說,機器學習是一個更大的類別:它跟人工智能有交雜但不完全重疊。對學科和學派分類有興趣者,可參考 通俗書《The Master Algorithm》。

人工智能何去何從?要預測未來,了解過去是最實在的第一步。

戰爭(無意中)催生的追求

人工智能在最近十年突飛猛進,但其根基在二十世紀中後期早已打好。電腦在二戰中為盟軍立下汗馬功勞:無論開發核武抑或破解德國海軍密碼,均需要大量計算;省時省力的電子計算機因而誕生,成為現代通用電腦的始祖。破解密碼的故事,由 2014 年的電影 “The Imitation Game”(港譯《解碼遊戲》)完美演繹。

The Imitation Game 幕後的主人公,Alan Turing 圖靈 (左)。圖片來源:Wikimedia Commons / © 2014 — The Weinstein Company;取自 Slate.com

電腦的成功應用,引發了無窮想像。為破解德軍密碼貢獻良多的英國天才Alan Turing (圖靈),在 1950 年出版的論文中首次嚴肅探索了「機器能否思考」的問題。 為了釐清思考方向,圖靈只考慮了數碼電腦,並利用「以語言交流」作為「思考」的表徵。這樣的選擇很合理:一方面,作為戰時解碼團隊的重要人物,圖靈對數碼電腦再也熟悉不過;另一方面,能夠靈活運用變幻莫測的人類語言,這難道不是思考的表現嗎?

基於上述考慮,論文提出一個準則,後世稱之為圖靈測試:如果電腦能夠以假亂真,令跟它對話的用家以為它是人類,那麼這台電腦就擁有「智能」。電影名稱和論文中的 “Imitation Game”/「模擬遊戲」,指的正是這個測試!

可惜時勢不容人:人工智能的開山始祖圖靈,由於身為同性戀而被英國政府強逼吃藥絕育;他在 1954 年不堪壓力而自殺。天才斯逝,但他對智能機器的想像存活了下來,被後人發揚光大。而電腦科學界的頂尖榮譽亦以「圖靈」為名,每年肯定新世代的貢獻之餘也紀念開創一切的偉人 。(圖靈涉足的領域遠遠不限於人工智能。)

人工智能 Artificial Intelligence 這個名詞,在 1956 年由美國 Dartmouth 大學教授 John McCarthy 提出。當年夏天他邀請了一小班學者聚會,交流演算法的構思,堪稱人工智能祖師爺們的華山論劍!與會者認為,「精心挑選的科學家團隊,可以在一個夏天內取得顯著進展」。當然,事情遠沒有這麼簡單,但人工智能作為一個研究領域總算建立起來了。

2006 年的 John McCarthy。圖片來源:Wikimedia
2006 年的 John McCarthy。圖片來源:Wikimedia

從 1956 年到 2018 年間的跌跌撞撞中,研究人員到底想出了怎樣的智能演算法、解決了怎樣的問題呢?篇幅有限,我們只能簡單探討;有興趣理解 AI 歷史的話,筆者推薦《紐約時報》的深度報導

來自血肉之軀的靈感

既然夢想是發展類人智能,人類大腦自然成為靈感來源,而經驗證明這個做法行之有效。除此之外,人工智能還有貝氏推論歸納邏輯等門派;篇幅所限無法深究,有興趣者可參考通俗書《The Master Algorithm》。

McCarthy 舉辦的「華山論劍」沒過多久,Frank Rosenblatt 就在 1957 年提出了感知器演算法(perceptron),粗略模仿了人類神經細胞輸入、輸出信息的方式,為現時最熱門的「深度學習」演算法奠基。感知器擁有一層層的「神經元」,它們從上一層取得輸入訊號,將其疊加然後送到下一層。如果訊號不超過某個臨界值,那麼它就不會被傳送。這一點跟神經細胞一樣,因此感知器及其各種變形亦被稱為「神經網路」。

一層感知器示意圖。左到右=輸入到輸出;中間綠色的單層 weights 權重乘以左邊藍色的輸入數值,決定了哪些輸入較為重要。取自 SAGAR SHARMA @ TowardsDataScience
一層感知器示意圖。左到右=輸入到輸出;中間綠色的單層 weights 權重乘以左邊藍色的輸入數值,決定了哪些輸入較為重要。取自 SAGAR SHARMA @ TowardsDataScience

感知器成功辨認簡單的幾何圖案後,得到 1958 年《紐約時報》頭版報導,其中聲稱感知器將會成為首個「無需人類訓練或操控,就懂得感知及辨認週邊環境的 mechanism」。一切看起來多麼美好!

不過,Rosenblatt 很快就在訓練多層感知器時遇到困難。另一邊廂,John McCarthy 的合作者、任職 MIT 麻省理工的 Marvin Minsky 在 1969 年的著作中羅列了感知器的不足。鑑於 Minsky 的學術地位,他的批評撥了感知器一大盤冷水,直到八十年代行內的興趣才漸漸恢復過來。

感知器等神經網路的發展峰迴路轉:即使經過八十年代的復興,直到 2012 年才出現大規模的深度學習應用。(為甚麼隔了三十年呢?下回分解!)所謂深度,是指神經網路的層數 — 上圖綠色的參數層 — 越疊越多。過去短短的六年內,各色各樣的深度學習應用不斷面世:從利用電子健康紀錄估算病人風險、到在圍棋和策略遊戲 Dota 擊敗人類選手的程式,都是由深度學習撐腰!

總言之,人工智能在五十年代隨著「打造思考機器」的夢想發跡,但很快就遇到技術難關,直到最近五年才出現可觀的進展。而接下來的另一個五年,又會為我們帶來什麼呢?

此「人工智能」不同彼「人工智能」

鑑於在棋藝等領域的優秀表現,深度學習很容易跟「人工智能」掛鉤,引發一陣陣魔鬼終結者 Terminator 的聯想。但類似的言論有根據嗎?

行內偏向相信,具自我意識的類人 AI 離開我們很遙遠。中國人民大學出版、騰訊研究院編寫的《人工智能》提到,受作者採訪的技術人員普遍認為類人 AI 在三五十年後才會面世。畢竟,一個完整的類人智能,不單單要在少數任務上媲美人類,還要在缺乏明確的指示下從環境學習,甚至培養同情心和道德觀。這一切都離開現有的「人工智能」非常遙遠。

而且,深度學習的應用也並非一帆風順、處處適用。正如前 Google 研究員 A. Géron 在機器學習教材中提到,深度學習只是眾多機器學習方法之一,在很多問題上是牛刀殺雞:表現可能優異,但訓練過程極為耗時及麻煩,因此不值得採用。例如,Uber 最近發表的論文就調用了 100 顆圖像處理晶片。試想像:把上百部電腦串連起來、同步他們的計算是多麽複雜!但為了計算需時不會過長又沒有其他辦法 — 這就是深度學習暫時的瓶頸位。

展望未來

總言之,五十年代末期、電腦出現後的十多年內,人工智能演算法漸漸浮現,其部份靈感取自人類大腦。與此同時,棋藝等智力遊戲亦鞭策著演算法的發展,令歎為觀止的發明在近年一再浮現。

CC BY-NC-ND 2.0 版权声明

喜欢我的文章吗?
别忘了给点支持与赞赏,让我知道创作的路上有你陪伴。

加载中…

发布评论