将棋AIで学ぶディープラーニング の商品レビュー
Ⅰ部 導入編 1章 コンピュータ将棋について 省略 Ⅱ部 理論編 2章 コンピュータ将棋のアルゴリズム ゲームの木、ミニマックス法、αβ法、評価関数について簡単な説明 3章 コンピュータ囲碁のアルゴリズム モンテカルロ法とその発展版UCTアルゴリズム 4章 A...
Ⅰ部 導入編 1章 コンピュータ将棋について 省略 Ⅱ部 理論編 2章 コンピュータ将棋のアルゴリズム ゲームの木、ミニマックス法、αβ法、評価関数について簡単な説明 3章 コンピュータ囲碁のアルゴリズム モンテカルロ法とその発展版UCTアルゴリズム 4章 AlphaGoの手法 優先順位制御の改善 -> 方策ネットワーク プレイアウトの改善 -> 価値ネットワーク 方策ネットワーク 囲碁の局面を画像のように認識して多くの棋譜を学習させてどの着手から優先して指すか決める 価値ネットワーク 囲碁の局面を画像のように認識して直接その局面を評価する。 5章 ディープラーニングについて 畳み込みニューラルネットワーク(CNN)の説明。 ディープラーニングの将棋AIへの応用 ・方策ネットワーク 局面を19×19の画像として与え、石の色ごとにわけ、学習させる。石の位置だけではなく呼吸点、シチョウなどの特徴点を別のチヤンネルで与え全部で48のチヤンネルを入力とする。 出力は与えられた局面の着手となる。 ・価値ネットワーク 価値ネットワークも局面を与えられ勝率を出力する。-1から+1で-1が負け、+1が勝ちとなる。 6章 ディープラーニングフレームワーク Chainer,TensorFlow,Keras,PyTorchなどの紹介と採用したChainerのインストールなどの説明 7章 方策ネットワーク 具体的にソースコードを示しながら実装している。 プログラムの局面管理、棋譜読み込みなどはPythonで書かれたpython-shogiを活用。 8章 将棋AIの実装 GUIソフトを使って対局ができるようにUSIエンジンを実装していく。 10章 価値ネットワーク 具体的にソースコードを示しながら実装している。 学習させたプログラムで1手探索させることができる。しかしまだ精度が不足しているの対策が必要 11章 学習テクニックその2 精度を上げる手法 ・転移学習 ・マルチタスク学習 ・Residual Networkの採用 12章 モンテカルロ木探索 これまで探索をしてこなかったので悪手を指すことがよくあった。探索方法としてモンテカルロ探索を採用実装している。 ここまでの実装で基本形が完成。 13章 さらに発展させるため 前章までのプログラムを発展させるための方法 ・C/C++で実装することで高速化 ・大規模学習(訓練棋譜を増やす方法)
Posted by
本書は、囲碁におけるAlphaGoの手法を参照しつつ、コンピュータ将棋のアルゴリズムを、モンテカルロ法+ディープラーニングを使って、実装する方法を解説している。 コンピュータ将棋の従来手法 →ミニマックス法。 評価関数の質が要であり、2006年のBonanzaが初めて、評価関数...
本書は、囲碁におけるAlphaGoの手法を参照しつつ、コンピュータ将棋のアルゴリズムを、モンテカルロ法+ディープラーニングを使って、実装する方法を解説している。 コンピュータ将棋の従来手法 →ミニマックス法。 評価関数の質が要であり、2006年のBonanzaが初めて、評価関数の機械学習を導入した。 コンピュータ囲碁で用いられているモンテカルロ法 →ランダムに終局までプレイして、 その勝敗の平均値から、最も勝率の高い手を選択する。 AlphaGoにおける、ディープラーニングの適用範囲は、次の2点 方策ネットワーク(Policy Network) → 合法手の中から探索すべき手を選択 → 多クラス分類問題 価値ネットワーク(Value Network) → 「勝ち」になる確率を算出(≒評価関数) → 2値分類問題 学術的な内容を避けて、扱うテーマをよく吟味しているのだと思うが、理解して貰おうという親切心が紙面に感じられ、とても分かりやすい。 また、Chainer初心者としては、本書のコードがTrainerライブラリを使わずに実装してあり、 損失の求め方や、逆伝播の仕組み、学習のループ構造など、 ブラックボックスになりがちな箇所が、明示されているのがありがたかった。 Chainer自体についての理解にも役に立った。
Posted by
- 1