【読んでみた】E資格をもつ私が実際に本を買ってレビュー!『ゼロから作るDeep Learning 4|強化学習編』斎藤康毅著

『ゼロから作るDeep Learning 4|強化学習編』の表紙参考書

こんにちは、エマです。

E資格をもっている私が、AI関連書籍の中身を正直にレビューしていく「読んでみた」シリーズ。

今回読んでみたのはゼロつくシリーズの4作目『ゼロから作るDeep Learning 4|強化学習編』。

本の内容はもちろん、
●分かりやすいか
●図・グラフはあるか
●数式・アルゴリズム・コードが書かれているか

などについて、E資格合格者の立場から詳しく解説します。

さいごには「結局、E資格の勉強に使えるの?」という疑問にもお答えしますね。

※本記事は、著作権法第32条の1に則り、正当な範囲内で「引用」しています。
※主観的な感想が含まれる点、あらかじめご了承ください。

【はじめに】書籍の情報

まずは、今回読んだ本の基礎情報をあらためて紹介します。
必要ない方は飛ばしてください。

著者

この本を書いたのは斎藤康毅さんという人。
ゼロつくシリーズで有名なお方です。

斎藤さんが書く本はとっても読みやすいです。

値段

本の価格は3,600円(税抜)です。
税込だと3,960円になります。

出版年

2022年の4月4日に第1刷が発行されました。

出版社はオライリー(O’Reilly)ですが、オライリーが出す大半の本のデメリットは日本語の文章が不自然なところ。

理由は、ほとんどの本が外国人によって書かれてるから。
(直訳しただけの日本語訳が多いんですよね)

一方で、この本は日本人の斎藤さんが書いてるので安心です。

ページ

ページ数は355ページでした。

ちなみに中身はフルカラーとなってます。
(あとで実際の写真をみせます)

サイズ

一般的なA5判(21 cm x 15 cm)でした。

【内容】本の中身をざっくり紹介

誰に向けて書かれたモノか、どんなことが学べるか、など、本の内容についてまとめます。

対象読者

この本は、強化学習の理論・実装をしっかり勉強したい初学者向けに書かれている本です。

しっかり勉強」と「初学者」がポイントです。

強化学習はAIの中でも難しい分野なので、大学専門レベルの本だと初学者はチンプンカンプン。

一方で、分かりやすさ重視の入門書だと内容が浅すぎて分かった気にしかならない。

この本は、専門書と入門書の中間的位置づけの本という印象です。「内容の深さ」と「分かりやすさ」を両立していて、とってもバランスがいいです。

「しっかり学びたいけど、いきなり専門書はハードルが高い。。。」
そんな初学者さんにピッタリです。

前提知識

この本を読んで理解するためには、事前知識として少なくとも

  • 高校卒業レベルの数学力
  • Pythonを読める力

が必要です。

まず、強化学習という学問はかなりの数学力を要します。

この本はかなり分かりやすくて初心者にも易しい方ですが、数学嫌いさんにとっては難しい数式が出てきます。

ただ、解説がとても丁寧なので、少なくとも高校レベルの知識があればついていける難易度ではあります(大学数学の経験がほとんどない私でも、分かりやすい解説のおかげで結構理解できました)。

次にPythonについてですが、全く知らない人だと読むのがキツイです。

とくに説明もなく、Pythonを知ってる前提で実装の話が進んでいくので、「理論」と「実装」を両方ちゃんと理解したい人は、読む前に少なくともPythonを読めるレベルになっておきましょう。

本の構成

本のコンセプトについて、筆者の斎藤さんは

強化学習について基礎からスタートし、ディープラーニングが使われる最先端の技術までを一気通貫で学びます。

斎藤康毅『ゼロから作るDeep Learning 4|強化学習編』(2022)まえがき p.iii

と書いてるとおり、内容をザックリ分けると
前半で強化学習の基礎
後半で深層強化学習
という構成になってます。

前半:強化学習の基礎
  • 1章 バンディット問題
  • 2章 マルコフ決定過程
  • 3章 ベルマン方程式
  • 4章 動的計画法
  • 5章 モンテカルロ法
  • 6章 TD法
後半:深層強化学習
  • 7章 ニューラルネットワークとQ学習
  • 8章 DQN
  • 9章 方策勾配法
  • 10章 さらに先へ

まずは強化学習のなかでもっともシンプルな「バンディット問題」や、多くの強化学習モデルが前提としている「マルコフ決定過程」の話をとおして、強化学習の土台となる概念を学びます。

そのあと、基礎的なアルゴリズムについて説明があって、終盤はディープラーニングを利用した問題へと進みます。

読んでみて感じたことですが、この本は章構成がバツグンにうまいです。

「つながりのあるストーリー」を意識したと斎藤さんは語ってますが、そのおかげで難解で分かりにくい強化学習の理論がすーっと頭に入ってくるんです。

*斎藤康毅『ゼロから作るDeep Learning 4|強化学習編』(2022)まえがき p.iv より

学べること

強化学習を学ぶうえで欠かせない必須理論・実装を網羅的に学べます。

AIは進化が速いですが、古典的な理論から最先端の理論まで、いつの時代も共通する根幹技術が存在します。

そんな根幹技術がムダなく詰まった内容となってるので、はじめて強化学習を勉強する人にピッタリな本だと思います。

挙げるとキリがないですが、具体例を示すために本のなかで登場する専門用語をいくつか書いてみます↓

バンディット問題、マルコフ決定過程、状態遷移確率、収益、価値関数、方策、ベルマン方程式、動的計画法、方策反復法、価値反復法、モンテカルロ法、TD法、方策オン/方策オフ、SARSA、Q学習、DQN、経験再生、ターゲットネットワーク、DoubleDQN、優先度付き経験再生、DuelingDQN、方策勾配法、REINFORCE、Actor-Critic、A3C、A2C、DDPG、TRPO、PPO、Noisy Network、Rainbow、Ape-X、R2D2、NGU、Agent57…

こんな感じでいっぱい学べます。

一方、ただ網羅的に学べるだけでなく「つながり」がとても分かりやすいです。

強化学習はただでさえ難しいのに、似たような専門用語が多く、それらの関係性や「つながり」が分かりにくいという初見殺しの学問です。

たとえば、「方策勾配法」と「方策反復法」は似てるようで全く異なる概念です。

そんな風に、

  • 状態価値関数と行動価値関数
  • 価値ベースと方策ベース
  • モデルベースとモデルフリー

などが初学者を悩ませます。
ほかにも、

  • 動的計画法、モンテカルロ法、TD法ってどう違うの?
  • SARSAとQ学習って仲間だったの?
  • REINFORCEとActor-Criticって結局なに?

というように、アルゴリズムどうしを比較するのも初学者にとっては困難です。

この本は、そういった各概念どうし、各アルゴリズムどうしの「つながり」が意識された初学者にうれしい内容でした。

ほんっとに理解しやすかったです。

【評価】5つ星でガチ採点

以下7項目について、個人的に評価してみました。

  • 難易度・理解しやすさ
  • 本の中身の読みやすさ
  • 図表・グラフの豊富さ
  • 書籍の持ち運びやすさ
  • 数学的・理論的な記述
  • 実装・プログラミング
  • コストパフォーマンス

順番に解説していきます。

難易度・理解しやすさ:★★★★☆

強化学習に関する本のなかでは、かなり分かりやすく易しいレベルでした。

妥協せずにしっかりと理論に踏み込んだ部分もあるので、完全初心者にとってはハードな内容ではありますが、非常に丁寧な解説で理解しやすかったです。

本の中身の読みやすさ:★★★★★

前述のとおり構成がとてもよく、勉強のモチベが上がるくらい読みやすかったです。

「次章ではどんなことが学べるんだろう?」と続きが気になってしまうような飽きさせないストーリー展開も好評価でした。

図表・グラフの豊富さ:★★★★★

イラストはかなり多い印象でした。

↓写真のように強化学習の難しい概念やアルゴリズムの動きをイメージで理解できるように工夫されてます。

斎藤康毅『ゼロから作るDeep Learning 4』(2022)p.186-187の写真
出典:斎藤康毅『ゼロから作るDeep Learning 4』(2022)p.186-187

書籍の持ち運びやすさ:★★★★☆

紙書籍の場合、意外と大切なのが持ち運びやすさ。

一般的なサイズ感の本なので持ち運びにくいと感じたことはないです。

数学的・理論的な記述:★★★★☆

初級者を意識しすぎたあやふやなモノではなく、かといって大学の教科書みたいな超絶ハイレベルでもない。

バランスのとれたちょうどいい難易度でした。
(とくにE資格の勉強に最適なレベル感かと)

また、強化学習は各アルゴリズム同士の数式が似ていて違いが分かりにくいのが難点ですが、この本はちゃんと比較もしてくれます(イラスト付きで)↓

斎藤康毅『ゼロから作るDeep Learning 4』(2022)p.168-169の写真
出典:斎藤康毅『ゼロから作るDeep Learning 4』(2022)p.168-169

実装・プログラミング:★★★★★

それぞれの強化学習アルゴリズムについて、まず数式を用いて理論の説明をしたあとに、Pythonでプログラミングしてみる、という流れでした。

理論 → 実装という流れで説明してくれるので、理論とPythonコードの関係性が分かりやすく、読者の理解度アップにつながります。

ちなみにコードはこんな感じです↓
(色分けされてて、他の本と比べても見やすい印象でした)

斎藤康毅『ゼロから作るDeep Learning 4』(2022)p.178-179の写真
出典:斎藤康毅『ゼロから作るDeep Learning 4』(2022)p.178-179

コストパフォーマンス:★★★★★

強化学習本のなかで間違いなくトップレベルのコスパです。

基礎から先端まで幅広く網羅してるし、理論と実装の両方を学べるし、ムダがないです。

前述してますけど、強化学習関連の本って、内容が深すぎてぜんぜん伝わらない専門書と、分かりやすさを重視しすぎて内容が浅い入門書に二極化してます。

この本は「内容の深さ」と「分かりやすさ」のトレードオフを打破した数少ない初学者向け良書だと断言します。

【さいごに】読み終わった感想

『ゼロから作るDeep Learning 4|強化学習編』を読破してみて思ったことを書きます。

良いところ・悪いところ

私が感じた、この本の良い点・悪い点をまとめてみました。

良い点
  • 初学者必須の強化学習の根幹理論&実装が学べる
  • 豊富なイラストで難解なアルゴリズムもイメージしやすい
  • 圧倒的な分かりやすい解説で公式の意味が分かる
悪い点

正直、最初読み終わったとき悪い点は浮かびませんでした(分かりやすさに感動してしばらく余韻に浸っていたほどです)。

ただ、なんとか絞り出してデメリットを挙げるとしたら「オリジナルフレームワーク」を使用していること。

前作(ゼロつく3作目)で登場したDeZeroという斎藤さんオリジナルのフレームワークが再登場します。

DeZeroはTensorFlowとかPyTorchみたいなディープラーニング用のフレームワークなんですが、ゼロつく用に作成されたものなので、もちろん一般に普及してるものではないです。

DeZeroを知らなくても違和感なくぜんぜん読めるんですが(実際、私は前作読んでない段階で本作読みましたけど支障なかったです)、わざわざDeZeroを使う必要性はないとも言えます。

E資格対策に使える?使えない?

結論、この本はE資格の受験勉強にめちゃめちゃ使えます。

出てくる数式はE資格レベルですし、その数式の意味を分かりやすく解説してくれてます。

また、各アルゴリズムの特徴だったり、それぞれの違いだったりも分かりやすく解説してくれてるんですが、E資格ではそういった「アルゴリズムの比較」についての知識も問われるので、試験対策にgoodです。

こんな人におすすめ

  • 強化学習の理論&実装を基礎からしっかり学びたい初学者
  • E資格の認定プログラムを受講したけど強化学習がサッパリな人
  • 専門書に歯が立たず、分かりやすい本を探している人

とくにE資格受験者は必携です。

以上、エマの「読んでみた」シリーズでした。