Coursera: Deep Learning Specialization の Course 2: Improving Deep Neural Networks を修了しました。
学んだ内容は次の通り。
- Train/Dev/Test set
- Bias/Variance
- L2 Regularization
- Dropout
- Normalizing
- Mini-Batch Gradient Descendant
- Momentum, RMSprop, Adam Optimization
- Tuning hyper parameter
- Batch Normalization
- Soft-max
- Tensorflow
Course1 は Deep Neural Network のイメージを掴むための基礎講義だったけど、Course 2 は学習時に使われている最適化アルゴリズムの紹介がメインだった。
DNN はパラメータ W と b で定義されるわけだけど、学習でそれらを決めるためには、
- ネットワークの深さ
- 各層のユニット数
- 学習率
- 減衰率
- バッチサイズ
- 学習回数
- 最適化アルゴリズムとそのパラメータ
という、パラメータ W と b を決定するハイパーパラメータを決定する必要がある。
結局、これらのハイパーパラメータを「どうやって、どの値にするか」が勝敗を決める、という感じですね。
Course1 で DNN の全体像をきちんと掴んでいたおかげで、それぞれのアルゴリズムやテクニックがどこに効いてくるかがとても分かりやすかった。 やはり Andrew 先生の講義で間違いなかった…(比較対象はないけど)。