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

『ゼロから作るDeep Learning 3|フレームワーク編』の表紙参考書

こんにちは、エマです。

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

今回読んでみたのは「ゼロつく」の3作目である『ゼロから作るDeep Learning 3|フレームワーク編』。

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

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

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

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

【はじめに】書籍の情報

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

著者

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

値段

本の値段は4,000円(税抜)
税込だと4,400円になります。

出版年

2020年の4月16日に初版第1刷が発行されました。
出版社は数々のIT本を輩出してきたことで有名なオライリーです。

ページ

ゼロつくシリーズ最長の527ページでした。
↓の写真はゼロつく1との比較写真です。

斎藤康毅『ゼロから作るDeep Learning|Pythonで学ぶディープラーニングの理論と実装』(2016),『ゼロから作るDeep Learning 3|フレームワーク編』(2020)背表紙の写真
出典:斎藤康毅『ゼロから作るDeep Learning|Pythonで学ぶディープラーニングの理論と実装』(2016),『ゼロから作るDeep Learning 3|フレームワーク編』(2020)背表紙

とても分厚い本ということが分かるかと。

サイズ

サイズ(タテ x ヨコ)は他のゼロつくシリーズと同じく、一般的なA5判サイズでした。

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

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

対象読者

この本は少し特殊で、ディープラーニングフレームワークのなかみを知りたい人向けに書かれている本です。

今の世の中、フレームワークのおかげでディープラーニングはたった数行のコードで動かすことも可能です。

そんなフレームワークとは一体どんなものなのか、本書まえがき*のことばを借りると、

  • どのような仕組みで動いているのか
  • どのような技術が使われているのか
  • どのような思想が根底に流れているのか

といったことを学ぶ本となってます。

*斎藤康毅『ゼロから作るDeep Learning 3』(2020)まえがき p.iv

前提知識

この本を読んで理解するためには、少なくともPython知識が必要です。

Pythonについて特に説明もなく、いきなり実装していく構成なので、最低限Pythonコードが読めるレベルに達してないと理解できません。

あと、事前にディープラーニングの基礎知識を持ったうえで読んだほうが、より理解度がアップすると思いました。

ちなみに、この本のまえがきで書かれてましたが、ほかのゼロつくシリーズを読んでなくても大丈夫です。

なお、本書を読むにあたって、前作「ゼロから作るDeep Learning」シリーズの知識は前提としません。

斎藤康毅『ゼロから作るDeep Learning 3』(2020)まえがき p.vi

本の構成

この本は5ステージ・60ステップで構成されてます。
大きなカテゴリ分けとして5ステージ、細かいカテゴリ分けとして60ステップ、という感じになります。

  • 第1ステージ:微分を自動で求める(ステップ1~10)
  • 第2ステージ:自然なコードで表現する(ステップ11~24)
  • 第3ステージ:高階微分を実現する(ステップ25~36)
  • 第4ステージ:ニューラルネットワークを作る(ステップ37~51)
  • 第5ステージ:DeZeroで挑む(ステップ52~60)

こんな感じで、ステップ・バイ・ステップで段階的に学んでいきます。

第5ステージのタイトルにあるDeZeroとは、本書オリジナルのフレームワークです。TensorFlowとかPyTorchとかみたいな。

つまりこの本は、最終的にDeZeroというフレームワークを作ります。

必要最低限のシンプルな機能しかないとはいえ、実際に動いて使えるフレームワークがPythonプログラミングだけで本当にできちゃいます。

学べること

「対象読者」のところで書いたとおり、ディープラーニングフレームワークのなかみを知ることができます。

ゼロからフレームワークを作ってみる体験をとおして、

  • 中のプログラムはこんな風になってるのか!
  • こういうテクニックが使われてのか!

ということを実感しながら学べます。

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

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

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

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

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

ある程度Pythonに慣れてる人じゃないと読み進められない内容ではあります。

一方で、めちゃめちゃ分かりやすくかみ砕いて説明されてるので、初心者でも頑張れば読破が可能なレベル感でした。

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

非常に読みやすい印象でした。

フルカラーかつ見やすいレイアウトなので、エンジニア本にありがちな窮屈感は一切ありませんでした。

それから、本の構成的にも1歩1歩丁寧に進んでいくやさしい流れなので、非エンジニアでも読んでいて苦じゃないです。

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

かなり豊富でした。
ゼロつくシリーズは全部そうですが、豊富なイラストはほんとにありがたいです。

イメージが掴みにくい計算処理であったり、プログラミング特有の概念であったり、イラストで見事に分かりやすく表現してくれます。

斎藤康毅『ゼロから作るDeep Learning 3』(2020)p.318-319の写真
出典:斎藤康毅『ゼロから作るDeep Learning 3』(2020)p.318-319
斎藤康毅『ゼロから作るDeep Learning 3』(2020)p.228-229の写真
出典:斎藤康毅『ゼロから作るDeep Learning 3』(2020)p.228-229

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

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

冒頭で書いたとおり、この本はゼロつくシリーズ最長のページ数を誇るズッシリ本なので、若干持ち運びにくさはあります。

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

実装メインということもあり、数式は少なめでした。
数式を学びたいなら前作のゼロつく1とかゼロつく2とかの方がいいですね。

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

いうことなしで★5つです。
はじめからおわりまでPythonコード尽くしでした。

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

値段は4,000円とAI本のなかでは高めですが、ボリューミーな内容を考えると安い方かと。

「フレームワークのしくみを学びたい人向け」というコアな本なので、多くの人には刺さらないかなと思うんですけど、一部の人にとっては高コスパな良書ですね。

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

『ゼロから作るDeep Learning 3|フレームワーク編』を読破してみて思ったことを書きます。

良いところ・悪いところ

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

良い点
  • ほんとにフレームワークをゼロからつくる
  • イラスト豊富で圧倒的にわかりやすい
  • 60ステップに細分化して説明してくれる

実際に動いて使えるフレームワークが自分の手で作れちゃうなんて感動もんでした。豊富なイラストと細分化された構成のおかげで非常に分かりやすいのが魅力ポイントですね。

悪い点
  • ディープラーニング理論を学ぶ本ではない
  • Pythonやディープラーニングの事前知識が必須

「DNN、CNN、RNNなどのディープラーニング理論を学ぼう!」というコンセプトではなく、それらを知ってる前提で「どうやってフレームワークに落とし込もう?」というコンセプトです。

ディープラーニング初学者がはじめに読む本ではないのでご注意を。

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

結論、この本はE資格の受験勉強には使えません。

本の内容は素晴らしいんですが、「E資格で必要な知識」に焦点を当てるとそこまで記述が多くないです。

ほかのゼロつく1、ゼロつく2、ゼロつく4はE資格の試験対策としてかなり使えるんですけど、このゼロつく3だけはE資格と相性が悪いです。

あくまでゼロつく3は「フレームワークのなかみを知りたい人向けの本」だと改めて明言します。

こんな人におすすめ

ディープラーニングフレームワークは

  • どのような仕組みで動いているのか
  • どのような技術が使われているのか
  • どのような思想が根底に流れているのか

を知りたい人にはぜひオススメしたいです。

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