close
陳經:即使AlphaGo不出來下棋,我們還有絕藝
【在剛剛落幕的日本UEC杯計算機圍棋大賽上,中國的AI“絕藝”一路過關斬將,贏得冠軍。一周前,觀察者網專欄作者陳經曾撰文詳細分析瞭絕藝的水平,觀察者網特重刊本文,以饗讀者。】
【文/ 觀察者網專欄作者 陳經】
一、消失的Master,掙紮的DeepZenGo
最近圍棋圈裡又出現一件值得註意的新鮮事,3月4日晚,絕藝對“世界冠軍及全國冠軍”們取得瞭18勝2負的戰績,成為網絡對弈世界裡第一個10段。回顧2016年末至2017年初,圍棋AI“群狗鬧新年”,Master對人類頂尖高手華麗60連勝。現出真身後,Master飄然而去。大師已不在江湖,江湖上還流傳著大師的棋譜。
職業高手們紛紛推出瞭對Master棋局的解析,或感性、或深入。業餘棋友們則利用ZEN6、LeeLa等市面上流傳的圍棋AI,對這60局棋的走勢進行分析。人類從未在這60局中取得領先,這個結論得到瞭一致公認。
Master執黑對孟泰齡,107手怪異地沒有F7位提吃白四子
靜電機推薦
Master執黑對孟泰齡,白吃掉黑7子後的局面
之前認為孟泰齡在Master打吃不應後提吃Master七子,局勢可能領先。如上圖所示,黑99沖白100擋之後,白的102、104、106三子都還在棋盤上,黑下的101、103、105卻沒有出現在棋盤上,因為被108這手全提掉瞭。與黑第101手直接下107相比,白相當於108一手就同時下瞭102、104、106、108四個子到棋盤上,Master的虧損一望可知。但是Master的人肉機械臂Aja Huang發貼說這是他擺錯瞭一招棋,電腦107這手是想在F7提吃白四子的,這樣仍然是黑棋優勢。雖然黑方擺錯棋,但孟泰齡時間緊張後面錯得更厲害,還是輸瞭。
分析越深,Master的實力越是讓人覺得深不可測。但Master在2017年1月4日之後,是真的不出來下棋瞭,正式消息都極少。之後數次爆出柯潔和AlphaGo第二次人機大戰的消息,甚至有和人類高手組團對戰的說法,都沒有得到官方確認。無論如何,以谷歌的行事風格,應該不會讓AlphaGo和人類高手戰個痛快。
Master出來下瞭60局棋看似不少,但是對局者、對局用時都是挑選的。職業棋手們雖然對Master的水平全都服氣瞭,但顯然很不過癮。和Master下得最多的樸廷桓也隻下瞭5局,中國棋手裡孟泰齡下瞭4局最多。網絡對弈時代,勤奮的棋手一年要下上千盤,60局遠遠不夠。
日本的Zen是AI勤奮對弈的典范,長年在業餘棋迷為主的KGS上公開測試,受到棋迷的擁護。在學習AlphaGo的論文後升級為DeepZenGo之後,Zen在KGS上打到瞭第一名,並在與趙治勛的三番棋中勝瞭一局,首次有瞭正式比賽戰勝職業棋手的記錄。2016年12月29日幾乎和Master同時,DeepZenGo來到弈城接受業餘高手和職業棋手們的檢驗。到2017年2月15日退出,DeepZenGo下瞭上千盤棋,多次升級版本不斷調試。
這應該是為DeepZenGo在兩個日本舉辦的正式大賽作準備。一個是3月21-23日的首屆世界圍棋錦標賽,冠軍獎金額高達3000萬日元(約180萬人民幣)。DeepZenGo作為AI代表,與三個分別來自中日韓的人類代表各下一局。
另一個是3月18-19日的傳統賽事第10屆UEC杯計算機圍棋賽,由於一年來多個圍棋AI水平突飛猛進,今年的賽事得到瞭空前的關註。之前UEC杯的冠亞軍得主,會與日本職業棋手進行讓五子、四子、三子的比賽,今年將分先與一力遼對弈。因為AI的水平已經追上人類,這個比賽也是最後一期,之後停辦。Zen是這個比賽的多次冠軍,當然希望再次取得好成績。
但是從弈城上的表現來看,DeepZenGo這兩個比賽都會碰到不小的麻煩。不出意外,它對中日韓的羋昱廷、樸廷桓、井山裕太三局棋都會輸掉。而UEC杯上DeepZenGo也隻能爭亞軍。
從上千局對局結果來看,DeepZenGo對業餘棋手幾乎可以保證勝利,對10個最高水平的業餘高手(業餘四大天王其實有職業水平)的10番棋隻輸瞭2局。對一般職業棋手勝率還可以,但也經常輸。對一線高手是輸面大,雖然有時也能勝。頂尖高手一般自重身份,不會與DeepZenGo交手,隻有陳耀燁、連笑等人下過幾局。這並非頂尖高手們無禮,而是DeepZenGo的水平無法得到足夠的認可。想和高手下,總得先穩定地戰勝不那麼高的選手,或者高手願意給機會時能抓住。
有一段時間,DeepZenGo在弈城上的掙紮讓人感覺有些悲壯,開發明顯到瞭瓶頸,版本升瞭戰績卻反而降瞭,不得不回退。總是沒辦法突破,陷在職業棋手們佈下的階梯中舉步維艱。從Zen的開發歷程來看,過去是人工寫搜索代碼、植入圍棋開局與棋形知識,這個開發風格不易轉型到靠多個服務器暴力機器學習強化學習的路線上來。將策略網強、價值網絡等先進武器加進來後,Zen的實力提升很快。但之後再要提升,之前的代碼反而變成拖累。
圍棋的江湖,跟紅頂白,弱肉強食,輸贏一清二楚。實力不行,高手就沒有興趣,這有點殘酷,其實是公平的。高手陪低手下棋,給點面子可以下一兩盤,下很多盤等於是幫低手漲棋,高手收獲不多,和低手下多瞭棋力甚至可能降低,不願意可以理解。雖然日本棋手對DeepZenGo的評價高些,認為它對頂尖高手有勝機,但這更象是一種鼓勁。
面對圍棋AI的震撼沖擊,職業高手們有過恐懼,其實更多的是興奮,仿佛來到瞭棋藝的新天地,不少職業棋手努力和AI對局提升技藝的動力十足。但是Master不下棋瞭,勤奮的DeepZenGo實力又還不行。幸好,還有一個圍棋AI能夠對人類高手取得壓倒性戰績,而且願意每天出來下棋,那就是騰訊開發的絕藝。
二、絕藝與人類高手的混戰歷程
和DeepZenGo沒有多少頂尖高手願意對局不同,對絕藝,這一切都不是問題。
“絕藝如君天下少,閑人似我世間無”,帶著這首應景好詩在野狐圍棋上一出山,絕藝就受瞭極大的關註。它迅速完成瞭爬階梯的過程,沒多久就直接面對柯潔、樸廷桓等人類最頂尖高手,並且能戰而勝之。2016年11月1日,絕藝下瞭第一盤棋。到11月19日,絕藝戰勝瞭柯潔一次,11月28日,絕藝連勝樸廷桓五盤。之後,絕藝(以及不同的版本刑天、驪龍)對陣的棋手幾乎都是等級分靠前的世界冠軍或者全國冠軍,一直互有勝負,殺得難解難分。從這個意義上來說,絕藝幾乎一出來,就完成瞭對DeepZenGo的超越。
Master是教人類如何下棋,頂尖高手們排著隊等一個上陣被抬走的機會。而對於絕藝,高手們同樣樂於出手,積極進行測試,共同提高。絕藝的測試者群體,和Master幾乎是一樣的。在眾多學習AlphaGo的圍棋AI開發團隊中,目前隻有絕藝達到瞭這個成就。
和Master一出來就天下無敵不同,絕藝有著明顯的棋力上升軌跡,經過數次下線開發升級。Master忽然出來對高手們排隊密集敲悶棍,能提升神秘感,但未免顯得重保密、輕交流,是圍棋局外人的做法。AlphaGo的開發思想是,棋力提升靠人類棋譜以及海量自我對局就可以瞭,不需要真和人下。和人類高手對戰,隻是確認機器的棋力,不是用來提升機器實力,也不是幫高手漲棋。
而絕藝卻明顯走瞭另外一個技術路線,積極和人類高手對戰。無論是勝多還是敗多,盡量從中發現問題,快速解決後又出來下棋,循環開發。這個路線顯然更為親民,也給高手們更多觀察的機會,自身弱點暴露得更充分,神秘感不多。如果以後絕藝有機會與AlphaGo進行“機機大戰”,它將以“圍棋界自己人”的身份,與“局外人”AlphaGo對戰,而且感覺這一天的到來並不遙遠。我肯定希望絕藝獲勝,相信這也是多數棋界人士的願望。
此前從未有這樣高水平的AI與高手們持續作戰數月,絕藝清晰的戰績軌跡,有助於我們理解圍棋AI的特性,甚至人類高手自己的特性,也可以讓我們對Master的無敵戰績加深理解。
絕藝最初打出名頭,是靠20秒的快棋。這是高手們在弈城、野狐等網站上練習時的標準時間配置,三次20秒讀秒。高手們認為20秒時間足夠思考瞭,絕大多數棋都在20秒內下出,關鍵時候才會用掉一次讀秒。有的高手甚至認為20秒長瞭,下15秒甚至10秒的快棋。棋手們普遍認為自己快棋水平不比慢棋差多少,就差一先,有的甚至感覺實力差不多。孟泰齡在下棋的同時還能清楚地錄制解說,大多數是20秒的對局,中間還跑去收快遞盒飯。高手們20秒對戰搞得有模有樣,有時還戰得很精彩。
但是絕藝的20秒,早在2016年12月高手們就擋不住瞭,基本可以肯定不是絕藝的對手,硬來就是樸廷桓式的五連敗。絕藝證明瞭高手們的20秒是充滿瞭錯誤的低質量對局。中國棋院院長王汝南說:“騰訊搞的人工智能圍棋,20秒一步,職業高手們不好對付”,就是這個意思。
20秒還是更長時間,對絕藝以及Master的棋力毫無影響,因為它們都會在10秒內出手沒有區別。但是對人類來說,20秒是絕對不夠用的,真正能用於思考的時間很少。對方落子以後,人先要理解對方下的棋。預料之中的可能花個2秒就夠瞭,出乎預料的,就要花更長時間去建立棋感。20秒的棋,到10秒就開始有讀秒聲,其實並不能怎麼專註思考,一不小心就要超時,需要早點想好招確認。真正有效思考推理的時間可能就是10秒左右,推不瞭多深,多半是憑感覺拍。之所以下得有模有樣,是因為下套路棋很熟。套路完瞭,後面會犯很多錯。
但雙方水平差不多用時都不夠,出錯未必能抓住,抓住瞭下一個局面又送回去,概率性地互相翻盤,圍觀的人也沒時間發現這些錯誤。即使是網棋水平最高的柯潔、樸廷桓、范廷鈺等人,也不過是七成勝率,經常犯錯,水平高主要體現在勝率高一些。有時說不清是棋更熟,還是真的對圍棋理解更深。20秒的對局,主要培養的是棋感,以及快速計算的能力,但計算的深度廣度就談不上瞭,本質上是和業餘棋手差不多的“感覺行棋”。業餘棋手是沒有計算的能力,高手們下20秒就是主動搞極限運動瞭。
高手們面對絕藝,這個弱點暴露無疑。絕藝不用Master那麼高水平,但是發揮也足夠穩定,不會出簡單的錯招。高手們頓時顯得壓力極大,一出明顯的錯招一局可能就斷送瞭,而絕藝會毫不留情地抓住,“感覺行棋”明顯不行。絕藝雖然下得更快,但是計算機出身速度是本行,每招的計算都可以保證基本的水準。
2016年12月開始,絕藝主要和高手們下30秒的快棋。多出來的10秒時間很關鍵,相當於實質思考時間翻倍還多,時間多瞭心態也會好,能夠進行一些穩定計算瞭。高手們30秒的實力相比20秒明顯提高,在“感覺行棋”上也加入瞭相當多的計算驗證,能夠設計一些手段。這一段時間,柯潔對絕藝戰績明顯占優,曾連續獲勝,顯得對付AI很有辦法,高手們也經常能殺掉絕藝的大龍或者吃掉局部一塊棋獲勝。絕藝的弱點也暴露出來,局部死活搞不清,大龍的死活掉以輕心。柯潔在野狐看棋時透露瞭對付絕藝的心得:做大模樣,等它進來犯錯。
春節期間,絕藝也過年去瞭。假期結束後,絕藝似乎修復bug得力,棋力明顯上升,對高手們30秒戰績提升明顯。從2 月14日開始到3月5日,柯潔對絕藝慘遭13連敗,對局時心態明顯變異,經常很快就輸掉瞭。這也可能是柯潔在試一些特殊招法,但絕藝對高手們的30秒戰績顯然是壓倒性的。絕藝的進步,讓高手們的30秒又顯得時間不夠瞭。
看到絕藝的出色戰績,可能是出於宣傳目的,野狐適時地推出瞭升10段的規則。
靜電機
成為10段後,絕藝又與高手們下瞭一陣子30秒,仍然是9成勝率。因此3月5日之後,絕藝與高手們都是下60秒的對局。每步棋60秒,這給高手們相當大的時間自由,能夠進行的思考要深入多瞭。在高手們的正式對局中,這是常見的情形。有些喜歡長考的高手早早進入1分鐘讀秒,但面對時間充裕的對手一直能頂住,對局質量很高。
60秒的棋,人類高手算是拿出真本事和AI對局瞭。Master的60連勝基本是20、30秒的,隻有對聶衛平給瞭60秒。面對Master的不拘一格的新手,高手們根本沒有時間反應,往往一個局部就吃大虧,整局再無機會。看到新手,心裡本來就有壓力,又隻有30秒,還不知道對手要幹啥。應對的選擇會有幾個,根本沒時間細算,連感覺一下時間都不夠,多半是胡亂蒙一招瞭,很容易吃虧。
Master對人類高手的壓迫主要就是兩個,一是時間攻勢,二是新手攻勢。事實證明,幾乎沒有高手能頂住。我認為人類高手輸得其實有些冤,因為平時正式對局有1-3個小時思考時間,Master式的新手肯定出現在開局,人類高手會有充足時間去仔細琢磨,不可能象網上對局這樣20、30秒就得下。人類高手正式對局也不時下出新手,但對方一看是新手,就會仔細琢磨,一般能找出妥善應對,很少被新手擊潰。如果也是20、30秒就被逼下子,新手多半會很成功。
可以承認Master的思維方式和人類高手不一樣,把圍棋佈局與局面評估藝術帶到瞭人類高手不曾想到的新境界。在職業棋手開局嚴重套路化千篇一律之時,這一股新風無比珍貴。但是不能說Master的新手,或者截然不同的佈局風格,人類就無法應對。如果給人類高手多一些時間應對新手,同時主觀上提升對佈局的思考,不再機械地擺“常形”,那麼人的表現會好得多。不說戰勝Master,至少能逼出Master更多本事。現在Master就靠“新思維”,在佈局階段就打敗瞭人類高手,這是很遺憾的。因為這是人類的思考時間不夠,太可惜瞭。如果能看到Master在復雜死活、復雜劫爭、大對殺、耍大龍等局面的表現,無疑會更為精彩,這也是圍棋藝術必不可少的精華。
如果再大膽一點,或者說為瞭人類棋手鼓勁,可以提出一個猜想:
AlphaGo比人類主要強在思考速度快、佈局理念創新、局面評估準確、水平穩定。但是一些復雜死活、復雜劫爭、大對殺局面,AI搜索算法有本質困難,人類卻能發揮邏輯推理的優勢,比AI表現更好。可能的情況是,AlphaGo團隊尚未給出解決復雜死活、復雜劫爭、大對殺問題的可信算法,但把局面評估上的優勢做到遠超人類的程度(還通過把對局時間限制在20、30秒極度放大瞭這些優勢),成功掩蓋瞭這些弱點。
而絕藝和高手們60秒對局的表現,似乎能對這個猜想提供一些證據。60秒對局,絕藝的勝率從30秒時的90%下降到60-70%,經常連輸。相當於人類高手的勝率從10%升到瞭30%-40%,勝局數增加兩三倍,表現大為好轉。
三、絕藝與圍棋AI的典型弱點
經常看絕藝下棋的棋友會知道,它主要是死活與對殺會出大問題。人類明顯能判斷對的問題,AI卻搞不清楚,忽然就顯得很笨。
這些弱點從算法上可以解釋。現在的高水平圍棋AI都是靠價值網絡與海量模擬至終局判斷局勢,優點是著眼於全局,評估比人類精確。但它的搜索框架中沒有“搞清楚局部死活”、“算清大龍死活”這種概念,也很難改良放進這些概念。
局部死活與對殺問題是,搜索樹展開時,有可能漏掉瞭局部死活與對殺的關鍵點,發生漏算,以為是活的其實是死的。而人類高手訓練有素,局部死活優劣會有感覺,能聚焦於局部集中計算去弄清楚。
2017年2月5日,絕藝執白對北海的早晨(范蘊若)
如上圖,范蘊若黑91擋住,絕藝認為白棋右邊一塊死活沒問題,脫先占瞭92位大棋。對黑97又應在98,導致黑99出手,做成瞭打劫殺。局部變化復雜,但是絕藝肯定應錯瞭。
2017年3月10日,絕藝執黑對clover77(尹峻相)
如上圖,絕藝黑45長出,白46飛。黑49封鎖,局部對殺黑死。雖然黑勉強算是棄子封鎖,但是主動送死這麼大一塊,還是有點過於慷慨瞭,而且51封鎖還是後手,黑棋形勢大差。這更象是絕藝局部誤算瞭。
2017年3月10日,絕藝執白對天選(柁嘉熹)
白右邊大塊與黑對殺,這個局面人類高手一眼就知道白棋對殺不利。但可能是手數比較多,白可以在外圍搞事,內部收氣次序也不簡單,絕藝算不清楚,還是走進瞭這個必輸的大對殺。
絕藝碰到的常見大龍死活的問題有兩種。一是大龍很長,“棋長一尺無眼自活”,雖然沒有明確兩眼,但殺棋要經過很多步,做活頭緒很多,殺棋容易失敗。二是開始隻是局部的一小塊棋,殺死它需要放出來跑成大龍,要經過非常多手。這兩種棋絕藝都傾向於認為是活棋,失去警惕,因為絕藝的策略網絡是學人類棋譜的,而棋譜中這種棋確實都是活的,譜中也不急於做活。
出現這種局面,人類高手會暗中佈子增加殺棋可能性,絕藝卻沒有發現危險最後被殺。這種殺棋步數遠超AI搜索展開樹的深度,展開完瞭之後靠快速走子終局也發現不瞭危險。模擬至終局是直線往下走,會忽略對手的殺著,對手圍殺時稍一松軟,大龍就做活瞭。人類高手會主動關註大龍的死活,遠處自己對於殺棋的幫助的勢力會有意去規劃,殺棋條件成不成熟有陰險的盤算。一旦人類高手判斷殺龍時機成熟,而AI卻沒有察覺,大龍被殺就會發生。絕藝的敗局中不少是大龍被殺,遠多於局部死活問題。
2017年3月8日,絕藝執黑對煉心(時越)
再如上圖,絕藝執黑左邊大塊被“場均一條龍”時越102點眼硬殺。最後大龍被殺的慘狀如下圖。
過過50多手的追殺,絕藝才確定大龍死掉的結局,上面中間黑白是雙活。但是時越在前面點眼的時候,就已經對殺棋有把握瞭。至少不會明顯漏算,發動追殺是時機比較成熟時才會做。而絕藝卻明顯對這類局勢判斷不清楚。
2017年3月10日,絕藝執白對北海靜電油煙處理機的早晨(范蘊若)
如圖,右邊白棋其實已經被殺瞭。但是由於黑外圍看似有很多弱點,白棋R11長再O9長,能夠到處沖擊,雖然最後還是被殺,但手數特別多,所以絕藝還是這麼下瞭。
2017年3月8日,絕藝執白對maker(樸廷桓)
絕藝90長出,被黑凌空一斷,下面到中間的一條大龍已經死瞭。但是要吃掉它也要經過很多手,還有打劫,中間黑的大龍也要跑,變化還是很多的。這種局面人類高手能判斷出白棋很危險,絕藝卻無知覺地陷入瞭絕境瞭。
絕藝60秒對人類高手的棋,很容易就找到不少出bug的例子。當人思考時間相對充分的時候,這類局面發生的概率大增。這說明絕藝還是有很多bug。之前因為絕藝在20-30秒對人類高手的壓倒性戰績,人們認為它已經有AlphaGo戰勝李世石的V18版本的水平。現在看來人類高手思考時間一長,絕藝的Bug概率明顯上升。絕藝還不一定有V18的水平,因為V18下的是慢棋。另一方面,對Master的60局棋,人類高手的表現要重新評估,20-30秒人實力降瞭非常多,Master的壓倒性勝利可能更多是時間因素。
絕藝除瞭復雜死活與對殺是棋藝弱點,還顯然在佈局創新上與Master差距很大。它還是學習人類棋譜佈局的感覺,隻是比較犀利,出手狠辣,有機會就挑起戰鬥占高手的便宜。而Master有不少讓人眼前一亮,甚至完全想不到的佈局新手與構思,在局部簡單幾個定型選擇,人類高手在全局配置就吃瞭大虧,這種能力絕藝還沒有。
通過與絕藝的數百局對戰,人類高手對高水平圍棋AI的瞭解確實加深瞭很多。雖然Master的底還沒有摸到,但人類並非毫無希望。絕藝的那些bug,理論上AlphaGo的早期版本肯定也有,V18對李世石也暴露瞭一次。後面Master沒有出這些bug,但可能是因為靠時間攻勢與新手優勢早早控制瞭局面,人類沒有找到機會摸進Master的bug區間。
如果之後柯潔等人類高手在慢棋中,或者絕藝繼續進步,能夠頂住AlphaGo的佈局,將局面導入復雜,逼出AlphaGo的算法局限,這將是非常激動人心的進展。
2017年的3月開始的世界棋壇,將因為眾多高水平AI的表現而無比精彩,我們會滿懷期待地等待。
本文系觀察者網獨傢稿件,文章內容純屬作者個人觀點,不代表平臺觀點,未經授權,不得轉載,否則將追究法律責任。關註觀察者網微信guanchacn,每日閱讀趣味文章。
【在剛剛落幕的日本UEC杯計算機圍棋大賽上,中國的AI“絕藝”一路過關斬將,贏得冠軍。一周前,觀察者網專欄作者陳經曾撰文詳細分析瞭絕藝的水平,觀察者網特重刊本文,以饗讀者。】
【文/ 觀察者網專欄作者 陳經】
一、消失的Master,掙紮的DeepZenGo
最近圍棋圈裡又出現一件值得註意的新鮮事,3月4日晚,絕藝對“世界冠軍及全國冠軍”們取得瞭18勝2負的戰績,成為網絡對弈世界裡第一個10段。回顧2016年末至2017年初,圍棋AI“群狗鬧新年”,Master對人類頂尖高手華麗60連勝。現出真身後,Master飄然而去。大師已不在江湖,江湖上還流傳著大師的棋譜。
職業高手們紛紛推出瞭對Master棋局的解析,或感性、或深入。業餘棋友們則利用ZEN6、LeeLa等市面上流傳的圍棋AI,對這60局棋的走勢進行分析。人類從未在這60局中取得領先,這個結論得到瞭一致公認。
Master執黑對孟泰齡,107手怪異地沒有F7位提吃白四子
靜電機推薦
Master執黑對孟泰齡,白吃掉黑7子後的局面
之前認為孟泰齡在Master打吃不應後提吃Master七子,局勢可能領先。如上圖所示,黑99沖白100擋之後,白的102、104、106三子都還在棋盤上,黑下的101、103、105卻沒有出現在棋盤上,因為被108這手全提掉瞭。與黑第101手直接下107相比,白相當於108一手就同時下瞭102、104、106、108四個子到棋盤上,Master的虧損一望可知。但是Master的人肉機械臂Aja Huang發貼說這是他擺錯瞭一招棋,電腦107這手是想在F7提吃白四子的,這樣仍然是黑棋優勢。雖然黑方擺錯棋,但孟泰齡時間緊張後面錯得更厲害,還是輸瞭。
分析越深,Master的實力越是讓人覺得深不可測。但Master在2017年1月4日之後,是真的不出來下棋瞭,正式消息都極少。之後數次爆出柯潔和AlphaGo第二次人機大戰的消息,甚至有和人類高手組團對戰的說法,都沒有得到官方確認。無論如何,以谷歌的行事風格,應該不會讓AlphaGo和人類高手戰個痛快。
Master出來下瞭60局棋看似不少,但是對局者、對局用時都是挑選的。職業棋手們雖然對Master的水平全都服氣瞭,但顯然很不過癮。和Master下得最多的樸廷桓也隻下瞭5局,中國棋手裡孟泰齡下瞭4局最多。網絡對弈時代,勤奮的棋手一年要下上千盤,60局遠遠不夠。
日本的Zen是AI勤奮對弈的典范,長年在業餘棋迷為主的KGS上公開測試,受到棋迷的擁護。在學習AlphaGo的論文後升級為DeepZenGo之後,Zen在KGS上打到瞭第一名,並在與趙治勛的三番棋中勝瞭一局,首次有瞭正式比賽戰勝職業棋手的記錄。2016年12月29日幾乎和Master同時,DeepZenGo來到弈城接受業餘高手和職業棋手們的檢驗。到2017年2月15日退出,DeepZenGo下瞭上千盤棋,多次升級版本不斷調試。
這應該是為DeepZenGo在兩個日本舉辦的正式大賽作準備。一個是3月21-23日的首屆世界圍棋錦標賽,冠軍獎金額高達3000萬日元(約180萬人民幣)。DeepZenGo作為AI代表,與三個分別來自中日韓的人類代表各下一局。
另一個是3月18-19日的傳統賽事第10屆UEC杯計算機圍棋賽,由於一年來多個圍棋AI水平突飛猛進,今年的賽事得到瞭空前的關註。之前UEC杯的冠亞軍得主,會與日本職業棋手進行讓五子、四子、三子的比賽,今年將分先與一力遼對弈。因為AI的水平已經追上人類,這個比賽也是最後一期,之後停辦。Zen是這個比賽的多次冠軍,當然希望再次取得好成績。
但是從弈城上的表現來看,DeepZenGo這兩個比賽都會碰到不小的麻煩。不出意外,它對中日韓的羋昱廷、樸廷桓、井山裕太三局棋都會輸掉。而UEC杯上DeepZenGo也隻能爭亞軍。
從上千局對局結果來看,DeepZenGo對業餘棋手幾乎可以保證勝利,對10個最高水平的業餘高手(業餘四大天王其實有職業水平)的10番棋隻輸瞭2局。對一般職業棋手勝率還可以,但也經常輸。對一線高手是輸面大,雖然有時也能勝。頂尖高手一般自重身份,不會與DeepZenGo交手,隻有陳耀燁、連笑等人下過幾局。這並非頂尖高手們無禮,而是DeepZenGo的水平無法得到足夠的認可。想和高手下,總得先穩定地戰勝不那麼高的選手,或者高手願意給機會時能抓住。
有一段時間,DeepZenGo在弈城上的掙紮讓人感覺有些悲壯,開發明顯到瞭瓶頸,版本升瞭戰績卻反而降瞭,不得不回退。總是沒辦法突破,陷在職業棋手們佈下的階梯中舉步維艱。從Zen的開發歷程來看,過去是人工寫搜索代碼、植入圍棋開局與棋形知識,這個開發風格不易轉型到靠多個服務器暴力機器學習強化學習的路線上來。將策略網強、價值網絡等先進武器加進來後,Zen的實力提升很快。但之後再要提升,之前的代碼反而變成拖累。
圍棋的江湖,跟紅頂白,弱肉強食,輸贏一清二楚。實力不行,高手就沒有興趣,這有點殘酷,其實是公平的。高手陪低手下棋,給點面子可以下一兩盤,下很多盤等於是幫低手漲棋,高手收獲不多,和低手下多瞭棋力甚至可能降低,不願意可以理解。雖然日本棋手對DeepZenGo的評價高些,認為它對頂尖高手有勝機,但這更象是一種鼓勁。
面對圍棋AI的震撼沖擊,職業高手們有過恐懼,其實更多的是興奮,仿佛來到瞭棋藝的新天地,不少職業棋手努力和AI對局提升技藝的動力十足。但是Master不下棋瞭,勤奮的DeepZenGo實力又還不行。幸好,還有一個圍棋AI能夠對人類高手取得壓倒性戰績,而且願意每天出來下棋,那就是騰訊開發的絕藝。
二、絕藝與人類高手的混戰歷程
和DeepZenGo沒有多少頂尖高手願意對局不同,對絕藝,這一切都不是問題。
“絕藝如君天下少,閑人似我世間無”,帶著這首應景好詩在野狐圍棋上一出山,絕藝就受瞭極大的關註。它迅速完成瞭爬階梯的過程,沒多久就直接面對柯潔、樸廷桓等人類最頂尖高手,並且能戰而勝之。2016年11月1日,絕藝下瞭第一盤棋。到11月19日,絕藝戰勝瞭柯潔一次,11月28日,絕藝連勝樸廷桓五盤。之後,絕藝(以及不同的版本刑天、驪龍)對陣的棋手幾乎都是等級分靠前的世界冠軍或者全國冠軍,一直互有勝負,殺得難解難分。從這個意義上來說,絕藝幾乎一出來,就完成瞭對DeepZenGo的超越。
Master是教人類如何下棋,頂尖高手們排著隊等一個上陣被抬走的機會。而對於絕藝,高手們同樣樂於出手,積極進行測試,共同提高。絕藝的測試者群體,和Master幾乎是一樣的。在眾多學習AlphaGo的圍棋AI開發團隊中,目前隻有絕藝達到瞭這個成就。
和Master一出來就天下無敵不同,絕藝有著明顯的棋力上升軌跡,經過數次下線開發升級。Master忽然出來對高手們排隊密集敲悶棍,能提升神秘感,但未免顯得重保密、輕交流,是圍棋局外人的做法。AlphaGo的開發思想是,棋力提升靠人類棋譜以及海量自我對局就可以瞭,不需要真和人下。和人類高手對戰,隻是確認機器的棋力,不是用來提升機器實力,也不是幫高手漲棋。
而絕藝卻明顯走瞭另外一個技術路線,積極和人類高手對戰。無論是勝多還是敗多,盡量從中發現問題,快速解決後又出來下棋,循環開發。這個路線顯然更為親民,也給高手們更多觀察的機會,自身弱點暴露得更充分,神秘感不多。如果以後絕藝有機會與AlphaGo進行“機機大戰”,它將以“圍棋界自己人”的身份,與“局外人”AlphaGo對戰,而且感覺這一天的到來並不遙遠。我肯定希望絕藝獲勝,相信這也是多數棋界人士的願望。
此前從未有這樣高水平的AI與高手們持續作戰數月,絕藝清晰的戰績軌跡,有助於我們理解圍棋AI的特性,甚至人類高手自己的特性,也可以讓我們對Master的無敵戰績加深理解。
絕藝最初打出名頭,是靠20秒的快棋。這是高手們在弈城、野狐等網站上練習時的標準時間配置,三次20秒讀秒。高手們認為20秒時間足夠思考瞭,絕大多數棋都在20秒內下出,關鍵時候才會用掉一次讀秒。有的高手甚至認為20秒長瞭,下15秒甚至10秒的快棋。棋手們普遍認為自己快棋水平不比慢棋差多少,就差一先,有的甚至感覺實力差不多。孟泰齡在下棋的同時還能清楚地錄制解說,大多數是20秒的對局,中間還跑去收快遞盒飯。高手們20秒對戰搞得有模有樣,有時還戰得很精彩。
但是絕藝的20秒,早在2016年12月高手們就擋不住瞭,基本可以肯定不是絕藝的對手,硬來就是樸廷桓式的五連敗。絕藝證明瞭高手們的20秒是充滿瞭錯誤的低質量對局。中國棋院院長王汝南說:“騰訊搞的人工智能圍棋,20秒一步,職業高手們不好對付”,就是這個意思。
20秒還是更長時間,對絕藝以及Master的棋力毫無影響,因為它們都會在10秒內出手沒有區別。但是對人類來說,20秒是絕對不夠用的,真正能用於思考的時間很少。對方落子以後,人先要理解對方下的棋。預料之中的可能花個2秒就夠瞭,出乎預料的,就要花更長時間去建立棋感。20秒的棋,到10秒就開始有讀秒聲,其實並不能怎麼專註思考,一不小心就要超時,需要早點想好招確認。真正有效思考推理的時間可能就是10秒左右,推不瞭多深,多半是憑感覺拍。之所以下得有模有樣,是因為下套路棋很熟。套路完瞭,後面會犯很多錯。
但雙方水平差不多用時都不夠,出錯未必能抓住,抓住瞭下一個局面又送回去,概率性地互相翻盤,圍觀的人也沒時間發現這些錯誤。即使是網棋水平最高的柯潔、樸廷桓、范廷鈺等人,也不過是七成勝率,經常犯錯,水平高主要體現在勝率高一些。有時說不清是棋更熟,還是真的對圍棋理解更深。20秒的對局,主要培養的是棋感,以及快速計算的能力,但計算的深度廣度就談不上瞭,本質上是和業餘棋手差不多的“感覺行棋”。業餘棋手是沒有計算的能力,高手們下20秒就是主動搞極限運動瞭。
高手們面對絕藝,這個弱點暴露無疑。絕藝不用Master那麼高水平,但是發揮也足夠穩定,不會出簡單的錯招。高手們頓時顯得壓力極大,一出明顯的錯招一局可能就斷送瞭,而絕藝會毫不留情地抓住,“感覺行棋”明顯不行。絕藝雖然下得更快,但是計算機出身速度是本行,每招的計算都可以保證基本的水準。
2016年12月開始,絕藝主要和高手們下30秒的快棋。多出來的10秒時間很關鍵,相當於實質思考時間翻倍還多,時間多瞭心態也會好,能夠進行一些穩定計算瞭。高手們30秒的實力相比20秒明顯提高,在“感覺行棋”上也加入瞭相當多的計算驗證,能夠設計一些手段。這一段時間,柯潔對絕藝戰績明顯占優,曾連續獲勝,顯得對付AI很有辦法,高手們也經常能殺掉絕藝的大龍或者吃掉局部一塊棋獲勝。絕藝的弱點也暴露出來,局部死活搞不清,大龍的死活掉以輕心。柯潔在野狐看棋時透露瞭對付絕藝的心得:做大模樣,等它進來犯錯。
春節期間,絕藝也過年去瞭。假期結束後,絕藝似乎修復bug得力,棋力明顯上升,對高手們30秒戰績提升明顯。從2 月14日開始到3月5日,柯潔對絕藝慘遭13連敗,對局時心態明顯變異,經常很快就輸掉瞭。這也可能是柯潔在試一些特殊招法,但絕藝對高手們的30秒戰績顯然是壓倒性的。絕藝的進步,讓高手們的30秒又顯得時間不夠瞭。
看到絕藝的出色戰績,可能是出於宣傳目的,野狐適時地推出瞭升10段的規則。
靜電機
成為10段後,絕藝又與高手們下瞭一陣子30秒,仍然是9成勝率。因此3月5日之後,絕藝與高手們都是下60秒的對局。每步棋60秒,這給高手們相當大的時間自由,能夠進行的思考要深入多瞭。在高手們的正式對局中,這是常見的情形。有些喜歡長考的高手早早進入1分鐘讀秒,但面對時間充裕的對手一直能頂住,對局質量很高。
60秒的棋,人類高手算是拿出真本事和AI對局瞭。Master的60連勝基本是20、30秒的,隻有對聶衛平給瞭60秒。面對Master的不拘一格的新手,高手們根本沒有時間反應,往往一個局部就吃大虧,整局再無機會。看到新手,心裡本來就有壓力,又隻有30秒,還不知道對手要幹啥。應對的選擇會有幾個,根本沒時間細算,連感覺一下時間都不夠,多半是胡亂蒙一招瞭,很容易吃虧。
Master對人類高手的壓迫主要就是兩個,一是時間攻勢,二是新手攻勢。事實證明,幾乎沒有高手能頂住。我認為人類高手輸得其實有些冤,因為平時正式對局有1-3個小時思考時間,Master式的新手肯定出現在開局,人類高手會有充足時間去仔細琢磨,不可能象網上對局這樣20、30秒就得下。人類高手正式對局也不時下出新手,但對方一看是新手,就會仔細琢磨,一般能找出妥善應對,很少被新手擊潰。如果也是20、30秒就被逼下子,新手多半會很成功。
可以承認Master的思維方式和人類高手不一樣,把圍棋佈局與局面評估藝術帶到瞭人類高手不曾想到的新境界。在職業棋手開局嚴重套路化千篇一律之時,這一股新風無比珍貴。但是不能說Master的新手,或者截然不同的佈局風格,人類就無法應對。如果給人類高手多一些時間應對新手,同時主觀上提升對佈局的思考,不再機械地擺“常形”,那麼人的表現會好得多。不說戰勝Master,至少能逼出Master更多本事。現在Master就靠“新思維”,在佈局階段就打敗瞭人類高手,這是很遺憾的。因為這是人類的思考時間不夠,太可惜瞭。如果能看到Master在復雜死活、復雜劫爭、大對殺、耍大龍等局面的表現,無疑會更為精彩,這也是圍棋藝術必不可少的精華。
如果再大膽一點,或者說為瞭人類棋手鼓勁,可以提出一個猜想:
AlphaGo比人類主要強在思考速度快、佈局理念創新、局面評估準確、水平穩定。但是一些復雜死活、復雜劫爭、大對殺局面,AI搜索算法有本質困難,人類卻能發揮邏輯推理的優勢,比AI表現更好。可能的情況是,AlphaGo團隊尚未給出解決復雜死活、復雜劫爭、大對殺問題的可信算法,但把局面評估上的優勢做到遠超人類的程度(還通過把對局時間限制在20、30秒極度放大瞭這些優勢),成功掩蓋瞭這些弱點。
而絕藝和高手們60秒對局的表現,似乎能對這個猜想提供一些證據。60秒對局,絕藝的勝率從30秒時的90%下降到60-70%,經常連輸。相當於人類高手的勝率從10%升到瞭30%-40%,勝局數增加兩三倍,表現大為好轉。
三、絕藝與圍棋AI的典型弱點
經常看絕藝下棋的棋友會知道,它主要是死活與對殺會出大問題。人類明顯能判斷對的問題,AI卻搞不清楚,忽然就顯得很笨。
這些弱點從算法上可以解釋。現在的高水平圍棋AI都是靠價值網絡與海量模擬至終局判斷局勢,優點是著眼於全局,評估比人類精確。但它的搜索框架中沒有“搞清楚局部死活”、“算清大龍死活”這種概念,也很難改良放進這些概念。
局部死活與對殺問題是,搜索樹展開時,有可能漏掉瞭局部死活與對殺的關鍵點,發生漏算,以為是活的其實是死的。而人類高手訓練有素,局部死活優劣會有感覺,能聚焦於局部集中計算去弄清楚。
2017年2月5日,絕藝執白對北海的早晨(范蘊若)
如上圖,范蘊若黑91擋住,絕藝認為白棋右邊一塊死活沒問題,脫先占瞭92位大棋。對黑97又應在98,導致黑99出手,做成瞭打劫殺。局部變化復雜,但是絕藝肯定應錯瞭。
2017年3月10日,絕藝執黑對clover77(尹峻相)
如上圖,絕藝黑45長出,白46飛。黑49封鎖,局部對殺黑死。雖然黑勉強算是棄子封鎖,但是主動送死這麼大一塊,還是有點過於慷慨瞭,而且51封鎖還是後手,黑棋形勢大差。這更象是絕藝局部誤算瞭。
2017年3月10日,絕藝執白對天選(柁嘉熹)
白右邊大塊與黑對殺,這個局面人類高手一眼就知道白棋對殺不利。但可能是手數比較多,白可以在外圍搞事,內部收氣次序也不簡單,絕藝算不清楚,還是走進瞭這個必輸的大對殺。
絕藝碰到的常見大龍死活的問題有兩種。一是大龍很長,“棋長一尺無眼自活”,雖然沒有明確兩眼,但殺棋要經過很多步,做活頭緒很多,殺棋容易失敗。二是開始隻是局部的一小塊棋,殺死它需要放出來跑成大龍,要經過非常多手。這兩種棋絕藝都傾向於認為是活棋,失去警惕,因為絕藝的策略網絡是學人類棋譜的,而棋譜中這種棋確實都是活的,譜中也不急於做活。
出現這種局面,人類高手會暗中佈子增加殺棋可能性,絕藝卻沒有發現危險最後被殺。這種殺棋步數遠超AI搜索展開樹的深度,展開完瞭之後靠快速走子終局也發現不瞭危險。模擬至終局是直線往下走,會忽略對手的殺著,對手圍殺時稍一松軟,大龍就做活瞭。人類高手會主動關註大龍的死活,遠處自己對於殺棋的幫助的勢力會有意去規劃,殺棋條件成不成熟有陰險的盤算。一旦人類高手判斷殺龍時機成熟,而AI卻沒有察覺,大龍被殺就會發生。絕藝的敗局中不少是大龍被殺,遠多於局部死活問題。
2017年3月8日,絕藝執黑對煉心(時越)
再如上圖,絕藝執黑左邊大塊被“場均一條龍”時越102點眼硬殺。最後大龍被殺的慘狀如下圖。
過過50多手的追殺,絕藝才確定大龍死掉的結局,上面中間黑白是雙活。但是時越在前面點眼的時候,就已經對殺棋有把握瞭。至少不會明顯漏算,發動追殺是時機比較成熟時才會做。而絕藝卻明顯對這類局勢判斷不清楚。
2017年3月10日,絕藝執白對北海靜電油煙處理機的早晨(范蘊若)
如圖,右邊白棋其實已經被殺瞭。但是由於黑外圍看似有很多弱點,白棋R11長再O9長,能夠到處沖擊,雖然最後還是被殺,但手數特別多,所以絕藝還是這麼下瞭。
2017年3月8日,絕藝執白對maker(樸廷桓)
絕藝90長出,被黑凌空一斷,下面到中間的一條大龍已經死瞭。但是要吃掉它也要經過很多手,還有打劫,中間黑的大龍也要跑,變化還是很多的。這種局面人類高手能判斷出白棋很危險,絕藝卻無知覺地陷入瞭絕境瞭。
絕藝60秒對人類高手的棋,很容易就找到不少出bug的例子。當人思考時間相對充分的時候,這類局面發生的概率大增。這說明絕藝還是有很多bug。之前因為絕藝在20-30秒對人類高手的壓倒性戰績,人們認為它已經有AlphaGo戰勝李世石的V18版本的水平。現在看來人類高手思考時間一長,絕藝的Bug概率明顯上升。絕藝還不一定有V18的水平,因為V18下的是慢棋。另一方面,對Master的60局棋,人類高手的表現要重新評估,20-30秒人實力降瞭非常多,Master的壓倒性勝利可能更多是時間因素。
絕藝除瞭復雜死活與對殺是棋藝弱點,還顯然在佈局創新上與Master差距很大。它還是學習人類棋譜佈局的感覺,隻是比較犀利,出手狠辣,有機會就挑起戰鬥占高手的便宜。而Master有不少讓人眼前一亮,甚至完全想不到的佈局新手與構思,在局部簡單幾個定型選擇,人類高手在全局配置就吃瞭大虧,這種能力絕藝還沒有。
通過與絕藝的數百局對戰,人類高手對高水平圍棋AI的瞭解確實加深瞭很多。雖然Master的底還沒有摸到,但人類並非毫無希望。絕藝的那些bug,理論上AlphaGo的早期版本肯定也有,V18對李世石也暴露瞭一次。後面Master沒有出這些bug,但可能是因為靠時間攻勢與新手優勢早早控制瞭局面,人類沒有找到機會摸進Master的bug區間。
如果之後柯潔等人類高手在慢棋中,或者絕藝繼續進步,能夠頂住AlphaGo的佈局,將局面導入復雜,逼出AlphaGo的算法局限,這將是非常激動人心的進展。
2017年的3月開始的世界棋壇,將因為眾多高水平AI的表現而無比精彩,我們會滿懷期待地等待。
本文系觀察者網獨傢稿件,文章內容純屬作者個人觀點,不代表平臺觀點,未經授權,不得轉載,否則將追究法律責任。關註觀察者網微信guanchacn,每日閱讀趣味文章。
- 靜電機保養 【專家推薦】餐廳業者安裝推薦,有了靜電機做生意油煙問題免煩惱
- 靜電機保養 【mobile01】惱人的油煙問題~我們幫您解決
- 靜電除油煙機價格 【專家推薦】烘咖啡豆味道四處飄散嗎?靜電機解決您的困擾~
AUGI SPORTS|重機車靴|重機車靴推薦|重機專用車靴|重機防摔鞋|重機防摔鞋推薦|重機防摔鞋
AUGI SPORTS|augisports|racing boots|urban boots|motorcycle boots
文章標籤
全站熱搜
留言列表