【読んでみた】E資格をもつ私が実際に本を買ってレビュー!『深層学習』Ian Goodfellow著

『深層学習』の表紙参考書

こんにちは、エマです。

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

今回読んでみたのはIan Goodfellowの名著『深層学習』。

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

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

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

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

【はじめに】書籍の情報

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

著者

この本はもともと英語で、著者はIan GoodfellowYoshua BengioといったAI界のスーパースターたちです。

日本語版の監修・監訳の中には日本ディープラーニング協会(JDLA)理事長の松尾豊先生がいたりと、その贅沢さはまるでアベンジャーズ。

値段

定価は4,600円(税抜)。
税込だと5,060円になります。

あとでも言いますけど、こんなボリューミーで分厚い専門書が約5,000円というのは結構安い方なのでびっくり。

出版年

2018年3月7日に発売されました。
出版社はKADOKAWAです。

ページ

580ページとかなり分厚い本です(厚さは3.3 cmでした)。

中身のカラーは基本的に白黒となってます。
(あとで実際の写真を載せてるので気になる方はどうぞ)

サイズ

本の大きさですが、18.4 x 23.5 cmというあまり見ないサイズ感。
単行本(B6判)を横に2冊並べたくらいの大きいです。

本の厚みとあいまって、なかなかの重厚感を醸し出してます。
ちなみにハードカバーではなくソフトカバーでした。

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

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

対象読者

本の中では次のように書かれています。

我々は2種類の読者層を対象として本書を書いた.対象読者層の1つは,機械学習を学ぶ大学の学生 …(中略)… もう1つの対象読者層は,機械学習や統計学に関わった経歴を持たないソフトウェアエンジニア …(中略)… 

Ian Goodfellowら『深層学習』(2018)1.1 誰がこの本を読むべきか p.6

ようするに大学生やエンジニアを対象としていて、初心者向けではありません。

ディープラーニングを真剣に学びたい人のための高度な専門書となってます。

前提知識

この本を読んで理解するためには、事前知識として情報科学や数学のバックグラウンドが必要です。

読者として大学生やエンジニアを想定した本なので、大学レベルの数学はもちろん、むずかしい情報理論やアルゴリズムがバンバン出てきます。

大学でコンピュータサイエンスを専攻してるような人じゃないと全く歯が立たないのでは?と読んでいて思いました。

実際、この本は大学の講義とかでも使われるみたいで、まさに専門教科書レベルの難易度です。

本の構成

3部20章構成となっていて、ざっくりいうと

  1. 数学
  2. 教師あり学習
  3. 教師なし学習

という流れで進んでいきます。

章タイトルは↓のとおり。

I部 応用数学と機械学習の基礎
  • 2章 線形代数
  • 3章 確率と情報理論
  • 4章 数値計算
  • 5章 機械学習の基礎
II部 深層ネットワーク:現代的な実践
  • 6章 深層順伝播型ネットワーク
  • 7章 深層学習のための正則化
  • 8章 深層モデルの訓練のための最適化
  • 9章 畳み込みネットワーク
  • 10章 系列モデリング:回帰結合型ニューラルネットワークと再帰的ネットワーク
  • 11章 実用的な方法論
  • 12章 アプリケーション
III部 深層学習の研究
  • 13章 線形因子モデル
  • 14章 自己符号化器
  • 15章 表現学習
  • 16章 深層学習のための構造化確率モデル
  • 17章 モンテカルロ法
  • 18章 分配関数との対峙
  • 19章 近似推論
  • 20章 深層生成モデル

学べること

この本は超ボリューム満載なので全て紹介するのはムリですが、3部それぞれに分けて、主にどんなことが書かれていたかをまとめます。

I部 応用数学と機械学習の基礎

応用数学(2~4章)のセクションでは↓を主に学びます。

  • 線形代数(行列、、固有値分解、特異値分解とか)
  • 確率(確率分布、ベイズ則、情報理論とか)

正直書ききれないので↑は氷山の一角です。
ディープラーニングを本格的に学ぶ人にとって、前提として知っとくべき必須の数学的知識が網羅されてるカンジです。

あと、めっちゃガッツリ数式が登場します。
↓の写真はとあるページの抜粋です。

Ian Goodfellowら『深層学習』(2018)p.36-37の写真
出典:Ian Goodfellowら『深層学習』(2018)p.36-37

どれもハイレベルな数式ばかりなので、大学数学に嫌悪感を覚えた人(私含め)はかなり読むのがキツイと思います。

高校数学で挫折した人は論外ですね(絶対買わない方がいい)。

機械学習(5章)のセクションは案外あっさりしてました。

  • 機械学習の定義(タスクT・性能指標P・経験E)
  • 過剰適合、バイアス・バリアンス、正則化
  • ハイパーパラメータ、交差検証
  • 学習アルゴリズム(SVM、主成分分析、k-meansとか)

などなど、機械学習の基本的な専門用語や数学的背景をおさらいするカンジで、そこまで詳しい理論的記述はなかった印象です。

あくまで次章以降の「深層学習」にフォーカスしている本だということがハッキリわかりました。

II部 深層ネットワーク:現代的な実践

6~8章では↓のようなディープラーニングのきほんを学べます。

  • ネットワークの基礎(活性化関数、誤差逆伝播法とか)
  • 正則化手法(ノルム、早期終了、ドロップアウトとか)
  • 最適化手法(勾配降下法、初期化、バッチ正規化とか)

私がこれまで読んだどのAI本よりも数学的に踏み込んでました。

個人的には勾配降下法がめちゃめちゃ詳しく書かれてるなと思って、SGD、モメンタム、ネステロフのモメンタム(説明してる本あんまない印象)、AdaGrad、RMSProp、Adamの数式・アルゴリズムの意味をイチから知りたい人は勉強になります。

Ian Goodfellowら『深層学習』(2018)(2018)p.220-221の写真
出典:Ian Goodfellowら『深層学習』(2018)(2018)p.220-221

しかもE資格の出題形式とすごく似てて、試験対策にもgoodかと。

つづく9~10章CNNと系列モデルにフォーカスされてます。
CNNの構造やアルゴリズムはもちろん、RNNとかLSTMとかSeq2Seqとか、基本的な系列モデルについて説明されてました。

ほかにも、有向グラフィカルモデルとかエコーステートネットワークとか、他の本であまり見ない専門用語も出てくるので、さすが教科書というカンジです。

さいごの11~12章実用的な方法論や環境に関するおはなしです。

  • 性能指標、ハイパーパラメータ調整、前処理
  • GPU、分散処理、モデル圧縮
  • 音声認識、自然言語処理、推薦システム

現実ではデータをどう扱うか、どういうアプリケーションに応用できるか、などに焦点を当ててました。

III部 深層学習の研究

線形因子モデル、自己符号化器、表現学習、構造化確率モデル、モンテカルロ法、近似推論などなど、当時先進的に研究されていた分野に関して学べます。

自己符号化器とかはまだしも、多くのセクションがE資格の範囲を逸脱するような超難解なパートとなっていて、本気でAI研究者を志す人でない限り読まなくていいと思っちゃいました(だってムズすぎるんだもん)。

しいて言えば、20章の深層生成モデルはE資格でも大切な範囲ですし、今もホットな分野なので、モデルの名前だけでも知っておくといいかもしれませんね。

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

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

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

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

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

分かりやすさは皆無

世にあるAI本の中でも最高難度といっていいです。
(50冊以上AI本を読んできた私の感触です)

ホントに大学の教科書に使われるようなレベル感なので、買われる方は覚悟しておいてください。

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

数式や理論がめっちゃ難解なうえに、「文字が白黒」&「文章が長い」のダブルパンチで、完全に読む気が失せていく本です。

↓の写真は文字だらけのページの例。

Ian Goodfellowら『深層学習』(2018)p.12-13の写真
出典:Ian Goodfellowら『深層学習』(2018)p.12-13

本気で学ぼうという気概がある人じゃなきゃ読破はムリと断言します。

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

必要最小限というカンジでした。
↓は図が載ってるページ例です。

Ian Goodfellowら『深層学習』(2018)p.240-241の写真
出典:Ian Goodfellowら『深層学習』(2018)p.240-241

たま~にカラーのイラストも登場しますが、全体的に図は少なめでした。

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

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

冒頭でも触れましたが、この本はデカいし分厚いので可搬性はゼロです(持ち運ぶなら大きめのリュックが必要な印象ですね)。

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

ココがこの本の唯一のアピールポイントだと私は思います。
数式からしっかり理論を学びたい人にとってはパーフェクトな本。

アルゴリズムの掲載のしかたが、私が受けたときのE資格の出題のされかたと酷似していて、E資格受験者にとってはプラスだと思いました。

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

Pythonコードの記述は残念ながら皆無でした。
あくまで理論を学ぶ本なので、実装方法を学ぶことはできないです。

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

4,600円(税抜)は高いと感じる人もいると思いますが、フツーに1万円を超えてくることが多い専門書のなかでは安い方です。

ましてやこのボリュームと内容の濃さ。
ディープラーニングをガチで勉強したい人にとっては格安、と個人的には感じました。

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

『深層学習』を読破してみて思ったことを書きます。

良いところ・悪いところ

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

良い点
  • 数式説明が多く、アルゴリズムを深くしっかり学べる
  • ほかの本で見ないような細かい専門用語も網羅してる
  • 試験に出題される形式と似てる
悪い点
  • 難しい&見づらい&分かりにくいの3拍子
  • 本がデカいし分厚くて重い
  • 機械学習についてはアッサリしてる

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

結論、この本は「部分的には」E資格の受験勉強に使えます。

この本の何よりの特徴は数式とアルゴリズムの詳しさ。
E資格ではディープラーニングの理論に対する深い理解が問われるので、そういう意味では使えます。

ただ、なぜ「部分的」かというと、全体的に詳しすぎるからです。

試験とは関係ない用語もめっちゃ出てきますし、何よりハイレベルすぎてインプット過多になる危険があります。

E資格受験生がはじめに買う本では絶対にないです。

こんな人におすすめ

  • 認定プログラムの内容だけでは物足りない人
  • 深層学習の数学的背景をガチで理解したい人

というような方は読んでもいいんじゃないかなと思いますが、私からはすすんで推奨できません。

とくに初心者にはオススメしません。

何度も言いますけど、マジで難しい本なので、「本格的にディープラーニングの世界に入って研究したい」って人とかじゃない限り買わないでください(きっと後悔しますよ)。

単に「E資格取得」が目的だったら、ここまでレベルの高い本を買う必要はありません。

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