日韩 亚洲一区二_久久vs国产综合色大全_国产精品福利在线_欧美在线一级A片免费观看欧美在线_女同性毛片60分钟

您現(xiàn)在所在的位置:首頁(yè) >關(guān)於奇酷 > 行業(yè)動(dòng)態(tài) > 「人機(jī)大戰」受矚目,Python簡(jiǎn)易版AlphaGo領(lǐng)略智能魅力

「人機(jī)大戰」受矚目,Python簡(jiǎn)易版AlphaGo領(lǐng)略智能魅力

來(lái)源:奇酷教育 發(fā)表於:

  如今,人工智慧的勁風(fēng)勢(shì)不可擋,甚至在政府報(bào)告上都劃(huà)為重點(diǎn)。回顧2016年人工智慧界的頂級(jí)盛事,人機(jī)圍棋大戰絕對(duì)榜上有名。面對(duì)人類(lèi)棋

  如今,人工智慧的勁風(fēng)勢(shì)不可擋,甚至在政府報(bào)告上都劃(huà)為重點(diǎn)。回顧2016年人工智慧界的頂級(jí)盛事,人機(jī)圍棋大戰絕對(duì)榜上有名。面對(duì)人類(lèi)棋手的失利,從2017年伊始,再度出山的AlphaGo化名Master在網(wǎng)絡(luò)圍棋平臺(tái)上已經(jīng)打遍棋界無(wú)敵手,而5月23日-27日,在中國(guó)最負(fù)盛名的水鄉(xiāng)古鎮、世界網(wǎng)際網(wǎng)路大會(huì)永久會(huì)址--浙江烏鎮,中國(guó)圍棋協(xié)會(huì)將攜手谷歌共同舉辦“中國(guó)烏鎮圍棋峰會(huì)”,人工智慧和人類(lèi)棋手的對(duì)決將作為峰會(huì)的一個(gè)重要環(huán)節(jié)亮相,谷歌AlphaGo將對(duì)決圍棋世界冠軍中國(guó)棋手柯潔。
  無(wú)論結(jié)果如何,這場(chǎng)人機(jī)大戰必然會(huì)被載入史冊(cè)。作為現(xiàn)階段人工智慧的最高成就,AlphaGo一直十分受人矚目。雖然目前GOOGLE公司並未向外公布AlphaGo的程式語言,但提起人工智慧、深度算法,人們第一個(gè)想到的自然是Python語言,GitHub一名用戶(hù) Brian Lee(brilee)就發(fā)布了一款用Python實(shí)現(xiàn),效仿 AlphaGo的極簡(jiǎn)圍棋引擎。
  這是 AlphaGo 基本組成部分的一個(gè)純 Python 實(shí)現(xiàn)。
  就已經(jīng)公開(kāi)的數(shù)據(jù)所知,AlphaGo在對(duì)弈過(guò)程中使用了三個(gè)神經(jīng)網(wǎng)絡(luò)。
  第一個(gè)神經(jīng)網(wǎng)絡(luò)是一個(gè)速度很慢但很準(zhǔn)確的策略網(wǎng)絡(luò)(policy network)。這個(gè)網(wǎng)絡(luò)被訓(xùn)練用來(lái)預測(cè)人類(lèi)的走子(大約 57% 的準(zhǔn)確度),它會(huì)輸(shū)出一個(gè)可能走子的列表,並且每一種走子方式都對(duì)應(yīng)了一個(gè)概率。這個(gè)網(wǎng)絡(luò)為蒙特卡洛樹搜索(MCTS)提供了可能的走子起點(diǎn)。這個(gè)神經(jīng)網(wǎng)絡(luò)很慢的一大原因是它具有很大的規(guī)模,這是因為這個(gè)神經(jīng)網(wǎng)絡(luò)的輸(shū)入是圍棋棋盤(pán)上的各種計(jì)算成本高昂的屬性--氣的數(shù)量、叫吃、徵等等。
  第二個(gè)神經(jīng)網(wǎng)絡(luò)也是一個(gè)策略網(wǎng)絡(luò),它比第一個(gè)更小更快,但準(zhǔn)確度更低(大約 24%),這個(gè)網(wǎng)絡(luò)並不使用複雜的屬性作為輸(shū)入。一旦到達(dá)了當(dāng)前 MCTS 樹的葉節(jié)點(diǎn)(leaf node),這個(gè)第二個(gè)更快的網(wǎng)絡(luò)就會(huì)被用來(lái)得到一個(gè)棋盤(pán)局面的可能走子,並且對(duì)這個(gè)這個(gè)最終局面進(jìn)行評(píng)分。
  第三個(gè)神經(jīng)網(wǎng)絡(luò)是一個(gè)價(jià)值網(wǎng)絡(luò):它為棋盤(pán)輸(shū)出一個(gè)預期獲勝的範圍,而不會(huì)自己下任何棋。然後,將使用第二個(gè)神經(jīng)網(wǎng)絡(luò)的蒙特卡洛得到的結(jié)果和使用第三個(gè)神經(jīng)網(wǎng)絡(luò)的價(jià)值計(jì)算結(jié)果進(jìn)行平均,然後這個(gè)值被記為該 MCTS 節(jié)點(diǎn)的近似結(jié)果。
  開(kāi)始
  安裝 TensorFlow
  開(kāi)始需要安裝 TensorFlow,並使用 GPU 驅動(dòng)器(即英偉達(dá)顯卡的 CUDA 支持)
  獲取用於監(jiān)督學(xué)習(xí)的 SGF
  接下來(lái)需要一個(gè) SGF 文件源。你可以在 https://u-go.net/gamerecords 獲取 15 年時(shí)長(zhǎng)的高段位對(duì)局數(shù)據(jù)。你也可以從其它來(lái)源下載專(zhuān)業(yè)比賽的資料庫(kù)。
  預處理 SGF
  第三,對(duì)你的 SGF 文件進(jìn)行預處理。這需要 SGF 文件中的所有局面並提取出每一個(gè)局面的特徵以及記錄正確的下一步走子。
  然後將這些局面分割成塊(chunk)--一塊用於測(cè)試,其它的都用於訓(xùn)練。這個(gè)步驟需要一定時(shí)間,而且要是你修改了 features.py 文件中的特徵提取步驟,你還需要重新預處理。
  python main.py preprocess data/kgs-*
  註:這句代碼用了通配符,比如說(shuō):KGS 目錄可以名為 data/kgs-2006-01、data/kgs-2006-02 等等
  監(jiān)督學(xué)習(xí)(策略網(wǎng)絡(luò))
  使用上面預處理過(guò)的 SGF 數(shù)據(jù)(默認(rèn)輸(shū)出目錄是 ./processed_data/),你可以訓(xùn)練策略網(wǎng)絡(luò)。
  python main.py train processed_data/ --save-file=/tmp/
  網(wǎng)絡(luò)訓(xùn)練好了之後,當(dāng)前模型會(huì)被保存在 --save-file。你可以通過(guò)如下代碼繼續(xù)訓(xùn)練這個(gè)網(wǎng)絡(luò):
  python main.py train processed_data/ --read-file=/tmp/savedmodel
  --save-file=/tmp/savedmodel --epochs=10 --logdir=logs/my_training_run
  此外,你也可以使用 TensorBoard 跟蹤你的訓(xùn)練過(guò)程--如果你為每一次運(yùn)行定義了一個(gè)不同的名字(如:logs/my_training_run、logs/my_training_run2),你可以將這些運(yùn)行彼此重疊起來(lái):
  tensorboard --logdir=logs/
  與 MuGo 對(duì)弈
  MuGo 使用了 GTP 協(xié)議,你可以通過(guò)任何兼容 GTP 的程序來(lái)使用它。要調(diào)用原始策略網(wǎng)絡(luò),使用如下代碼:
  python main.py gtp policy --read-file=/tmp/savedmodel
  要調(diào)用集成了 MCTS 的策略網(wǎng)絡(luò)版本,使用:
  python main.py gtp mcts --read-file=/tmp/savedmodel
  通過(guò) GTP 下棋的一種方式是使用 gogui-display(它有一個(gè)兼容 GTP 的 UI)。你可以在 http://gogui.sourceforge.net/ 下載 gogui 工具套件。參見(jiàn) http://gogui.sourceforge.net/doc/reference-twogtp.html 了解使用 GTP 的有趣方式。
  gogui-twogtp -black 'python main.py gtp policy --read-file=/tmp/savedmodel' -white 'gogui-display' -size 19 -komi 7.5 -verbose -auto
  另一種通過(guò) GTP 玩的方式是對(duì)抗 GnuGo,同時(shí)還能觀(guān)看比賽:
  BLACK="gnugo --mode gtp"
  WHITE="python main.py gtp policy --read-file=/tmp/savedmodel"
  TWOGTP="gogui-twogtp -black \"$BLACK\" -white \"$WHITE\" -games 10 \
  -size 19 -alternate -sgffile gnugo"
  gogui -size 19 -program "$TWOGTP" -computer-both -auto
  還有一種玩法是通過(guò) GTP 連接 CGOS(http://yss-aya.com/cgos/ 計(jì)算機(jī)圍棋在線(xiàn )伺服器)。由 boardspace.net 運(yùn)營(yíng)的 CGOS 伺服器已經(jīng)關(guān)閉了;你需要在 yss-aya.com 接入 CGOS 伺服器。
  配置好了你的 cgos.config 文件之後,你可以通過(guò) cgosGtp -c cgos.config 連接到 CGOS,以及使用 cgosView yss-aya.com 6819 查看你自己的遊戲。
  從結(jié)果來(lái)看,使用Python實(shí)現(xiàn)的這款引擎雖然不能與AlphaGo相提並論,但也實(shí)現(xiàn)了圍棋的部分基本功能。這也再次說(shuō)明了,Python是人工智慧、深度學(xué)習(xí)開(kāi)發(fā)語言的不二之選。奇酷教育Python高級(jí)開(kāi)發(fā)培訓(xùn)班,0元入學(xué),先就業(yè)後付款;一周免費(fèi)試聽,不滿(mǎn)意不繳費(fèi);完善的就業(yè)服務(wù)體系,保障就業(yè)。在這裡,你不光能夠學(xué)會(huì)如何編寫(xiě)程序,還能夠學(xué)會(huì)如何編寫(xiě)高質(zhì)量的程序,一躍成為專(zhuān)業(yè)的工程師!
  奇酷教育原創(chuàng)開(kāi)發(fā)的Python培訓(xùn)課程http://www.qikuedu.com/不僅涵蓋Web前後端開(kāi)發(fā)和網(wǎng)絡(luò)爬蟲(chóng)技術(shù),還包括獨(dú)有的數(shù)據(jù)分析和機(jī)器學(xué)習(xí),前端、服務(wù)端一網(wǎng)打盡。可從事Web前端、Web服務(wù)端、伺服器運(yùn)維、網(wǎng)絡(luò)爬蟲(chóng)、大數(shù)據(jù)分析、機(jī)器學(xué)習(xí)等多種熱門(mén)職業(yè),學(xué)員百分百高薪就業(yè)!