丁香五月天婷婷久久婷婷色综合91|国产传媒自偷自拍|久久影院亚洲精品|国产欧美VA天堂国产美女自慰视屏|免费黄色av网站|婷婷丁香五月激情四射|日韩AV一区二区中文字幕在线观看|亚洲欧美日本性爱|日日噜噜噜夜夜噜噜噜|中文Av日韩一区二区

您正在使用IE低版瀏覽器,為了您的雷峰網(wǎng)賬號安全和更好的產(chǎn)品體驗(yàn),強(qiáng)烈建議使用更快更安全的瀏覽器
此為臨時(shí)鏈接,僅用于文章預(yù)覽,將在時(shí)失效
人工智能 正文
發(fā)私信給彭博
發(fā)送

0

28 天自制你的 AlphaGo(二):訓(xùn)練策略網(wǎng)絡(luò),真正與之對弈

本文作者: 彭博 2017-01-25 21:33
導(dǎo)語:這篇我們安裝 TensorFlow,真正訓(xùn)練一下 AlphaGo v13 的 policy network,并且你還可以與它真正對弈。

雷鋒網(wǎng)注:本文作者彭博,Blink·稟臨科技聯(lián)合創(chuàng)始人。文章由雷鋒網(wǎng)整理自作者知乎專欄,獲授權(quán)發(fā)布,未經(jīng)允許禁止轉(zhuǎn)載。

上次我們介紹了圍棋基礎(chǔ)和如何搭建深度學(xué)習(xí)環(huán)境,這篇我們安裝 TensorFlow,真正訓(xùn)練一下 AlphaGo v13 的 policy network,并且你還可以與它真正對弈,因?yàn)榍皫滋煲呀?jīng)有網(wǎng)友在做可以運(yùn)行的 AlphaGo v13 的簡化版:brilee/MuGo。所以這個(gè)過程真的已經(jīng)很傻瓜化,毫不夸張地說,人人都可以擁有一只小狗了,只要你把棋譜喂給它,它就能學(xué)到棋譜的棋風(fēng)。(本文是給大家快速找到感覺,后續(xù)我們會(huì)從頭寫代碼,因?yàn)檫@位網(wǎng)友的代碼真的很多 bug)

如果還沒有裝 CUDA 等等,請看前一篇《28 天自制你的 AlphaGo(一)》裝好,記得把 cudnn 解壓到 CUDA 的目錄。TensorFlow 最近開始原生支持 Windows,安裝很方便。

一、Windows 的安裝

  • 1. 在上一篇我們裝了 Anaconda Python 2.7,而 TensorFlow 需要 Python 3.5,不過兩者在 Windows 下也可以共存,具體見:Windows下Anaconda2(Python2)和Anaconda3(Python3)的共存

  • 2. 按上文切換到 Python 3,然后一個(gè)命令就可以裝好:tensorflow.org/versions/。例如 GPU 版本目前是:pip install --upgrade storage.googleapis.com。但是,你很可能會(huì)遇到 404 錯(cuò)誤,那么可以把這個(gè)文件用迅雷下載下來,然后 pip install 文件名 即可。

  • 3. 裝完后檢驗(yàn)一下。首先進(jìn) python 然后 import tensorflow 然后 hello = tf.constant('Hello, TensorFlow!') 然后 sess = tf.Session() 然后 print(sess.run(hello))。

  • 4. 然后 python -m tensorflow.models.image.mnist.convolutional 測試訓(xùn)練 MNIST 模型(一開始也會(huì)下載數(shù)據(jù)文件,比較慢)。

二、Mac 的安裝

再看看 Mac 的安裝。我是 OSX 10.11。

  • 1.首先 sudo easy_install pip 然后 sudo easy_install --upgrade six 然后 pip install tensorflow-gpu 即可。

  • 2. 可能需要再執(zhí)行 sudo ln -s /usr/local/cuda/lib/libcuda.dylib /usr/local/cuda/lib/libcuda.1.dylib ,否則 import tensorflow 會(huì)報(bào)錯(cuò)。

  • 3. 用一樣的辦法檢驗(yàn)一下安裝是否成功。

三、訓(xùn)練策略網(wǎng)絡(luò)

激動(dòng)人心的時(shí)刻到了,我們開始真正訓(xùn)練 policy network。下面都以 Windows 下面的操作為例。

1. 把網(wǎng)友做好的 AlphaGo v13 簡化版下載下來:brilee/MuGo 。然后 pip install 了 argh 和 sgf。注意 gtp 要額外裝:jtauber/gtp (下載下來后用 easy_install . 裝)。

2. 然后下載一些用于學(xué)習(xí)的棋譜。圍棋棋譜的通用格式是 SGF。比如,就下載 KGS 的對局棋譜吧:u-go.net 。我沒有統(tǒng)計(jì)過,不過上面大概有十萬局吧。從原理上說,棋譜越多,訓(xùn)練的質(zhì)量就越有保證;但是,棋譜中對弈者的水平參差不齊,如何控制這一變量,做過深度學(xué)習(xí)的朋友心中會(huì)有答案。本篇先不談技術(shù)細(xì)節(jié),我們先繼續(xù)走。

3. 下面提取棋譜的特征,并將其分類為訓(xùn)練集和測試集。先建立 data 子目錄,把 SGF 拷貝進(jìn)去。例如下載 2014 年的 13029 局棋譜,解壓到 data 下面是 kgs-19-2014,那么就執(zhí)行

python main.py preprocess data/kgs-19-2014

截至今天為止,你會(huì)發(fā)現(xiàn)它寫的 chunk 比預(yù)想少很多,所以生成的訓(xùn)練數(shù)據(jù)很少。具體來說,棋譜的讓子大于 4 會(huì)崩潰,棋譜沒有寫明貼目會(huì)崩潰,有時(shí)候棋譜里面的 [tt] 其實(shí)也代表 PASS,等等。做為作業(yè),請自己一個(gè)個(gè)修復(fù)吧! SGF 格式的說明在此:SGF file format FF

4. 再建立一個(gè) tmp 目錄,然后開始訓(xùn)練 1 個(gè)周期:

python main.py train processed_data --save-file=tmp\savedmodel --epochs=1 --logdir=logs\my_training_run

5. 你會(huì)發(fā)現(xiàn)策略網(wǎng)絡(luò)的預(yù)測準(zhǔn)確率開始從 0 慢慢上升了! 然后可以隨時(shí)繼續(xù)訓(xùn)練,比如說繼續(xù)訓(xùn)練 10 個(gè)周期就是:

python main.py train processed_data --read-file=tmp\savedmodel --save-file=tmp\savedmodel --epochs=10 --logdir=logs\my_training_run

28 天自制你的 AlphaGo(二):訓(xùn)練策略網(wǎng)絡(luò),真正與之對弈

6. 訓(xùn)練的時(shí)候,可以再開一個(gè)命令行,激活 python3,然后 tensorboard --logdir=logs 然后在瀏覽器打開 http://127.0.0.1:6006/ 可以看到訓(xùn)練的過程:

28 天自制你的 AlphaGo(二):訓(xùn)練策略網(wǎng)絡(luò),真正與之對弈

7. 一直訓(xùn)練到準(zhǔn)確率增加緩慢為止,應(yīng)該可以到接近 60%。

8. 測試一下走棋(如果你會(huì) GTP 協(xié)議):python main.py gtp policy --read-file=tmp\savedmodel 這是純網(wǎng)絡(luò)輸出。如果把 policy 改成 mcts 就是加入了蒙特卡洛樹搜索的,棋力更高(但是截至今天為止,你執(zhí)行會(huì)發(fā)現(xiàn)立刻退出,這位網(wǎng)友的程序 bug 真是太多了,我們以后再重寫)。

9. 如果不會(huì) GTP,還是下載 GoGui 圍棋圖形界面吧: Download GoGui from SourceForge.net 。然后執(zhí)行:"C:\Program Files (x86)\GoGui\gogui-twogtp.exe" -black "python main.py gtp policy --read-file=tmp\savedmodel" -white "C:\Program Files (x86)\GoGui\gogui-display" -size 19 -komi 7.5 -verbose -auto,但是截至今天為止,你會(huì)發(fā)現(xiàn)它很快就報(bào)錯(cuò)退出......

10. 這是因?yàn)榻刂两裉鞛橹梗a有個(gè) bug 是 strategies.py 的第 95 行的函數(shù)要改成 is_move_reasonable(position, move) 。然后......你親手制造的小狗就可以運(yùn)行了! 黑棋是小狗:

28 天自制你的 AlphaGo(二):訓(xùn)練策略網(wǎng)絡(luò),真正與之對弈

Behold,小狗已經(jīng)學(xué)會(huì)了守角! 不過現(xiàn)在他還特別弱,因?yàn)闆]有搜索,容易死活出問題。

11. 如果不會(huì)下圍棋,讓 GnuGo 來玩玩吧,下載鏈接:gnugo.baduk.org/,比如解壓到 C:\gnugo\gnugo.exe ,然后執(zhí)行:"C:\Program Files (x86)\GoGui\gogui.exe" -size 19 -computer-both -auto -program "C:\Program Files (x86)\GoGui\gogui-twogtp.exe -black ""C:\gnugo\gnugo.exe --level 1 --mode gtp"" -white ""python main.py gtp policy --read-file=tmp\savedmodel"" -games 1 -size 19 -alternate -sgffile gnugo -verbose" 即可。你會(huì)發(fā)現(xiàn)下到后面也會(huì)崩潰,如果打開 GTP Shell 看看,是因?yàn)樾」愤€無法理解對方的 PASS,哈哈。

于是,這篇就到此吧,我們下一篇見。

雷峰網(wǎng)特約稿件,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見轉(zhuǎn)載須知。

28 天自制你的 AlphaGo(二):訓(xùn)練策略網(wǎng)絡(luò),真正與之對弈

分享:
相關(guān)文章

專欄作者

Blink·稟臨科技 聯(lián)合創(chuàng)始人
當(dāng)月熱門文章
最新文章
請?zhí)顚懮暾埲速Y料
姓名
電話
郵箱
微信號
作品鏈接
個(gè)人簡介
為了您的賬戶安全,請驗(yàn)證郵箱
您的郵箱還未驗(yàn)證,完成可獲20積分喲!
請驗(yàn)證您的郵箱
立即驗(yàn)證
完善賬號信息
您的賬號已經(jīng)綁定,現(xiàn)在您可以設(shè)置密碼以方便用郵箱登錄
立即設(shè)置 以后再說