山岡忠夫Homeで公開しているプログラムの開発ネタを中心に書いていきます。年末にCPUを3970Xに変えてから、USIエンジンをリーグに加えた強化学習を行っている。USIエンジンを各探索スレッドにつき2つ、GPUにつき探索スレッドを3つ、3GPUで探索を行っているので、合計18プロセス起動している。メモリの制約が厳しくこれ以上は起動できなかった。リーグの構成は、1/8はUSIエンジンと対局して、残りは自己対局を行っている。1手500msだと局面生成速度は、リーグなしと比べて7割くらいになる。USIエンジンには、elmo(WCSC28)を使用した。※GPU使用率にCUDAの使用率は反映されていない。リーグ戦の効果測定リーグ戦を開始してから、途中でdropoutを削除する変更と、未探索ノードの初期値の変更を行ったため、リーグ戦のみの効果は測定できていないが、リーグ戦導入後の損失、floodgateの棋譜に対する正解率、USIエンジンに対する勝率は以下のようになった。考察リーグ戦を開始したモデルは、既に200サイクル学習したモデルで、テスト損失はほぼ横ばいになっていた。リーグ戦で学習するとテスト損失は上昇傾向がある。210epochで急に上昇しているのは、dropoutを削除したためである。それ以外の区間ではやや上昇している。方策の正解率は、0.3%程上昇している。価値の正解率は、ほぼ横ばいである。テスト損失が上がって、正解率が上がるという結果からは良くなっているのか悪くなっているのか判断がつかない。USIエンジンとの勝率は、218epochで未探索ノードの初期化方法を変えたことで大幅に上昇した。それ以外の区間でも少しずつ上昇している。61.4~79.4%だったので、強くなっていそうである。1枚Apery(4コア(8スレッド))と互角の強さになっていた。まとめUSIエンジンをリーグに加えて強化学習を行った効果かは追加で検証しないとわからないが、他の変更の効果も合わせて、Apery(WCSC28)と互角レベルの強さにすることができた。MCTSは終盤が弱いという課題も克服できつつあると思う。追記やねうら王のEvalShareオプションをtrueにすると、メモリ使用量を減らせることに気付いた。設定すると、コミット済みが119GBだったが、84GBまで減った。メモリに余裕ができたので、USIのプロセスを探索スレッドあたり3に増やした。局面生成速度は、数%速くなった。その9(千日手対応)dlshogiを千日手に対応させました。対応方法は以下の通り。»プロフィールid:TadaoYamaokaスマホアプリ開発とディープラーニングを使った将棋ソフトの開発を行っています。読者になる将棋AIネタはコンピュータ将棋におけるディープラーニングの考察からどうぞ。)はてなブログをはじめよう!TadaoYamaokaさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。