1 min read

「人工知能プログラミングのための数学がわかる本」を読む #4

nabeen

今日もこちら。で、今日までこちら。

最終日である今日は「実践編 3」ということで、MNIST を使った手書き文字認識を DNN で推論するというもの。内容自体は、順伝播やら逆伝播やら、まぁ見慣れた単語がたくさん出てきて、真新しい知識自体はなかった。

でも相変わらずここの計算はめちゃくちゃややこしい。理論自体はわかるんだけど、いざ数式に落とし込むと、一気に複雑になって一気にやる気も削がれる。

一応ここの部分に関しては、「ディープラーニングがわかる数学のきほん」でも結構詳しく書かれているのを読み進めた(理解しているとは言っていない)し、どちらかと言えば「ディープラーニングがわかる数学のきほん」の方がわかりやすく説明されているので、本書では軽く読み流す感じで終わらせた。

実装は Keras と Tensorflow だった。以前 Tensorflow の Hello World で似たようなコードを写経した気もするけど、その時のことはさっぱり忘れているし、今のほうが圧倒的に知見もついていて、ライブラリの細かい使い方みたいな部分はよくわからないけど、全体をみてどういう処理を組んでいるのかは結構普通に理解できた。

数学からのアプローチを体験してみて

冬休みから今日までで、そこそこの数の数学関連の学習を進めてきた。

  • やさしく学ぶ 機械学習を理解するための数学のきほん
  • やさしく学ぶ ディープラーニングがわかる数学のきほん
  • プログラマの数学
  • 【キカガク流】人工知能・機械学習 脱ブラックボックス講座 - 初級編 -
  • 【キカガク流】人工知能・機械学習 脱ブラックボックス講座 - 中級編 -
  • 人工知能プログラミングのための数学がわかる本

こうして箇条書きにしてみると、そこそここなしたなって感じがする。

で、何でわざわざ数学やってるのかっていうと、もともと Coursera の例のコースをやった後で、「数式全然わかんねぇ」みたいな感じに陥って、それを打破したいという目的で数学力を高めるために、冬休みから数学強化週間として、数学から機械学習にアプローチするというスタイルをとってみた。

正直に言って、機械学習をやるにあたって、おそらく当面は高度な数学は必要ないので、先にさっさと実装ベースで進めてしまっても良かったのだけど、結果として、数学からのアプローチを経験しておくのは有意義だったなと感じる。細かい数式をちゃんと追えるか、解けるかというのはまだまだだと思うけど、少なくともどういう仕組みで、どういうアプローチで機械学習の問題を解こうとしているのかのイメージがついたのは、結構役に立つんじゃなかろうか。

数学からのアプローチはこれで一旦終了で、明日からは実装ベースで進めていく。楽しみだ。

P.S.

最近は YouTube やら Reddit やらでも機械学習関連の情報収集をしているんだけど、Reddit でA Comprehensive Learning Path for Deep Learning in 2020という記事を見つけてしまって、これもタスクに積んでしまった。正確にいうと、もっと積んだ。

とりあえず上 2 つは 1 年かけてゆっくりやれそうなやつだったので、まぁ気長にこなしていくつもり。一番下の Python は、最初の方やってみたけど Python の基本から入っているようだったので、前半は多分結構簡単。まぁこちらも気長にやっていこうと思う。

で、まぁ上記もそうなんだけど、英語だったら結構良質なモノが、無料だったり、あるいはめちゃくちゃ安くで手に入ったりする。なのでやぱり英語大事だなぁと。別に喋れなくても聞いて読んでが出来れば、かなり生きやすくなりそうな気がする。