人人都可跑 AlphaGO Zero

如今人工智慧崛起,各式各樣的AI產品不斷的推陳出新,而領先世界潮流的正是Google 收購的公司 DeepMind,自從AlphaGo打敗李世石之後,全球圍棋界為之震驚,但DeepMind沒有停止研究腳步,過一陣子就創造出更強的圍棋程式Master,在圍棋網站上痛宰60個圍棋九段頂尖高手,不久之後更強的圍棋程式AlphaGoZero出現了,不像從前的版本是靠人類的棋譜學習的,AlphaGoZero像武俠小說的周伯通一樣學習左右互博術,僅僅依靠唯一的圍棋規則就可自我學習並變得越來越強,甚至還推翻了流行近代的定式,就連目前最頂尖的職業棋士-柯潔都自嘆不如,原本Google是不打算開源程式原始碼的,但他們有發論文在科學雜誌上,頂尖高手馬上就複製一個同樣的演算法出來讓大家免費使用。

論文:Mastering the Game of Go without Human Knowledge – DeepMind

今天小編要介紹給大家的是網路上開源的圍棋電腦軟體 Leela,有各式各樣的版本

Leela的官方網站:https://www.sjeng.org/leela.html

總共有兩種版本的,一個為GPU,另一個是普通版,小編稍微測試過在圍棋網上可輕鬆輾壓段位高手

不過這不是小編要介紹的重點,小編今天要介紹的是另一款開源程式Leela 進化版—Leela zero

Leela zero 是比利時的工程師模仿AlphaGo Zero 開發出來的,作者說如果以他的計算資源要跑出和AlphaGo一樣的強度要運算1700年!!,因此作者突發奇想把程式開源,利用大家的電腦幫他收集棋局,然後就可加快這個過程,只要點選autogtp.exe電腦就會自行下載最新的訓練權重,然後電腦就用這個權重讓兩隻機器人互打創造出新的棋譜並上傳到伺服器上幫助訓練,如果你們的電腦有空閒的時間的話也可以幫忙蒐集資料喔。

Leela Zero 載點

下面的連結可以看到最新的訓練情況,可以看到leela zero可是時時在不斷進步著,在最近騰訊舉辦的人工智慧大賽可以看到Leela zero取得不錯的成績呢,僅僅輸給騰訊開發的絕藝而已,希望未來能在總決賽能夠獲得不錯的成績

http://zero.sjeng.org/home

http://zero.sjeng.org/matches

這個連結可以看到最新的對局訓練,兩隻機器人會相互對打400局,只要勝率大於55%那麼網路就會換成這個版本,一直這樣不斷的輪迴訓練,因此每次的網路會比一次一次更強

下面這個網站可以下載最新的網路權重下來

http://zero.sjeng.org/network-profiles

下面這個網站可以下載最新網路權重的對弈棋譜,對於高段選手來說是很好提升自己棋力的圍棋教材,對於普通人來講(像小編我)可能就不太適合了 哈哈,下的棋我都看不懂啊~ 吶喊~~

http://zero.sjeng.org/self-plays

Leela zero作者目前還沒有做出leela zero的視窗化界面,不過作者推薦可以用其他的開源軟體 sabaki來載入權重執行,底下就來教大家如何使用吧

[sabaki 官網]https://sabaki.yichuanshen.de/

首先必須要認識一些參數,到資料夾開啟命令提示元並輸入leelaz -h就可以顯示出該程式所擁有的參數,經由調整參數就可以調出強度不一樣的機器人出來,比較常用的有以下幾個參數

-gtp: 代表開啟GTP(Go Text Protocol),這是一個大家規範好的圍棋輸出格式,只要符合這格式就可以將你的程式上傳到KGS 伺服器上來和其他的圍棋程式對打

-t : 代表開啟CPU的核心數目

-p -v:都是代表探索的節點數,不同的地方在於playouts不管過去的歷史探索每次都會新增出新的你所設置的節點數,,而visit會把過去的探索記下來並只會讓節點數保持固定,因此,如果設置成visit的話,假設對手的應對符合演算法所計算的,演算法就能很快的給出應有的答案。visit 是後來作者新增的新功能,作者建議的參數是3200,大家可以自行按照需求調置

-w : 代表選擇的網路權重設置

用sabaki載入權重非常簡單,只要按下上面的Engines,然後再按Manage Engines,就可以設置各式各樣不同的機器人,並且讓他們對打囉!!

按下左下角的add按鍵就可以開始設定參數了,第一行是輸入機器人的名稱,第二行需給他leelaz.exe的位置,第三行輸入剛剛所介紹的參數,第四行可以設定初始指令,小編目前只知道可以輸出time_settings來限制機器人每一手的思考時間

下面是小編設置leela zero 10K機器人的範例,小編使用visit 1600,四核心CPU並設置5秒一手的設置

設置完機器人後就可以按左上角的new game來對打囉

下面這個連結可以大概的對照各個網路版本對應到的不同強度

https://www.reddit.com/r/cbaduk/comments/7jx8tv/the_ranking_of_lzero/

在KGS上有人已經創造了一個帳號叫做petgo3的機器人,網路來源即是leela zero的權重,目前被KGS評斷為七段

http://www.gokgs.com/gameArchives.jsp?user=petgo3&year=2018&month=7

參考資料:

1.http://shaurong.blogspot.com/2018/03/leela-zero-013-sabaki-v0333.html

2.http://www.kenming.idv.tw/let-go-ai_as_the-go-review-partner/

3.https://www.kenming.idv.tw/leela-zero_facebook-elf-opengo_grp/

4.http://shaurong.blogspot.com/2017/09/sabaki-v0313-gnu-go.html

5.Face book訓練權重

5 1 vote
Article Rating
Subscribe
Notify of
guest

2 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
謝劭謙
謝劭謙
1 month ago

請問一下Leela是否與alphago master一樣強大?

darwin
Admin
1 month ago
Reply to  謝劭謙

Leela 我也試過喔,的確很強大,不過我目前覺得最厲害的應該是katago ,不只可以算輸贏還可以算出輸贏多少目