Skip to content

kobanium/aobazero

Repository files navigation

The text written in English is here.

おねがい

みなさん!将棋人工知能(AI)がゼロから学習し、強くなっていく過程を一緒に観察しませんか?
世界中から計算資源を獲得するために、ユーザ参加型のコンテンツを作成しました。
皆さま、オラたちに力をわけてくれっ!

集めた棋譜はAobaZeroのウェブページなどで公開しています。
GPUがあれば、より高速に棋譜を生成できます。 CPUだと10倍から100倍遅くなりますが、将棋をプレイして楽しむことは可能です。

AobaZero

AobaZeroは、AlphaZeroの将棋の実験の追試を行うことを最終目的とした将棋AIプロジェクトです。 AlphaZeroは、Silverら(2017b, 2018)が発表した強化学習のアルゴリズムの一種であり、 AIプレイヤの名前でもあります。 彼らが報告した将棋での実験結果は、ゲームルール以外の知識をほとんど持たないプレイヤが自己と対局し続けて、AIプレイヤelmoよりも強くなるというものでした。 これは非常に規模の大きな実験であり、追試を行うことは容易ではありません。 高性能なデスクトップゲーミングマシン1台で100年近い計算時間を要します。

Silverら(2017a, 2018)は囲碁やチェスでの実験結果も報告しています。 ユーザ参加型の追試実験は、囲碁のLeela Zero やチェスのLCZeroによって行われていて、 既に人間を超える棋力を獲得するということが再現されています。

棋譜の生成に協力してみたい

Windows用の実行ファイル(現在は64bit版のみです)

CPUだけのマシンは

aobazero-1.5-w64-cpu-only.zip

GPUがついたマシンは

aobazero-1.5-w64-opencl.zip

をダウンロード、展開して、中のclick_me.batを実行してください。

Linuxの方は

aobazero-1.5.tar.gz

を展開してmakeしてから

./bin/autousi

を実行してください。詳しくは同梱のreadme.txtをご覧ください。

将棋所で遊んでみたい

CPU版をダウンロードして、click_me.batを実行します。しばらくすると最新のネットワークの重みファイルをダウンロードして「self-play start」が表示されて棋譜の生成を開始します。すかさずCtrl + Cで停止させます。(signal 1 caught)が表示されて、しばらく待つと止まります。
weight_save/の下にw000000002184.txt という230MBほどのファイルが作られます。 (2184、の数値は異なります)

aobazero-1.5-w64-cpu-only.zipに同梱されているaobaz.batを編集します。最後の1行が以下のようになっています。

bin\aobaz -q -i -p 100 -w weight-save\w000000002184.txt

この2184の部分を実際にダウンロードしてきたファイル名に合わせて書き直し、保存します。 将棋所にaobaz.batをエンジンとして登録します。
"-p 100"の100を増やすと強くなりますが、思考時間が長くなります。 CPU版は100で5秒ほどかかります。GPU版は4000で3秒ほどかかります(GPUの性能に依存します)。

将棋所はusiエンジンを動作させる将棋用のGUIです。こちらで入手できます。 将棋所のページ https://shogidokoro.starfree.jp/

ShogiGUIで遊んでみたい

AobaZeroはShogiGUIでも動作しますがengineに送られてくる局面が初期局面からの手順(position startpos moves ...)ではなく、 現在局面のみ(position sfen ...)なので、過去7局面をNNの入力に必要とするAobaZeroの本来の実力は出せません。

ShogiGUIのページ https://shogigui.siganus.com/

Compileの仕方は?

こちらをご覧ください。

AobaZeroの紹介ページ

今までに作成した棋譜や重み、棋譜のサンプルなどを公開しています。
https://www.yss-aya.com/aobazero/

License

usiエンジンであるaobazはGPL v3です。それ以外はpublic domainです。
詳しくはaobazero-1.0.tar.gz内のlicensesをご覧ください。

Link

参考文献

  • D. Silver, et al. (2017a). Mastering the game of Go without human knowledge, Nature, 550, 354-359.
  • D. Silver, et al. (2017b). Mastering Chess and Shogi by Self-Play with a General Reinforcement Learning Algorithm, arXiv:1712.01815.
  • D. Silver, et al. (2018). A general reinforcement learning algorithm that masters chess, shogi, and Go through self-play, Science, 362, 1140-1144 (a preprint version is avairable online).