世界棋王李世石鬥人工智能程式AlphaGo的世紀大戰,步向尾聲,雖然李世石在周日終於扳回一局,已擺脫食光蛋的災難,但在五局三勝制中,李世石已有輸無贏,無法逃離被電腦KO的厄運。
上一次人機大戰是1997年那場國際象棋對決,電腦深藍擊敗國際象棋大師卡斯帕羅夫,但如我上次所講,卡斯帕羅夫誤判深藍的一個錯誤為妙著,搞到自己情緒大受影響而落敗,雙方棋力未分高下。如今AlphaGo玩的是複雜很多的圍棋,可以行走的選擇比宇宙內的原子數量還多,這才是電腦人工智能的真正考驗,而AlphaGo可以清脆獲勝,可見它和深藍已經不可同日而語。
開發AlphaGo這個人工智能軟件的是谷歌旗下的DeepMind公司,這間公司在2010年創立,負責人哈薩比斯(Demis Hassabis)本身就是國際象棋高手,1997年他還是牛津大學學生時,就親身旁觀了深藍對的世紀大戰。
哈薩比斯設計AlphaGo,要超越深藍那種水平,深藍的特色是「人手研發」,等如程式設計師教電腦捉棋,設計師篩選出多個國際象棋大師的下棋資訊,將其轉化為具體規則和啟發,叫深藍去模仿。深藍強在記憶力和運算力,但它捉棋的能力,理論上不會超過程式師教他的東西。
但AlphaGo卻植入了學習能力,它可以通過練習和學習,積累「自己的」經驗,這與人類的思維方式更為相似。它絕對可以學到超過程式設計師輸入的資料。
技術一點去講,傳統的人工智能用的方法是建構一棵「搜索樹」(search tree),去幅蓋所有可能性,在圍棋中因為可能性太多,令這種方式失效。所以AlphaGo是用另一種建構方式,首先它也建構一棵「高級搜索樹」,但更重要的是和一個「深度神經網絡」(deep neural networks)結合。所以謂神經網絡就是模仿人類以神經元為單位的思考方式,神經元之間會溝通。而AlphaGo的深度神經網絡有12層,包含了數以百萬計類似神經元的連接單位。其中一個神經網絡是政策網絡,它負責行下一步棋,另一個神經網絡叫評價網絡,每一刻都在評估誰會贏出這一個棋局。
好了,哈薩比斯設計好AlphaGo後,就當小孩子那樣培訓它,首先讓它學人類棋手在過去的棋局中的3000萬種下子方法,直至訓練到AlphaGo有57%機會估中人類對手的下子方法(在AlphaGo之前的紀錄是47%)。
但這還不夠,哈薩比斯的目標不是叫AlphaGo去模仿人類的下子方式,而是要去打敗他們,為此目標,AlphaGo要學習發展自己的新下棋策略,方法是自己和自己捉棋,在神經網絡之間捉棋,這個試誤法(trial and error)有個特別名稱,叫加強式學習(reinforcement learning),這就是它自己和自己捉棋的不斷自學的方式。人類捉棋一天只能捉三局,但電腦一天可以捉100局,AlphaGo至今捉了的棋局,其對手李世石捉到100歲也捉不到那麼多。當然背後還要有谷歌超大的雲計算能力去支持。
AlphaGo練好工夫後,就要打實戰,先和所有玩圍棋的人工智能軟件比賽,所向無敵後挑戰歐洲冠軍,如今再戰世界冠軍李秀石。
AlphaGo這樣一個有超強自學能力的電腦,除了令人驚嘆外,亦有少少恐怖。真實版鋼鐵人馬斯克(Tesla電動車公司老闆)就有點擔心,他和谷歌老闆佩吉(Larry Page)很熟,馬斯克一直擔心谷歌大搞人工智能,終於會有一個瘋狂科學家,開發出一個失控人工能系統,操控全世界。馬斯克見到AlphaGo大勝李世石之後,話人工智能的發展,比他想像快了10年。我們將來可能不止要擔心人工智能機械人搶了我們的工作,還要怕它們會統治全世界!
盧永雄