2016年3月16日 星期三

AlphaGo Vs 人腦


世界棋王李世石鬥人工智能程式AlphaGo的世紀大戰,結果是電腦五局四勝,棋王無法逃離被電腦戰敗的厄運,因為上次人機大戰是一九九七年那場國際象棋對決,電腦深藍擊敗國際象棋大師卡斯帕羅夫50。上次比賽,卡斯帕羅夫誤判深藍的一個錯誤為妙着,令自己情緒大受影響而落敗。如今AlphaGo玩的是複雜很多的圍棋,可以行走的選擇比宇宙內的原子數量還多,這才是電腦人工智能的真正考驗,而AlphaGo可以清脆獲勝,可見它和深藍已經不可同日而語。

開發AlphaGo這個人工智能軟件的是谷歌旗下的DeepMind公司,這家公司在二年創立,負責人哈薩比斯(Demis Hassabis)本身就是國際象棋高手,一九九七年他還是牛津大學學生時,就親身旁觀了深藍的世紀大戰。

哈薩比斯設計AlphaGo,要超越深藍那種水平,深藍的特色是「人手研發」,等如程式設計師教電腦捉棋,設計師篩選出多個國際象棋大師的下棋資訊,將其轉化為具體規則和啟發,叫深藍去模仿。深藍強在記憶力和運算力,但它捉棋的能力,理論上不會超過程式師教他的東西。

AlphaGo卻植入了學習能力,它可以通過練習和學習,積累「自己的」經驗,這與人類的思維方式更為相似。它絕對可以學到超過程式設計師輸入的資料。

技術一點去講,傳統的人工智能用的方法是建構一棵「搜索樹」(search tree),去覆蓋所有可能性,在圍棋中因為可能性太多,令這種方式失效。所以AlphaGo是用另一種建構方式,首先它也建構一棵「高級搜索樹」,但更重要的是和一個「深度神經網絡」(deep neural networks)結合。所以謂神經網絡就是模仿人類以神經元為單位的思考方式,神經元之間會溝通。而AlphaGo的深度神經網絡有十二層,包含了數以百萬計類似神經元的連接單位。其中一個神經網絡是政策網絡,它負責行下一步棋,另一個神經網絡叫評價網絡,每一刻都在評估誰會贏出這一個棋局。

好了,哈薩比斯設計好AlphaGo後,就當小孩子那樣培訓它,首先讓它學人類棋手在過去的棋局中的三千萬種下子方法,直至訓練到AlphaGo有五成七機會估中人類對手的下子方法。

但這還不夠,哈薩比斯的目標不是叫AlphaGo去模仿人類的下子方式,而是要去打敗他們,為此目標,AlphaGo要學習發展自己的新下棋策略,方法是自己和自己捉棋,在神經網絡之間捉棋,這個試誤法(trial and error)有個特別名稱,叫加強式學習(reinforcement learning),這就是它自己和自己捉棋的不斷自學的方式。人類捉棋一天只能捉三局,但電腦一天可以捉一百局,AlphaGo至今捉了的棋局,其對手李世石捉到一百歲也捉不到那麼多。當然背後還要有谷歌超大的雲計算能力去支持。

AlphaGo練好功夫後,就要打實戰,先和所有玩圍棋的人工智能軟件比賽,所向無敵後挑戰歐洲冠軍,如今再戰世界冠軍李秀石。

AlphaGo這樣一個有超強自學能力的電腦,除了令人驚歎外,亦有少少恐怖。真實版鋼鐵人馬斯克(Tesla電動車公司老闆)就有點擔心,他和谷歌老闆佩吉(LarryPage)很熟,馬斯克一直擔心谷歌大搞人工智能,終於會有一個瘋狂科學家,開發出一個失控人工智能系統,操控全世界。馬斯克見到AlphaGo大勝李世石之後,話人工智能的發展,比他想像快了十年。我們將來可能要擔心人工智能機械人搶了我們的工作,但亦有可能協助人類,完成一些極其複雜的任務。

過去一些偉大的科學家,如牛頓及愛恩斯坦,能從自己已知的知識上推敲,不用逐級推理或進行繁複實驗,就能一蹴而就,說出高深學說。當然,想像或直覺有時會出錯,特別是在學習初期,但這樣做的好處是減省漫長運算時間及創造新知識。

跟學習圍棋一樣,未來的AlphaGo也可學習其他複雜數據,譬如投資或投機。首先,AlphaGo可先學習金融、會計及經濟學,發展準確直覺來判斷每一隻股票的長、中及短期表現,輔助投資者找出每隻股票的危與機。往後可為AlphaGo提供所有經濟及金融數據,並給予古今中外各種的投資例子及經驗以供學習,待AlphaGo的投資準繩度達致高水平,即可讓其出任「基金經理」或「投資顧問」。當AlphaGo長於每種投資後,AlphaGo更可就不同投資者的不同回報及風險取態,來安排不同最佳組合。

相信不久將來,AlphaGo在不同領域必有突破。

沒有留言:

張貼留言