search
尋找貓咪~QQ 地點 桃園市桃園區 Taoyuan , Taoyuan

台灣圍棋AI黑馬擊敗騰訊絕藝,獨家揭秘四大關鍵

昨日推送的《台灣圍棋AI黑馬擊敗騰訊絕藝,獨家揭秘四大關鍵》一文中,吳毅成的學生吳迪融進一步發展的蒙特卡洛樹搜索演算法中的M&M技術的正確表述應為「minorization-maximization演演算法」,特此更正。

「贏騰訊絕藝,我自己都非常吃驚」,這是台灣交通大學信息工程系教授吳毅成,接受DT君採訪時說的第一句話。

圖丨台灣交通大學資訊工程系教授吳毅成。(圖片:詹子嫻)

AlphaGo 擊敗人類棋王的事實,使得全球都加大了對人工智慧的投入。日前,在鄂爾多斯舉辦的圍棋大會首屆世界智能圍棋公開賽上,AlphaGo 因宣布退休而沒有參賽,本來不出意外,冠亞軍在騰訊的絕藝和日本老牌圍棋 AI 程序 DeepZenGo 之間產生。殊不知半路衝出一匹大黑馬,擊敗了騰訊的絕藝,奪下亞軍,這隻黑馬就是由吳毅成領軍、台灣交大團隊所開發的圍棋人工智慧「CGI」。

磨練兩年以黑馬姿態崛起

近期 CGI 在國際賽事屢創佳績,包括六月中在福州舉辦的中韓人機配對賽獲得冠軍;七月份在義大利的國際 IEEE FUZZ 會議上,CGI 與台灣的紅面棋王周俊勛對弈兩場,CGI 先是執黑獲得勝利,執白也以 2.5 目取勝,成為全球第一次「學界」圍棋程序在正式比賽擊敗職業九段棋士,八月的圍棋大會又打敗過絕藝、DeepZenGo。

圖丨福州中韓人機配對賽上 CGI 團隊在測試

能得到這樣好的成績,連 CGI 團隊自己也沒想過。CGI全名是「CGI圍棋智能」(CGI Go Intelligence; CGI) ,一種有趣的遞歸縮寫(Recursive acronym) 命名,是CGI實驗室開發出來的圍棋智能,而CGI實驗室全名是Computer Games and Intelligence Lab,是吳毅成帶領的計算機遊戲與智慧實驗室。CGI圍棋智能就是該實驗室開發的技術之一。

CGI是個才出現了短短兩年的圍棋 AI 新手,相比於投入了龐大資源跟資金的絕藝,或是結合了產學之力、過去十年站在領先位置的日本 DeepZenGo,仍然顯得稚嫩。

從2015年初開始開發時,CGI的棋力大約僅相當於業餘三段水平,到了今年三月提升到業餘七段左右,在UEC圍棋比賽還僅獲得第七名,因此不被外界看好,圍棋世界冠軍柯潔就認為絕藝是勝券在握。

就連 CGI 團隊自己當時也認為,「如果能得到第三就很開心了。」因為在圍棋大會比賽之前,團隊對自己及對手進行了分析:儘管 CGI 近期作了許多改進,實力上已有提升,但始終覺得跟絕藝、DeepZenGo 仍有一段距離。「當時評估在ELO 等級分系統(Elo Rating)中,與 DeepZenGo 還差 100 左右。預估雙方應該會是 四六比,而絕藝應該是遠高於我們,」吳毅成誠實地說。

令人沒有想到的,在第一天的預賽中,CGI同時擊敗絕藝與DeepZenGo,以全勝之姿晉級,連團隊自己都不敢相信。到了第二天,與DeepZenGo決賽還在進行中,同在觀賽的紅面棋王周俊勛認為CGI有極高的機率獲得冠軍,因此就先傳了訊息向CGI團隊說:恭喜,得冠軍的機率很大。但「有點可惜,在比賽後期犯了一點錯誤」,無奈在 DeepZenGo 面前敗下陣,與冠軍擦身而過。

什麼是吳毅成口中的失誤?他解釋,計算機的邏輯跟人腦不一樣,計算機是只要贏就好,贏一目也是贏。但是,人類總是想攻城掠地,儘可能贏越多越好,人的邏輯沒有錯,贏越多就越能保障勝率,但增目的過程也有風險。

另外,進入比賽後期,如果計算機失誤,很容易就開始亂下,主要要尋求機會扳回。圍棋只要有一兩個地方看錯往往就會輸了,當 CGI 決賽對弈 DeepZenGo 時,計算機搜索沒有那麼深,看錯了一個地方,但想要挽回時,才發現已經中了對手的陷阱,情勢已難挽救,團隊當場看勝率就往下掉了。

戰勝騰訊絕藝四關鍵

能有機會戰勝絕藝與DeepZenGo,不僅讓外界注意到了 CGI,更好奇勝出關鍵是什麼。吳毅成笑說:「大家都在問這個問題,在會場時,就有很多人趕快拿我們的論文研究。」

目前,在圍棋智能程序領域,吳毅成分析,AlphaGo已經是在天上的等級,CGI、DeepZenGo、絕藝三者的實力是伯仲之間。蒙特卡洛樹搜索演算法(MCTS)發展后,DeepZenGo 一直領先,深度學習發展之後,他們也追得上,著實厲害。另外,大陸過去在 Computer Go(計算機圍棋)的投入不算多,但在 AlphaGo 興起后,投入大量資源及資金研發,一年就快速趕上。

「能打敗騰訊絕藝,主要是這次機器版本改善了許多小東西而累積起來的成果,每次改版勝率都比之前版本多了70~80%,我相信未來絕藝要改善是很快的。」不過他也對 DT 君透露了制勝的四個關鍵:

第一:機器過去只管輸跟贏,但這次我們類神經網路設計是包括輸多少、贏多少,機率又是多少,例如比對手多五目的機率是多少、多六目又是多少。如果這一個 Net 可以判別可以輸幾目、贏幾目的話,在某個角度來看精準度就會更高。有些人可能認為這個對勝率提升幫助不大,但對 CGI 來說,數據上是有提升的。

第二是分散式系統的成功,讓多台機器聯合作戰,也是此次加入的設計。

第三是改善了傳統蒙特卡羅樹搜索演算法的一個啟髮式設計。這個改善過去看不太出來,不過卻在這次展現。

第四則是訓練機器的棋譜,質量有所提高,包括有自我生成的棋譜及高手棋譜。

另外,吳毅成也分享與騰訊絕藝、DeepZenGo 這些 AI 的觀察,一致認為有一個問題程序不好解,就是「龍」很長的時候程序常會誤判。這個對我們而言是個謎,我們也不確定 AlphaGo 是否已經解決,還是只是沒有遇到這狀況,因此讓人期待DeepMind的下篇論文是否能解此惑。

投入圍棋前的練兵

吳毅成在 12 年前就開始將人工智慧應用在遊戲的領域,是因為當時他看到了一件事:計算機的運算能力已經夠了,摩爾定律快到極限, 讓他敢於投入,而且訂下一定要做圍棋的目標。不過,圍棋 AI 程序對他來說,就象是打怪遊戲里的大魔王,要挑戰它得先把基本功練好。

因此,實驗室先從其他的益智類遊戲做起。他在 2005 年發表了自創的六子棋遊戲,在其他遊戲也都取得很好的成績,包括麻將、暗棋、象棋等的競賽都取得冠軍。另外,在2048 數學方塊遊戲領域,他們也是全世界第一個達到總分 65536 的紀錄創始者。

把這些基礎建設好后,2015 年開始開發圍棋。吳毅成的學生吳迪融進一步發展蒙特卡洛樹搜索演算法中的M&M技術(minorization-maximization演算法),成為他們開發圍棋 AI 程序的關鍵,「有了這個才敢發展 19 路」。

CGI 實驗室全力投入深度學習四五個月後,他們就在台灣區的比賽拿下冠軍。「當然,離世界水平還有一段差距」。 之後學界開始出現利用深度學習預測高手下法的技術。而且盛傳 DeepMind 將在不久后展示相關突破。雖然當然有一派看法認為深度學習不一定能發揮很大的成效,但吳毅成非常篤定深度學習將颳起炫風。

儘管 CGI 的程度還不算好,但他跟學生說:「全力以赴,這是一個絕佳的機會。我負責到處找資源,你們要做兩件事情:找 CP 值最高的 GPU,同時改善演算方法,減少 GPU 的需求。」到了 2016 年 DeepMind 的 AlphaGo 擊敗世界大師級冠軍李世乭,AI 從此在全世界流行起來。Android 之父 Andy Rubin 就認為,下一個操作系統會是 AI 平台,這無疑是新一波的技術轉移。

深度學習讓人為涉入減少

不過,也因為 AlphaGo 名氣太大,技術高超,不少人看衰同樣是發展智能圍棋的機構或新創公司,甚至會告誡有意做 AI 的新創團隊不要再想圍棋這個項目了。例如,馬雲先前就大聲疾呼:「很多公司別再去搞 AlphaGo 這樣的東西了,沒有多大意義。」另外,卸下微軟小娜(Cortana)研發總監,回台灣創立台灣人工智慧實驗室的杜奕瑾也曾說,要找別人還沒有做得很好的領域來做。

圖丨前微軟小娜(Cortana)研發總監杜奕瑾

對於這些評論,吳毅成認為是對也不對,當本來研究AI遊戲的目的就是當作研究AI的果蠅(fruit fly),從學界的角度來看,「我們現在正是處於一個絕佳的時機」,有了深度學習之後,大家不是可以追得更快嗎?

對學校、學生來說,就算沒有贏過 AlphaGo,但過程就是一種學習,路走過了就會有收穫。「我們百分之百確信, DeepMind 不會一輩子做圍棋,就算他不玩了,後繼有人做更多的改善,無論從學術或實用角度,都是件很正面的事。」

確實,DeepMind 創始人兼 CEO Demis Hassabis 表示,他們相信 AI 協助社會發現新知識並造福社會的潛力,AlphaGo 讓人一窺此事的可能性,他們研發團隊將把精力投入新的挑戰,例如開發更高級的通用演算法,協助科學家們掌握各種更複雜的問題。

圖丨DeepMind 創始人兼 CEO Demis Hassabis

回顧 DeepMind 在去年做的幾件大事,還包括改善醫療,例如與英國國家醫療服務體系 NHS 旗下的基金會 Royal Free London 簽約合作,尋找疾病的治療方式,以及協助 Google 減少數據中心的能耗、語音辨識,或是發明革命性的新材料等。

另外,從創業的角度來看,中日韓的圍棋市場其實不小,但他也坦言,「這個東西只有第一名跟第二名可以活著」。不過,將這樣的概念應用在其他產業上也同樣是一種思路。

圖丨卡斯帕羅夫對戰深藍

「AlphaGo 跟過去 IBM 深藍不同,這次領域知識(domain knowledge)的人為涉入而減少了很多。」這是什麼意思?

幾年前,CGI 開發的象棋程序在大陸參加比賽,旁邊有一個高手觀賽到一半就直接告訴吳毅成:「你們輸了!因為這裡的卒距離對方的帥還不夠近,如果你再進一步就會贏。」但這對於沒有擁有像高手那樣超凡專業的開發者來說,就是看不出來,所以當時開發象棋,需要找一個很強的高手來告訴程序,這個局面有什麼特徵,是好還是不好,如果是好就加分。

吳毅成表示,換到現今的 AlphaGo 下圍棋,你會看到專業人士涉入的程度很少,一是因為圍棋複雜,走法、例子多到沒辦法窮舉。更重要的是,現在使用深度學習模擬人腦,是讓計算機自己學,而不是靠高手輸入指令。

「加上過去方式所要付出的成本很高,而且有些邏輯規則會互相矛盾抵觸,但現在深度學習厲害之處就是不再需要這麼多的領域知識( domain knowledge),同一套程序加以調整后就比較容易應用到其他領域,不論是遊戲、機器人、無人機都很有機會。」

或許也就因為如此,現在吳毅成的實驗室有一半學生都在跟產業界合作,包括機器人、光學檢測、製造應用等方面,未來都有發展成創業的可能。



熱門推薦

本文由 yidianzixun 提供 原文連結

寵物協尋 相信 終究能找到回家的路
寫了7763篇文章,獲得2次喜歡
留言回覆
回覆
精彩推薦