The King's Museum

ソフトウェアエンジニアのブログ。

Coursera: Neural Networks and Deep Learning を修了したよ

Coursera: Deep Learning SpecializationCourse 1: Neural Networks and Deep Learning を修了しました。

f:id:hjm333:20180226214601p:plain

内容は次の通り。

  1. Logistic Regression as Neural Network
  2. Vectorization
  3. Shallow Neural Network
  4. Deep Neural Network

これらを学習する過程で、

  • Activation function
  • Forward propagation & Back propagation
  • Gradient descend
  • Compute Graph
  • numpy

という Deep Learning の基礎的な知識も得ることができる。

これらの知識を得られたことも価値だけど、時折 Andrew 先生が話してくれる

最近は、 XX という手法が流行っていて結果を出しているよ

とか

YY という手法もあるけどあまり使われてないよ

というアドバイスがすごく価値があるのではないかと思わせる講義だった。

Week 4 の課題のバグ

Week 4 の課題はバグがあって一度で 100% が取れず少し苦労した。

プログラミングの課題は Jupyter Notebook になっていて、

  1. テキストを読む
  2. コードの穴埋め
  3. その場でインタラクティブに実行して結果をチェック(この時点では採点されない)
  4. 最終的にコードを提出し採点

という流れになっている。

ただ、Week 4 の "Building your Deep Neural Network: Step by Step" の "6.3 - L-Model Backward" で提示されているコードは、穴埋め前の状態でバグがある。 加えて、そこに提示されている「期待される実行結果」自体が間違っている。

そのため、

  • 提示されているコードを元にして穴埋めをする
  • その場で実行すると、実行結果が「期待される実行結果」と一致するので、コードがあっているように見える
  • しかし、本当はコードが間違っているので最終的に提出するとスコアが 0 になる

という分かりづらい自体に陥る。

ここで間違った部分のコードを貼って解説しようかと思ったけど、規約上微妙かな、と思ったので役に立ちそうな Discussion Forum のリンクだけ貼っておきます。

本当に困っていたら直接連絡をください。

(c) The King's Museum