<b>人より強い"将棋プログラム"を作ろう</b>
将棋プログラムの作成を通してディープラーニングをより深く理解できる。
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を作りたいという方のために、ヒントとなる情報を紹介します。
人より強い将棋プログラムを作る!Python、Chainerによる将棋AIの作成を通して、ディープラーニングのしくみをより深く理解。
AlphaGo、AlphaZeroで用いられた手法も解説。
山岡忠夫(やまおか・ただお)
東京工業大学工学部電子物理工学科卒業。
システムエンジニア。
趣味でスマートフォン向けアプリの開発を行っている。
AlphaGoでディープラーニングに興味を持ち将棋ソフト「dlshogi」を開発中。
開発状況は随時ブログに掲載中。
山岡/忠夫
東京工業大学工学部電子物理工学科卒業。
システムエンジニア。
趣味でスマートフォン向けアプリの開発を行っている。
AlphaGoでディープラーニングに興味を持ち将棋ソフト「dlshogi」を開発中(本データはこの書籍が刊行された当時に掲載されていたものです)
まだレビューがありません