めもめも

このブログに記載の内容は個人の見解であり、必ずしも所属組織の立場、戦略、意見を代表するものではありません。

「ITエンジニアのための強化学習理論入門」が発売されます

www.amazon.co.jp

表題の書籍が技術評論社より発売されることになりました。執筆にご協力いただいた方々には、あらためてお礼を申し上げます。販売開始に先立って、「はじめに」「目次」「図表サンプル」を掲載させていただきますので、先行予約される方の参考にしていただければと思います。

はじめに

 「Q LearningとSARSAの違いを説明してください。」皆さんは、この質問に即答できるでしょうか? 本書を読めば、自信を持って答えられます! —— と、謎の宣伝文句(?)から始まりましたが、少しばかり背景を説明しておきましょう。
 2015年に『ITエンジニアのための機械学習理論入門』(技術評論社)を出版させていただいた後、驚くほどの勢いで機械学習の入門書が書店にあふれるようになりました。そしてまた、回帰モデルによる数値予測、分類モデルによる画像データの識別など、教師データを用いた機械学習モデル、いわゆる「教師あり学習」は、一般企業における活用が進みました。その一方で、エージェントが学習データを収集しながら学習処理を進める「強化学習」の利用は未だ敷居が高く、一般企業における活用は「まだこれから」という状況です。本書では、今後のスキルアップや強化学習の活用に向けた準備をしようと考える ITエンジニアの方々に向けて、強化学習のアルゴリズムを基礎から解説しています。
 動的計画法による厳密解の導出方法から始まり、ニューラルネットワークと強化学習を組み合わせた「DQN(Deep Q Network)」まで、「強化学習がなぜうまくいくのか」という基本原理を解説します。Pythonで実装したコードをGoogle Colaboratoryで実行しながら、それぞれのアルゴリズムがどのように機能するのかを「実感して理解する」ことが本書の一貫したテーマです。既存の機械学習ライブラリをブラックボックスとして用いるのではなく、具体的な動作原理が確認できるように、すべてのアルゴリズムを一から実装しています。「三目並べ」や「あるけあるけゲーム」など、シンプルな題材を用いて、エージェント同士の対戦による相互学習や、実行時の先読みによる性能向上など、より実践的なテクニックにも触れています。
 冒頭の「Q Learning」と「SARSA」は、どちらも強化学習の基礎的なアルゴリズムですが、機械学習の活用が広がるスピードを考えると、近い将来、機械学習に関わるITエンジニアの採用面接では、冒頭のような質問が「あたりまえ」になる日が近いのかも知れません。試験対策が本書の目的ではありませんが、一般的な「教師あり学習」の仕組みを学んだ上で、次のステップとして「強化学習」に取り組みたいと考える皆さんの知的好奇心を満たし、ITエンジニアとしての活動の幅を広げるきっかけが提供できれば、筆者にとってこの上ない喜びです。

目次

第1章 強化学習のゴールと課題
1.1 強化学習の考え方
1.2 実行環境のセットアップ
1.3 バンディットアルゴリズム(基本編)
1.4 バンディットアルゴリズム(応用編)

第2章 環境モデルを用いた強化学習の枠組み
2.1 マルコフ決定過程による環境のモデル化
2.2 エージェントの行動ポリシーと状態価値関数
2.3 動的計画法による状態価値関数の決定

第3章 行動ポリシーの改善アルゴリズム
3.1 ポリシー反復法
3.2 価値反復法
3.3 より実践的な実装例

第4章 サンプリングデータを用いた学習法
4.1 モンテカルロ法
4.2 TD(Temporal-Difference)法

第5章 ニューラルネットワークによる関数近似
5.1 ニューラルネットワークによる状態価値関数の計算
5.2 ニューラルネットワークを用いたQ-Learning

図表サンプル