まったりAI勉強記

AI(人工知能)について、特にゆかりがあるわけでもない社会人が、まったりとAIについて勉強していく勉強日記です。

【ひとり読書会】PyTorch&深層学習プログラミング(第2回)

どうも、カタミチです。

さて、今日も「最短コースでわかる PyTorch&深層学習プログラミング」のひとり読書会、やっていきますかねー。

まずは「まえがき」と「目次」ですね。「まえがき」ってやつは、まえがきと言いながら本をすべて書き終えた後に最後に書かれる、というのが相場なので、多くの場合、著者の思いが詰まった大切な部分です。ないがしろにせずにしっかり読んでいきたいですね。「目次」も、個人的には結構大切にしています。さて、読んでいきますかね〜。

 

 

まえがき

冒頭、本書誕生のいきさつが書かれていました。要約すると…

「PyTorchは、せっかくいいフレームワークなのに情報が少なく資料がわかりにくい。初級者用のわかりやすい解説書を作れば活用が進むのでは?」

ということのようです。本書の初版発行は、2021年9月17日。執筆開始はその数ヶ月前でしょう。現在、そこからまだ1年程度なので状況がそれほど大きく変わっているとは思えませんが、本書の発売自体が状況を変えている可能性はありそうですね。現にこうして、4ヶ月前まで「機械学習」という言葉すら知らなかった私が、本書を手にとって勉強を始めようとしているくらいですから。

 

さて、そんな経緯で生まれた本書のゴールは、

「PyTorchを使ってディープラーニングプログラミングができるようになる」

とあります。どうやらここが本書の天竺のようですね(なぜか引っ張る西遊記ネタ)

分かりやすく、しっかり順序立ててサポートしてくれているであろうことは、著者の別著書で体験済みなので、きっと私もたどり着くことができると思うと、今から楽しみです。

ただ、前記事でも書きましたが、本書はページ数が多いですねー。圧巻の590ページ(電子書籍版)。1ページあたりの情報量も多いことが予想できますので、天竺にたどり着くまでにどれくらいの時間がかかるか…?たどり着く頃には既にそこが天竺ではなくなっている可能性もあるのではないか…?まぁ、考えても仕方ないので楽しくやっていきましょう(楽観的)

ちなみに、天竺ってのはだいたい現在のインドのことのようです。史実では、三蔵法師玄奘はサンスクリット語で書かれた仏教の経典を求めてインドの各地を巡り歩いたようで、実際には、しゃべる猿やカッパや豚は連れていなかったようです(どうでもいいわ)

 

 

さて、続けて「想定する読者」というものが書かれています。4種類の読者層が挙げられており、自分がどれに該当するのか?というのを確かめておくことで、本書を読む上での「視力」を上げる効果がありそうな部分です。この場で列挙したりはしませんが、しっかり自分の立ってる場所を理解しておくべきでしょうね。

ちなみに、本書の表紙にはこの「想定する読者」をひとことで表すキャッチコピーが印字されています。それは…

「ビギナー」から「ベテランエンジニア」まで

です。…ま、つまりはそういうことですね(どういうことだってばよ)

 

この「想定する読者」の説明の中で、後々出てきそうなポイントがいくつか語られています。ざっと眺めてみると…

・多値分類モデルの損失関数が、PyTorchのポリシーのせいでクセがあって苦労するが、二人三脚でしっかりやっていく!
・コードはちゃんと深く理解する努力をすべし。しっかりサポートするぜ!
・Pythonの基本文法、NumPy、Matplotlibあたりに自身が無い人は、とりあえず巻末講座からやるべし!
・「転移学習」を使って自分で集めた画像データで分類モデルが作れるようになる。最後には「オオカミ」と「シベリアンハスキー」を見分けることができるようになるであろう!

という感じ。…誤解の無いように言うと、こんなテンションで書かれているわけではありません。カタミチ畳み込みフィルターが掛かってます(汗)

3つ目のポチに書いてある「巻末講座」について、先に見ておいたほうがいいかもなー、と思ってざっと眺めてみたんですが、確かに内容に入る前に見ておいたほうが良さそうです。…ただまぁ、いきなり文法の勉強から始まって、しばらくの間、文法の勉強が続く…というのもちょっとモチベーション上がらないので、内容に入りつつ必要に応じて参照する…という辞書的な使い方をしようかな、と(モチベーションの問題かよ)

加えて、きっと文法的に込み入った場所に差し掛かったら「分からない人は、巻末の○○ページで復習してください」みたいなガイドがあるはず!(他力本願)

 

 

まえがきの最後には「数学に対する考え方」が書かれていますね。で、サラッと書いてあったのが…

「ディープラーニングの学習アルゴリズムとは、結局数学そのものです。」

やっぱりそうですよね!この一文を理解できるようになっただけでも、少し成長した自分を感じました。

しかし本書では「微分」「合成関数」「勾配降下法」といった数学理論は、数式に頼らずプログラミングとイメージによる理解を目指してるとのことです。「可能な限り本文中で数式は使わない」とも宣言されているので、この点はどうやら「ディープラーニングの数学」とはスタンスが違うようですね。個人的には食べられるところが増えた気がして嬉しいです、はい。

 

 

目次

で、目次です。

目次については、前回の見開きの章立てのところと重複してますね。ただ、見開きには記載がなかったですが「序章」ってのがあるようです。タイトルは「初めての画像認識」。とりあえずここから入っていくことになりそうですね。

ちなみに私、書籍での勉強の際、勉強を始める前に目次をノートに写し書きするようにしています。なんかこう、儀式みたいなものですかね。あとから、読み終わった章・節にチェックマークや読んだ日付を書き足したりもしてます。

これ、書き写すのに案外時間が掛かるもので、たいてい1〜2時間くらいかかります。目次ってのが、イメージしているより遥かに細かく書かれている事に気づくのが、この写し書きのメリットです。天竺に至るまでの地図上のルートと旅程イメージを付けることができるので、かなりのオススメソッドです(オススメソッドとは)

 

 

ということで

どうやら本書では数式はあんまり出てこないって事で、TeXの記法を極めつつあった私のスキルは、しばしお蔵入りのようです(何を目指していたのか)

しかし、プログラムを見ながら手を動かす部分は増えそうなので、楽しみですねー。

ではまた。