将棋AIで学ぶディープラーニング

電子版価格
¥3,498
  • 電子版あり

将棋AIで学ぶディープラーニング

  • ただいまウェブストアではご注文を受け付けておりません。
  • サイズ B5判/ページ数 288p/高さ 24cm
  • 商品コード 9784839965419
  • NDC分類 007.1
  • Cコード C3055

出版社内容情報

将棋AIの作成・プログラミングを通して、機械学習、ディープラーニング、ニューラルネットワークの基本と実装・活用を学べます。将棋プログラムの作成を通してディープラーニングをより深く理解できる。

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を作りたいという方のために、ヒントとなる情報を紹介します。

はじめに
本書の読み方

第?部 導入編
第1章 コンピュータ将棋について
1.1 コンピュータ将棋の歴史
1.2 コンピュータ将棋とディープラーニング
1.3 コンピュータ将棋の大会

第II部 理論編
第2章 コンピュータ将棋のアルゴリズム
2.1 ゲーム木
2.2 ミニマックス法
2.3 評価関数
2.4 αβ法
2.5 評価関数の機械学習
2.6 強化学習
2.7 まとめ
第3章 コンピュータ囲碁のアルゴリズム
3.1 コンピュータ囲碁の課題
3.2 モンテカルロ法
3.3 モンテカルロ木探索
3.4 マルチアームドバンディット問題
3.5 UCTアルゴリズム
3.6 まとめ
第4章 AlphaGoの手法
4.1 方策ネットワーク(policy network)
4.2 価値ネットワーク(value network)
4.3 AlphaGoの探索アルゴリズム
4.4 AlphaGo Zeroの手法
4.5 AlphaZeroの登場
4.6 まとめ
第5章 ディープラーニングについて
5.1 ニューラルネットワーク
5.2 ニューラルネットワークの学習
5.3 分類問題と回帰問題
5.4 畳み込みニューラルネットワーク
5.5 ディープラーニングの将棋AIへの応用
5.6 まとめ

第III部 実践編
第6章 ディープラーニングフレームワーク
6.1 ディープラーニングフレームワークについて
6.2 フレームワークの選択
6.3 GPU
6.4 インストール
6.5 サンプル実行
6.6 Chainerの基本
第7章 方策ネットワーク(policy network)
7.1 ソースコードの構成
7.2 モジュールインストール
7.3 方策ネットワークの構成
7.4 方策ネットワークの実装
7.5 訓練データの準備
7.6 python-shogi
7.7 共通処理の実装
7.8 学習処理の実装
7.9 学習実行
第8章 将棋AIの実装
8.1 ソースコードの構成
8.2 USIエンジン
8.3 USIエンジンの実装
8.4 コマンドラインからテスト
8.5 GUIソフトに登録できるようにする
8.6 USIエンジンに登録
8.7 対局
8.8 ソフトマックス戦略
8.9 まとめ
第9章 学習テクニック
9.1 ハイパーパラメータの調整
9.2 最適化手法
9.3 Batch Normalization
第10章 価値ネットワーク(value network)
10.1 ソースコードの構成
10.2 価値ネットワークの構成
10.3 価値ネットワークの実装
10.4 学習処理の実装
10.5 学習実行
10.6 「1手」探索のAI作成
10.7 USIエンジンに登録
10.8 対局
10.9 まとめ
第11章 学習テクニック その2
11.1 転移学習
11.2 マルチタスク学習
11.3 Residual Network
第12章 モンテカルロ木探索
12.1 ソースコードの構成
12.2 ハッシュ
12.3 モンテカルロ木探索の実装
12.4 テスト
12.5 対局
12.6 並列化
12.7 まとめ
第13章 さらに発展させるために
13.1 C++による高速化
13.2 大規模学習
13.3 終盤の課題

参照文献

付録 Linuxでのインストール手順

山岡忠夫[ヤマオカタダオ]
著・文・その他

内容説明

人より強い将棋プログラムを作る!Python、Chainerによる将棋AIの作成を通して、ディープラーニングのしくみをより深く理解。AlphaGo、AlphaZeroで用いられた手法も解説。

目次

第1部 導入編(コンピュータ将棋について)
第2部 理論編(コンピュータ将棋のアルゴリズム;コンピュータ囲碁のアルゴリズム;AlphaGoの手法;ディープラーニングについて)
第3部 実践編(ディープラーニングフレームワーク;方策ネットワーク(policy network)
将棋AIの実装
学習テクニック
価値ネットワーク(value network)
モンテカルロ木探索
さらに発展させるために)
付録

著者等紹介

山岡忠夫[ヤマオカタダオ]
東京工業大学工学部電子物理工学科卒業。システムエンジニア。趣味でスマートフォン向けアプリの開発を行っている。AlphaGoでディープラーニングに興味を持ち将棋ソフト「dlshogi」を開発中(本データはこの書籍が刊行された当時に掲載されていたものです)
※書籍に掲載されている著者及び編者、訳者、監修者、イラストレーターなどの紹介情報です。

感想・レビュー

※以下の感想・レビューは、株式会社ブックウォーカーの提供する「読書メーター」によるものです。

たいそ

6
2018年。ディープラーニングでなんとなく手書きの数字の判別とかができることがわかったとして、では、それを応用して何かできんかな?という時に読むと良いのかも。ニューラルネットワークとそれ以外のアルゴリズム、分類と回帰問題のニューラルネットワークといった複数のアルゴリズムの組み合わせているところなどおもしろかった。機械学習の場合、自分で多量のデータを用意するのはハードルが高いが、棋譜データは比較的入手しやすいのが良い。ただしGPUは必須という規模で、そこのハードルは自分には高かった。2019/06/08

野々村 聡

1
☆☆☆☆☆ なるほど。何がどうなのか。どう理解していくべきなのか、自分は今どこにいるのか、そうしたものがすげえよく把握できた。 やっぱそうなんだなあ……ちょっと前なら多分何一つ分からなかったに違いない。今ならけっこう分かる。何が分からんかも分かる。 ちょっと手応えを感じた。2019/12/18

外部のウェブサイトに移動します

よろしければ下記URLをクリックしてください。

https://bookmeter.com/books/12689462
  • ご注意事項

最近チェックした商品