PyTorch入門書の決定版!「最短コースでわかる PyTorch &深層学習プログラミング」

f:id:karaage:20210910210410j:plain:w640

PyTorch入門書の決定版が出ました!

 日経BP様より「最短コースでわかる PyTorch &深層学習プログラミング」を献本いただきました。筆者の赤石さんの書籍のレビューは「ディープラーニングの数学」「Python自然言語処理入門」「Pythonで儲かるAIをつくる」に続き4冊目です。

 そうです、私は日経BPさんとも赤石さんともズブズブの関係です!でも、ズブズブである分を差し引いたとしても、この書籍は本当にわかりやすくて良い本です。

 「これからPyTorchに入門する一人でも多くの人に読んで欲しい」と強く思ったので是非紹介させてください!

「最短コースでわかる PyTorch &深層学習プログラミング」がPyTorch入門にベストな理由

 ここから、「最短コースでわかる PyTorch &深層学習プログラミング」が、何故PyTorch入門にベストなのかを1つ1つ説明していきたいと思います。

著者「赤石さん」信頼の実績と圧巻のボリューム

 まず、私が信じられない人は、私のことは信じられなくて良いので、本書の著者である赤石さんのことを信じて欲しいです。具体的には過去の書籍のAmazonレビューを見て欲しいです。どの書籍も数多くの高評価と絶賛の嵐です。

 本書も、過去の書籍同様に丁寧でつまづきどころをしっかりおさえています。特に本書に関しては、その姿勢が本のボリュームにもしっかりあらわれています。何せ本が横で立つ分厚さ、圧巻の567ページ!

 この手の技術書で、横にして本が立つもの初めてみました(笑) f:id:karaage:20210910210448j:plain:w640

 書籍の最初には、書籍で学ぶことをマップ化した図があります。 f:id:karaage:20210910210555j:plain:w640

 書籍で迷ったら、すぐこの図をみることで、自分が何をしているか居場所に立ち戻ることができる親切設計です。

Google Colaboratoryでみっちり実践

 本書は、あらゆるPyTorch初学者を対象にしている欲張りな内容(なので567ページの量になっています)ですが、特におすすめなのがPythonがある程度わかって、これからPyTorchを学ぶ人ですね。TensorFlow/Keras経験者ならなおよしです。

 書籍では、初心者のつまづきどころを丁寧にすくいあげて、画像分類までを実践します。サポートサイトには、Google Colaboratoryですぐ実践できるサンプルコードがあるので、みっちり実践して最短でPyTorch入門できます。

 なお、本書のサポートサイトのサンプルコードは、書籍の補足以上のボリュームがあります。例えば、3.4の勾配法のところは、書籍にはコードがないのですが、書籍に出てくる勾配法のアルゴリズムを可視化したコードがあり、実行すると書籍の図が出てきたりします。

f:id:karaage:20210921170757p:plain:w480

 恐らく、このあたりのコードも当初は書籍に載せようとしていたのですが、ページ数の都合で泣く泣くカットしたのではないかと私は勝手に予想しています。一体どれだけ詰め込むつもりだったのでしょう(笑)書籍もそうですが、サポートサイトのコードも真面目に読み込むほど力がつくと思います。

 また、Google Colaboratoryのコードに関しても piptail -n 1 をパイプでつないで結果だけを表示するといった、さりげない小技がところどころにちりばめられています。このあたりは、ある程度詳しい人でも参考になるところ多いのではないかと思います(自分は pip -qq とかしちゃうタイプです)。

ゼロから作るディープラーニングとの比較

 本書と関連する書籍として、ゼロから作るディープラーニング 3(ゼロから作る)を挙げたいと思います。実は、書籍を読んでいる途中ゼロから作るの内容を思い出しました。ゼロから作るは、PyTorchと似たディープラーニングのフレームワークを、文字通りゼロから構築することでディープラーニングを理解する書籍です。それに対して、本書はPyTorchを使いこなすために、実践しながら理論を理解するという書き方になっています。

 どちらが肌に合うかは個人の好みが大きいと思いますが、あえて書くなら「PyTorchを最短で使いこなしたい!」という人は本書で「PyTorchに特化しない汎用的な知識を長い目で身に着けたい!」のであればゼロから作るが良いと思います。特に、ゼロから作るシリーズは本質的な理解を深めるのにはとても良い本なのですが、終わったあとにすぐPyTorchでガリガリとコード書いたり、AI学習させたりといったことできる内容ではないので、実践とは少しギャップがあるとは思います。もちろん、一番のおすすめは両方読むことですね。

今一番熱いディープラーニングのプラットフォームはPyTorch

 書籍を勧める最後の理由は、PyTorchというフレームワークを選んでいることです。少し前までは、TensorFlow(Keras)の一強でしたが、最近は論文のGitHub上の実装がPyTorchで実装されていることが非常に多くなったと体感で感じます。

 PyTorchの使い勝手は、TensorFlowでいうKeras的な決定版となるラッパーはないので、学習させるのに自分でループを組む必要があったりと、最初手間は感じるかもしれません。ただ、その分ブラックボックス度合いも低く、使いこなすとディープラーニングやPythonへの理解がより深まるのではないのかなと勝手に思っています。

 PyTorchに関しては、私も以前記事を書いているので、よければ以下も参照ください。

書籍を読んだ次にやることのおすすめ

 書籍自体は、みっちり学習できる良い内容で、消化不良はないと思いますが、書籍の内容としては画像分類までとなっています。

「画像の生成とか姿勢推定とか画風変換とか、せめて実用的な物体検出とかもやりたーい」と物足りなさを覚える方もいるかもしれません。

 そんな方には、ずばり手前味噌ですが拙作「からあげ先生のAI自作教室」を勧めたいと思います。

 物体検出や姿勢検出するだけに留まらず、物体検出でディープ写輪眼を動かしたり、姿勢検出でVTuberになるといった気の狂った企画が詰め込まれています(笑)

 「からあげ先生のAI自作教室」のサンプルコードは、TensorFlow(Keras)で書かれていますが、実はサポートサイトの1部(画像分類)はPyTorchのサンプルがあったりします。

 他の例も、自分でPyTorchで実装にチャレンジしたらものすごい力がつくと思います。そして完成したら、是非サポートサイトにPull Requestしてください(人任せ)。

 PyTorchでの実装に自信がない。実装例が多く見たいという方は、中部大学がGitHubで公開しているノートブックがおすすめです。

 Google Colabですぐ試せる、PyTorchの実装例が多く取り入れられています。説明は簡潔ですが、本書をじっくり読んだ後ならやっていることが理解できるのではないかと思うので、本書の次の段階としてぴったりなのではないかと思います。

 その他のチュートリアルなどは、以下記事などから探していただければ良いかなと思います。

まとめ

 「最短コースでわかる PyTorch &深層学習プログラミング」を紹介しました。本当にこのまま教科書として普通に学校、仕事で使えそうな良い本でした。逆にいうと、ゆるい部分は一切ないので、読者の姿勢が試される本かもしれません(笑)

 まじめにじっくり学習したい人ほど、価値を増す本だと思います。おすすめです!

関連記事