ITエンジニアのための強化学習理論入門

書籍の概要

この本の概要

前作の『ITエンジニアのための機械学習理論入門』から,5年経過しましたが,AI(人工知能)や機械学習に対しての期待と関心はまったく衰えません。むしろ機械学習の利用はIT業界で当然のものとなり,さらなる活用がさまざまな場所で行われています。前作では一般的な機械学習について解説しましたが,試行錯誤しながら1つの解をもとめていく「強化学習理論」についてくわしく・やさしく解説します。理論を表現するいろいろな数式とそれらをプログラミングするためのPythonコードを並列しながらその理論の神髄にせまり,強化学習の基礎となるさまざまなアルゴリズムを体系的に学びます。

こんな方におすすめ

  • 機械学習,AI(人工知能)に興味があるITエンジニア,大学生,高専生,高校生など

著者の一言

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

この書籍に関連する記事があります!

「三目並べ」から学ぶ強化学習の本質
コンピュータープログラムが囲碁や将棋のプロ棋士と対等に戦える時代になりました。

本書のサンプル

本書の紙面イメージは次のとおりです。画像をクリックすることで拡大して確認することができます。

サンプル画像1

サンプル画像2

サンプル画像3

サンプル画像4

サンプル画像5

目次

第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

著者プロフィール

中井悦司(なかいえつじ)

1971 年4 月大阪生まれ。ノーベル物理学賞を本気で夢見て,理論物理学の研究に没頭する学生時代,大学受験教育に情熱を傾ける予備校講師の頃,そして,華麗なる(?)転身を果たして,外資系ベンダーでLinux エンジニアを生業にするに至るまで,妙な縁が続いて,常にUnix/Linux サーバーと人生を共にする。その後,Linux ディストリビューターのエバンジェリストを経て,現在は,米系IT 企業のSolutions Architectとして活動。
最近は,機械学習をはじめとするデータ活用技術の基礎を世に広めるために,講演活動のほか,雑誌記事や書籍の執筆にも注力。主な著書は,『[改訂新版]プロのためのLinux システム構築・運用技術』『IT エンジニアのための機械学習理論入門』(いずれも技術評論社),『TensorFlow とKeras で動かしながら学ぶディープラーニングの仕組み』(マイナビ出版)など。