NN4ML, Coming Halfway

Courseraで Neural Networks for Machine Learning というクラスをとっており、ようやく半分まで進んだ。CNN, RNN, LTSM という三大知りたかった単語の正体がわかってよかった。後半はなんの話をするんだろう。個人的には応用編として TensorFlow でコードを書こうとなってほしいところだけれど、普通に理論的な話が続くっぽい。

授業の内容。むずかしい、というか超絶不親切。自分のような初学者はビデオをみただけだとまず間違いなく理解できない。だから周辺資料をがんばって読む。クラスのページにアップロードされている論文以外だと、最初は Stanford の 231n および 245d からリンクされている論文のうち関係ありそうなものなどをつまみ食いしていたが、結局 www.deeplearningbook.org の草稿から関係のある章を刷って読むのが一番役に立っている。

授業の話題の選択自体は正しそうな印象。あと教科書を読んだ上で話を聞くとそれなりに面白い。講師が NN における歴史上の人物の一人なので細かい発言がぶっとんでいる。たとえば "なんで hidden layer をそうやって呼ぶか知ってますか。私が気に入った名前だからです。hidden markov model という名前がかっこ良かったので hidden という部分をパクったのです" とかいう逸話をサラッとはさんでくる。わかりやすさよりはそういう雑談を楽しむクラスなのか。

クイズ。自力で必要なスコアを取るのはまず無理だと思うが、多くは答え合わせのフェーズで正答が読める。なので何度かやればだいたい大丈夫。クイズは単純な復習でなく、事実上授業のコンテンツの一部になっている。このスタイルは好きではない。ただゴミではなく理解の足しにはる。

コーディング。相変わらず Octave は好きになれない。あと training が手元だと普通に 20 分くらいかかる場合があり、複数のパラメタでトレーニングしなおしたりする必要があるため時間を節約する工夫が必要。自分は GCE で 8 core のインスタンスを借り、カネの力で解決した。Octave の vectorization はぜんぶのコアをきちんと活用しており感心。

といったかんじで良い所も悪いところもあるコース。

授業と教科書の組み合わせでもなお理解できず仕舞いなトピックも残る。後続の講義でその不理解がボトルネックになったことは今のところないけれど、いつか理解不足で挫折するかもという危険は感じる。完遂できる自信はない。ま、できるところまでがんばります。