C4W2
CourseraでAndrew Ng氏のDeep Learning Specializationを受講しています。
いま、course4: Convolutional Neural Networksです。
week2が終わりました\(^_^)/
自分用のまとめをあげます。
CNNの続きです。
代表的なCNNの説明。論文は、AlexNet → VGG-16 → LeNet-5 の順に読みやすい、LeNet-5はちょっと読みにくいそうです。過去の業績にも敬意を払っているのを感じます。過去といってもそんなに前の話ではありませんが。
GitHubからダウンロードするやり方も説明してくれました。一から自分で学習させるより、オープンソースからweightをもってきてtransfer learningする方が早い。
私みたいな初学者でも論文を紹介してもらったり、オープンソースの利用を教えてもらえるのが嬉しいです。論文も読めるようになりたい。
ただ、これらの技術は複雑で違和感も覚えます。技術が進んで精度があがっていくのはわかるけれど、人間の目や脳ではこんな複雑なことが行われているとは思えない。人間の目や脳ってすごいなぁ。改めて人間が物を見る仕組みについて知りたいと思いました。
プログラミング課題は二つ。はじめのはやりたい人だけ。
Keras tutorial - the Happy House は、入り口でハッピーな顔をしないと家に入れないお話。ハッピーか否かの顔認識システムを作ります。Happy Houseという設定がいいですね! Kerasは初めてで戸惑いましたが、見よう見まねで書いて動く。っていうかこんなに簡単にできるの?って驚いた。今までback propを必死になって書いてのは何だったんだろうって感じ(もちろん無駄ではない)。モデルを素早く作ってhyperparametersを変えて試すことができる。モデルの流れ図みたいなものを出力できるのも便利。
二つ目の課題は、Kerasを使ってhand signを見分けるための50層のResNetを作るというもの。Kerasで+ではなくAdd()を使うのに引っかかったり、discussion forum見て解決。それ以外は言われるままに書いて動いた。課題は2 epochで5分くらいかかるが精度は低い。その後20 epoch回すと精度がどんどん上がっていくのが見られておもしろかった。でも1時間以上かかったけど。また、すでに学習されたweightをダウンロードすることもやった。先生のお言葉↓ state-of-the-artは最先端ていう意味なんだね(^^)v
Congratulations on finishing this assignment! You've now implemented a state-of-the-art image classification system!
おまけ:50層のモデルはこんな感じ。