概率分布間的比較不遵從加減乘除法則,而需要通過“顯著性檢驗”來完成;
兩著棋勝率差距小于1%,說明二者勝率完全相同;兩著棋勝率差距大于5%,才說明二者勝率有區別;
相較于勝率,AI提供的新落子點背后的相關變化圖和思路,才是棋手最需要學習的東西;
人類的圍棋對弈并不“封閉”,許多與人有關的因素才是制勝關鍵;
保持思考,比跟誰學、學什么都重要。
成王敗寇是自古以來人類歷史的不變鐵律。
從AlphaGo的橫空出世到今天各路AI的八仙過海,當人機大戰的結果漸失懸念,職業棋手的權威性向AI的不斷轉移,自然成為了無可避免的必然趨勢。這種趨勢帶來的直接后果就是:越來越多的棋手,無論棋力高低,都開始選擇AI程序作為圍棋陪練甚至圍棋教練,并將AI推薦的著法奉若神明。
遙想數十年前,當剛剛起步的中國圍棋第一次接受來自日本圍棋全新的技術體系和戰略思想的沖擊和洗禮,棋界大多數人對高高在上的日本職業九段的每一句棋評也都如獲至寶。時隔多年,人們?足跪拜的對象從職業九段變成了AI軟件,可臉上的深信不疑是何等神似。這或許就是歷史的本質罷。
筆者無意從文化或道德層面對AI軟件介入圍棋學習進行評批判。相反,筆者也認為:合理適度地學習和借鑒AI提供的著法和思路,是今日棋手理應享有且不容錯過的人工智能時代的巨大紅利。可是,筆者想說:凡事都逃不開“過猶不及”四字。許多棋手(特別是水平相對較低的業余棋迷)對AI程序的盲目崇拜和無條件服從,是有內在的邏輯問題的。這其中,最容易被大眾誤解的一點就是:AI程序提供的落子勝率,是不能夠進行直接的相互比較的。
為使解釋盡可能通俗易懂,請讀者先完成下面這道看起來很簡單的數學選擇題。
[單選題]如上圖,當前局面頭緒眾多,復雜難解。使用某AI程序用分析模式跑一遍后,該程序給出了A-E五個可能的選點,每個選點的勝率值如下:A(54.1%),B(54.0%),C(53.7%),D(53.6%),E(47.5%)。假設此款AI程序棋力足夠強大,給出的各落子點勝率值與真實情況完全一致;那么,下列說法中正確的是( )。
A。 選點A的勝率(54.1%)最高,因此選點A是當前局面下的最善一手。
B。 選點A的勝率(54.1%)大于選點B的勝率(54.0%),這說明:下在A明顯比下在B好。
C。 選點A的勝率(54.1%)大于選點E的勝率(47.5%),這說明:下在A明顯比下在E好。
D。 AI還達不到圍棋上帝的高度,所以這些落子點和各自勝率值都毫無意義。
本題的正確答案是C。解題思路如下:
1。人工智能不是圍棋上帝。
在知曉一切的圍棋上帝眼中,任何一著棋的勝率都只有兩種可能:0%(輸)和100%(贏)。這應該很好理解,因為當貼目規則和當前局面棋子分布確定后,執黑和執白的兩位圍棋上帝在之后必然會“默契地”下出棋局接下來唯一的“最優解”。
正因今天的硬件水平不足以支持人工智能程序窮舉接下來局面的一切變化并最終得到“最優解”,科學家們在今天的圍棋AI中引入了“勝率”這個巧妙的切入角度和全新的評估方式。雖不知局部的最優解何在,但通過卷積、剪枝等深度學習的具體技術,我們可以給每一著棋按律“賦值”:經過人工規則篩選后的有限變化(可能是幾十萬或幾百萬個)中,有多少個變化終局結果為己方獲勝,便有多少百分比體現在其具體的勝率賦值中。從便于大眾理解的邏輯來講,人工智能的所謂“勝率”,依舊是一個簡化版的窮舉過程。因此,“該落子點的勝率是54.1%”這句話,其實表達的意思是:從當前局面下開始進行有一定邏輯規律的100萬次試次(例)后,有54.1萬次的最終結果是黑方取勝。
正因上述缺陷的存在,圍棋AI提出的落子勝率存在不可避免的天然缺陷。只要在哪怕幾十手后棋盤另一側的局部絞殺中出現任何一個看似細微的計算錯誤,AI對各處落子的勝率估計便立時要產生翻天覆地的變化。事實證明,除AlphaGo Master版本外,市面上常見的幾乎所有圍棋AI都存在各種各樣的死活bug(或稱人類棋手世界觀中的“誤算”),而其中的任何一個都可能對AI對當前局面的評估和判斷造成難以估量的偏移和錯位。
2。題干中的勝率
“54.1”從本質上講并不是一個阿拉伯數字,而是一個龐大的概率分布。
當讀者理解圍棋AI中所謂“勝率”的含義,就為接下來的比較過程打下邏輯基礎。A、B兩著棋的勝率54.1%和54.0%之所以不能進行直接比較,便是因為所謂的“54.1”或“54.0”并不是一個單純的阿拉伯數字,而分別代表著兩著棋以后各自進行的一百萬次試次得到的結果——一個由1或0(即勝或負)組成的龐大集合。54.1和54.0這兩個數字分別對各自代表的兩個集合進行了某個維度的歸納總結,但這顯然不能代表這個由一百萬個數字組成的集合的全部屬性。
3。兩個概率分布之間的比較,不適用加減乘除四則運算。
當我們想對兩個各自由一百萬個數字組成的集合進行差別比較時,單純的加減乘除四則運算是遠遠不夠的。在統計學中,“顯著性檢驗”是人們最常用的衡量兩個分布間是否存在差異的計算方法。在這里,筆者想嘗試用盡可能通俗易懂的語言來向沒有統計學背景的讀者解釋“顯著性檢驗”的基本含義:
(1)由于我們不是上帝,所以我們收集到的數據、看到的這一百萬個勝負結果,其實只是無窮多個變化中的一小部分;
(2)正因我們收集到的數據有限或不全面,所以我們以之來推斷這手棋是“好棋”還是“壞棋”,這個判斷是有可能出錯的。舉例來說,如果局部一共有一億種變化,其中有9900萬種變化的結果都是白勝,只有100萬種變化的結果是黑勝;但是,由于程序的此次隨機恰好“不小心”只抽取了那一百萬種黑勝的變化。那么我們根據手上“一百萬個變化都是黑勝”而做出的“這個局部這樣下黑棋好”的結論,與一億種變化的整體樣本的分布就產生了巨大的差別。
(3)“顯著性檢驗”就是一種衡量我們“出錯可能”的檢驗辦法。例如,通過具體參數的設置,我們可以調整顯著性水平p=。05,這表示:雖然我沒有辦法保證我做出的判斷一定正確,但我有95%的把握說我的判斷是正確的。
不光圍棋AI,人類科學的幾乎每個方面都會涉及顯著性檢驗的問題。人類總以自身有限的能力和數據去嘗試推斷世界龐大的運行規律,因此時刻都需要審視自己犯“管中窺豹”這類錯誤的可能。今天的科學界往往以p=。05作為通行的顯著性水平,這意味著:只要我們能保證實際生活中95%的情況都與我們掌握的樣本情況一致,我們就可以宣布自身的研究成果是“正確的”。
(4)顯著性檢驗的具體計算方法不是簡單地加減乘除,它涉及一個包含多項統計參數的復雜計算模型。(筆者很難用有限的篇幅徹底展開有關顯著性檢驗的全部知識,有興趣的讀者可自行查閱相關統計教材。此處從略。)如果樣本數據成功通過該模型的檢驗,我們就可以做出以下判斷:這兩組數據之間,的確存在明顯的區別。反之,如果沒有通過這個模型的檢驗,我們就會做出這樣的判斷:這兩組數據之間,不存在明顯的區別。
4。那么,兩手棋勝率差距多大才能達到顯著性水平?
接下來,我們需要解決“當兩手棋的勝率之差大到什么程度,我們就能下定決心宣布:這兩手棋的勝率的確有區別”這個問題。正如前文所述,顯著性水平的設置、樣本量和效應量等許多參數都會影響顯著性檢驗的結果,但經過大量經驗和相關練習,筆者可以總結出一個非常粗略的“圍棋AI勝率判別標準”:
對于目前市面上常見圍棋AI的變化數量級、顯著性水平和效應量而言,
落子勝率差在1%以內,說明“兩手棋的勝率肯定沒有區別,請你大膽任意選擇其一”;
落子勝率差在1%-5%之間,說明“由于AI能力所限,這個問題的答案它也不知道;你可以在實際對局中試一試,但AI覺得這兩手棋可能會有區別”;
落子勝率差大于5%,說明“兩手棋的勝率肯定存在明顯區別,高勝率落點肯定比低勝率落點好”。
所以,A(54.1%)和B(54.0%)雖然從字面的數學上多了0.1%,但從統計學意義上講,兩個分布是完全相等的。這在圍棋中意味著,AI認為,接下來黑棋下在A位或B位,勝率是完全一樣的。
細心的讀者可能已經忽然意識到上述判斷標準在AlphaGo
教學工具中的具體應用。在推薦的許多落子點中,有些落子點是用綠色標注的,有些落子點是用紫色標注的。這樣的設置其實就是一個非常明顯的顯著性水平的常用實例:兩個均為綠色標注的落子點雖然各自勝率小有差別,但從統計學意義上講它們 “勝率完全一樣”;而如果兩個落子點中一個為綠色、另一個為紫色,就說明“AlphaGo認為,綠色落子點比紫色落子點勝率高”。
因此,對于AlphaGo 教學工具而言,讀者只需要通過落子點顏色就可以判斷各落子點間的勝率差異。而對于那些UI沒做得這么好的圍棋AI,讀者就可以通過上文的“圍棋AI勝率判別標準”,對該AI推薦的各落子點勝率的差別有一個大致的感受和估測。
5。勝率并不是衡量一著棋好壞的決定因素。后續變化才是。
市面上主流的各款圍棋AI中,筆者目前最喜歡天壤的界面:因為在最近更新的版本中,天壤不僅會給出幾種彼此勝率接近的落子點,還會直接標明該落子點的后續五手變化。
勝率只是AI衡量落子點好壞的指標之一,而人類棋手能否從AI推薦的著法中取得收益,直接取決于對其后續變化掌握的多少。以前文的選擇題為例,選點A的勝率看起來還不錯,但只有棋手完全掌握其后續變化,才能在自己的對局中將這個“高勝率”轉化為實際的對局優勢。如下圖,
黑只有通過這般的正確應對,才能保證54.1%這個勝率的有效性。如果黑錯選了3位長的方向,或是在白14位尖封時退縮,那么先前的落點A勝率立時就要大幅下降,在對局中的實際效果甚至還遠遠不如掌握了D位落子后續變化的結果。通過AI從勝率角度切入得到的全新思路和變化,彌補人類棋手因思維慣性或思維定勢帶來的局限和空白,或許才是人類能夠從許多高級AI看似“不知所云”的奇怪著法中,學習到的最寶貴的東西罷。
因此,筆者想奉勸那些稍有落差便驚為天人如獲至寶愛不釋手不容置喙的棋迷朋友:不學習AI天馬行空背后的邏輯和變化,永遠只是葉公好龍;除了可能在與其他棋迷朋友喝酒吹逼時狐假虎威地稍占上風外,你將失去的,或許是這個時代最好的圍棋老師帶給你對圍棋的全新理解和認知。
死記硬背學不好圍棋,死記硬背更學不好AI的圍棋。
6。 人類眼中的最善一手,與上帝眼中的最善一手差別很大。
當關于勝率的討論更進一步,許多職業棋手已經開始進行全新的思考。用職業棋手的“黑話”來講:
如果說圍棋AI從技術層面提供的勝率是目(是目:在對局中很重要,可能影響最終的對局結果),那么:
贏多贏少是不是目?
對局時間是不是目?
變化多少是不是目?
給不是圍棋上帝的對方制造更多犯錯的可能,是不是目?
影響人類對局的因素實在太多,追求局部“最優解”或許是個別求道派的終極追求,但顯然未必是大多數棋手唯一的考量標準:
復雜的接觸戰中,當棋手已經看清局部的全部關鍵變化,是選擇勝率稍高的穩健落子以確保自身不犯錯誤,還是選擇勝率稍低的激進落子以爭取在局部獲得盡可能多的利益,為之后全盤的收束提供更多的退讓空間?
在時限較短(特別是沒有讀秒的包干制比賽)的對局中,棋手是選擇花三十分鐘全力算出局部最優解,還是通過五分鐘的簡單計算得到一個已經相對滿意的變化、并將剩下的時間投入到后半盤更加白熱化的斗爭中?
當前形勢的優劣會不會影響棋手對于各種變化的選擇?當局面優勢明顯時,勝率相對較低卻簡單粗暴的落子變化,會不會比勝率最高、但要求棋手局部應對必須精準無誤的落子變化更保險?當局勢已非,勝率最低但局面相對最混亂的落子變化,會不會因為給對手提供了更多犯錯可能,而更容易最終達成翻盤目的?
究竟是誰最早提出 “圍棋是封閉式的博弈”,并在現今成為棋界大眾的共識?太多經典對局都無數次地證明,棋手在對局中追求的往往不是“最優解”,而是“滿意解”。具備一定棋力的棋手在比賽中,一定要考慮到上述各種非圍棋技術層面的問題,才能在所謂“斗智斗勇”中占據上風,并最終取得對局的勝利。這些更廣義層面的博弈,絕非老師僅僅“照本宣科”就可以一股腦填鴨式傳給弟子的知識;只有通過經年累月的反復推敲和思考,才能形成自己的認識。局部的新變化固然要努力學習,但在實際對局中究竟應該選擇哪一種變化,絕不是簡單的勝率比較就可以草率敲定。一切最終又回到同一個落腳點:不斷拋棄成見、不斷努力求索的深入思考,才是棋手安身立命之根本。
當理清了這些思路,再回過頭去看文初的選擇題,讀者朋友們能否對四個選項的描述有更加清晰的認識呢?
你看,看似簡單的一道數學選擇題,都可以展開幾千字的延伸和探討。在學習所謂“人類智慧的最高峰”的圍棋時,單單記住一個勝率和結論,會不會同樣淺顯了一點?
當我們看到AlphaGo這個像星空一樣浩瀚的落子勝率分布圖時,單純死板地記住“應對天元時‘占小目’比‘占星’好”和“碰天元勝率比小飛掛天元高0.4個百分點”,會不會太暴殄天物了一點?對于那些愿意展開深入思考的頂尖職業棋手而言,這樣一個簡單的勝率分布圖帶來的啟發,或許就能在未來的某天為人類棋手開辟一個嶄新的世界;親手將這些美好的可能拒之門外,會不會太可惜了一點?
不論是向職業棋手問道還是向圍棋AI取經,筆者始終覺得:使自己產生以前沒有過的思考,才是圍棋予人最重要的成長。