網路城邦
上一篇 回創作列表 下一篇   字體:
《駭客任務》教懂我的人工智慧運算法
2016/03/24 16:57:57瀏覽3427|回應1|推薦26

你是否曾經站在人生的十字路口,徬徨地不知該往哪走。人生如棋局,對弈的每一步都和輸贏息息相關,正如我們生命中的每一個抉擇都決定了未來的自己。話說不久前人工智慧AlphaGo在圍棋棋盤上戰勝人類,它的意義不光是電腦很會下圍棋罷了,這一套運算法在絕對影響到真實世界的棋局。

其實人間事就像一隻毛毛蟲在一棵大樹的樹根不斷往上爬,每到一個分叉,毛毛蟲就選擇一個分枝繼續爬,牠的選擇可能是基於樹葉多寡、安全,也可能只是人爽。一個旁觀者在觀察毛毛蟲過去的選擇模式和大樹的外型後,就可以推算出牠可能的步數。如果這棵樹的分枝寥寥可數,那就很容易推算出毛毛蟲未來的歸宿;如果這棵樹枝葉極其繁茂、樹高頂天,那未來就難以預測。

這就是電腦可以發揮的長處,用它龐大的計算、記憶能力用蠻力來「傻算」,就可以把那棵樹的輪廓大致畫出來,算出未來的可能發展。有時世間事太複雜,如同一株枝節繁雜的大樹,電腦無法算出所有可能,那就要碰點運氣,在海量的樹枝中隨機取樣,在其中找出毛毛蟲最有可能去的樹枝。因為這個辦法要賭運氣,所以就用歐洲賭城蒙地卡羅為名,叫做「蒙地卡羅樹狀搜尋」(Monte Carlo Tree Search)。最近聲名大噪的圍棋電腦AlphaGo就是利用這個辦法,再加上人工智慧的深度學習,打敗人類棋王。


圍棋太複雜,井字棋就簡單多了。這個是井字棋的棋局發展,只有765個可能局面,電腦可以完全掌握。用上面毛毛蟲的例子,這是一株沒多少分枝、有點無聊的樹。(圖片來源:Melvin Zhang

如果你覺得這個敘述過於抽象,電影《駭客任務》裡有一個不錯的例子。

這裡有稀有動物沒有看過《駭客任務》?好吧,簡單解釋一下。這部科幻動作片其實不光只有人類大戰電腦的梗、而且更探討到一個類似「莊周夢蝶」的哲理:我們原來活在夢中,只不過這個電影裡的「夢」是超級電腦的模擬程式,叫做「母體」(Matrix)。在那個世界中的人都沈睡在泡泡裡,給電腦當人肉電池,但是他們的意志都連接到電腦為他們構築的「夢」中。主角奇諾李維飾演的Neo在這個夢中覺醒,領悟到這既然是個夢,就不再受自然定律的約束,他就頓悟成超人,成為反抗電腦的人類救世主。

好了這是第一集的大概。第一集是曠世巨作,後面的第2、3集就慘不忍睹。很不巧,我要說的是第二集《駭客任務:重裝上陣》。Neo一路殺到當年創造母體的最高級程式:“Architect”的面前。這一幕其實非常重要,Architect對Neo解釋母體的來龍去脈,告訴他曾經有好幾個版本的母體,一開始電腦沒有給人自由意志,導致母體崩潰;後來加上自由意志才能讓母體的「夢」持續下去,不過自由意志的副作用是會產生個「救世主」帶領人類反抗電腦,但是這都在Architect設計之中:「救世主」會殺到他面前,Architect對他曉以大義,要Neo犧牲自己好拯救其他的人。原來Neo並不特別,只是Architect計劃的一部分,這樣「救世主」已經周而復始六次,前面的五個救世主都為了人類的未來乖乖地聽話,犧牲自己。

聽不懂?冤枉啊,不是我的錯。是導演賣弄哲學過了頭,把劇情弄得這麼複雜。但重點在後面,Architect所在的房間有很多電視螢幕,Neo進去以後發現每一個螢幕上都是不同的自己,而每個螢幕的自己後面又有更多的自己。沒有錯,這裡的每一個螢幕就是樹狀圖的分支,螢幕裡面的螢幕就代表分支不斷下去。Architect大概正在做「蒙地卡羅樹狀搜尋」!

電影中的取景還採用一個特別的方式:從眾多螢幕中放大到其中一個螢幕中的Neo,再切換到現實中的Neo。導演利用這個方式代表Neo的一舉一動都早已在Architect的預測中。


Architect的蒙地卡羅樹裡有Neo各種不同的反應,它也準確地選出Neo的反應。

但是後來的發展出乎Architect的意料,Neo那混蛋被愛沖昏了頭,情願選擇犧牲全人類也要救他的女朋友,離開了Architect。太過分了,這個爛人,為了男女私情卻讓人類滅族。

Architect沒有想到他如此不顧全大局,讓事情的發展脫離「蒙地卡羅樹」的預測。還記得AlphaGo和李世乭的第四戰,李世乭看出AlphaGo的弱點,下了一步AlphaGo沒有預測到的棋,導致AlphaGo兵敗如山倒,讓AlphaGo拿到唯一的一敗。電影裡的Architect是所謂的「強人工智慧」:具備與人類同等甚至超越人類的智慧,目前的科技還摸不到邊。AlphaGo則只是「弱人工智慧」——是個看起來像有智能的機器。如果未來的強人工智慧也是按照蒙地卡羅樹狀搜尋來運算,而它的對手能摸清楚它「蒙地卡羅樹」的脈絡,不按電腦的牌理出牌,那當然可以唬過電腦,但能不能得到最後勝利就不一定了。

說到這裡別擔心,我不相信《駭客任務》中電腦奴役人類的場景真的會出現,但是未來終有一天智慧電腦會徹底改變人類社會和每個人的生活。很不幸,掌握人工智慧、甚至「強人工智慧」的人將擁有極大的權力,極大的權力就可能帶來極大的腐化。邪惡的不是電腦,而是人類自己。


我不相信有人看第一次就知道Architect在說什麼,似乎為了賣弄他的聰明,故意把那些大道理說的又快又深奧,英文原文還用了一些生僻的單字(“inexorably”,“grotesqueries”,“Apropos”),拜托一下——美國人也聽不懂,接下來的劇情完全跟不上。


人工智慧的相關文章:


參考資料:


快來追蹤火星人
火星軍情局
   

free counters

( )
回應 推薦文章 列印 加入我的文摘
上一篇 回創作列表 下一篇

引用
引用網址:https://classic-blog.udn.com/article/trackback.jsp?uid=DrVader&aid=51280202

 回應文章

【無★言】時代悲劇 (二)
等級:8
留言加入好友
2016/03/25 16:30
「電影中的取景還採用一個特別的方式:從眾多螢幕中放大到其中一個螢幕中的Neo,再切換到現實中的Neo。導演利用這個方式代表Neo的一舉一動都早已在Architect的預測中。


但是後來的發展出乎Architect的意料,Neo那混蛋被愛沖昏了頭,情願選擇犧牲全人類也要救他的女朋友,離開了Architect。太過分了,這個爛人,為了男女私情卻讓人類滅族。

Architect沒有想到他如此不顧全大局,讓事情的發展脫離「蒙地卡羅樹」的預測。」


這兩段似乎矛盾。既然一切都在Architect的預測中,事情的發展怎會脫離「蒙地卡羅樹」的預測呢?只能說Neo所選的,是Architect認為機率較小,一般人不太可能選的抉擇。至於如何判斷機率大小,那是精華所在,兵家必爭之區。判斷正確則勝,反之則敗。


這個Architect大概非常自信,以至於嘴巴關不住,講了不該講的話。他為何要說前面已經有五個救世主,而這五個都選擇犠牲自己來拯救人類呢?這不是暗示Neo作法要有不同嗎?否則,事情一再重覆,不就沒意思了?
火星情報總長(DrVader) 於 2016-03-26 09:47 回覆:

雖然只是電影,但是劇情的發展有點像阿法狗對李世乭第四戰,阿法狗本來已經自認為勝率75%,一直到李世乭下了「神之一手」擊敗AlphaGo,電腦的預估勝率才忽然遽跌。這就是因為那一手棋沒有在AlphaGo本來估計的蒙地卡羅樹裡。同樣地,如果Architect沒有把Neo後來的反應放在它的蒙地卡羅樹裡,就可能造成那種情形。

不過這是電影,劇本不這麼寫戲就演不下去。