将棋AIで学ぶディープラーニング
価格: ¥0
※この商品は固定レイアウト型の電子書籍です。
※この商品はタブレットなど大きいディスプレイを備えた端末で読むことに適しています。また、文字列のハイライトや検索、辞書の参照、引用などの機能が使用できません。
※お使いの端末で無料サンプルをお試しいただいた上でのご購入をお願いいたします。
人より強い"将棋プログラム"を作ろう
将棋プログラムの作成を通してディープラーニングをより深く理解できる。
2016年3月、プロ棋士に勝つには後10年かかると言われていたコンピュータ囲碁でDeepMindが開発したAlphaGoがトップ棋士に勝利しました。そのAlphaGoで使われた手法がディープラーニングです。
AlphaGoでは局面を「画像」として認識し打ち手の確率と局面の勝率を予測することで、次の打ち手を決めています。画像とは具体的にどのようなものか、次の打ち手をどうやって決めるのか?AlphaGoの論文をヒントに、ディープラーニングを使い棋譜を学習した将棋AIの開発を行います。強化学習のみでトップレベルの強さを持つAlphaZeroで用いられた手法についても取り入れています。
[導入編]では、コンピュータ将棋の歴史とディープラーニングの関係、コンピュータ将棋の大会の概要と参加方法について紹介します。
[理論編]では、実装する将棋AIの前提となる理論について解説します。従来のコンピュータ将棋のアルゴリズム、コンピュータ囲碁で用いられているモンテカルロ木探索とAlphaGoがどのようにディープラーニングを応用したか。基礎的な知識について解説しつつ、これらを将棋AIに応用する方法について述べます。
[実践編]では、ディープラーニングを使った、実際に対局できる以下の3つの将棋AIについて、PythonとChainerで実装していきます。
方策ネットワーク(policy network)を使って指し手の予測のみでプレイするAI。
価値ネットワーク(value network)を使って1手探索を行うAI。
方策ネットワークと価値ネットワークを使ってモンテカルロ木探索を行うAI。
最後に、より強い将棋AIを作りたいという方のために、ヒントとなる情報を紹介します。