0
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Course 2 > Week 3 Hyperparameter tuning, Batch Normalization and Programming(Coursera Deep Learning Specialization 受講記録)

Last updated at Posted at 2018-06-14

Coursera > Deep Learning Specialization > Course 2 : Improving Deep Neural Networks: Hyperparameter tuning, Regularization and Optimization > Week 3 Hyperparameter tuning, Batch Normalization and Programming の受講記録。

概要

Course 2 は3週分の講座から構成される。

  1. Week 1 Practical aspects of Deep Learning
  2. Week 2 Optimization algorithms
  3. Week 3 Hyperparameter tuning, Batch Normalization and Programming Frameworks

今回は Week 3 の受講記録。Batch Normalizationが登場。


Hyperparameter tuning

Tuning process

チューニングが大事なパラメータ

  • 最も大事
    • α(学習率)
  • その次に重要
    • β(Momentum項) 0.9が良いデフォルト値
    • ミニバッチサイズ
    • Hidden Layerのユニット数
  • その次
    • レイヤー数
    • Learning Rate Decay
  • あまりチューニングしない
    • Adamのパラメータ : β1=0.9 , β2=0.999 , ε=10**-8

グリッドサーチはあまり使わない。ランダムサーチのほうが良い。fine sampling schemeというのも良い。

Using an appropriate scale to pick hyperparameters

ハイパーパラメタを探索する際は適切なスケールを選択することが重要。

Hyperparameters tuning in practice: Pandas vs. Caviar

ハイパーパラメータのチューニングには2つのアプローチがある。
1.少数のモデルにすこしずつ手を加えて育てていく
2.大量のモデルを同時並行でトレーニングする。いろんなパラメータを同時に試すことができる。
2はコンピュートリソースが潤沢にあるような場合に採用することができる。

Batch Normalization

Normalizing activations in a network

入力データの正規化だけでなく、各層のOUTPUT(つまり次の層へのINPUT)もそれぞれ正規化することでtrainingがスピードアップする、という考え方。正規化のタイミングは活性化関数を適用する前とするか後とするかで議論があるが、活性化関数の適用前に正規化することが多い。ただし隠れ層の入力は平均0と分散1がベストではない。γとβを使って分散をスケールし、平均をずらす。
Ztilda = γ*Znorm + β
γとβは BartchNorm における学習可能なパラメータ。

Fitting Batch Norm into a neural network

Mini Batch + Batch Norm の実装。

Why does Batch Norm work?

なぜBatch Normが機能するのか?の説明。
共変量シフト = covariate shift
Batch Norm は内部共変量シフトを抑制する。

(以下、参考になります)

Batch Norm at test time

ここまでミニバッチ単位で正規化する処理を見てきたが、1件ずつのデータを処理するテストフェーズではどうするのか?
→exponentially weighted average で近似化する

Multi-class classification

Softmax Regression

唐突にソフトマックス回帰

Training a softmax classifier

softmax regression の training

Introduction to programming frameworks

Deep learning frameworks

Python と NumPY で頑張らなくても、 DeepLearning のフレームワークがいろいろある。
フレームワークを選ぶ上で重要なポイントは以下の通り。

  • プログラミングの容易さ
  • 実行速度(大量データのトレーニング速度)
  • 真にオープンなフレームワークかどうか

単一の企業のコントロール下にあるのではなく、優れたガバナンスのもと、末永くオープンソースであり続けられるかどうか。

TensorFlow

TensorFlowの導入。

Programming assignment

TensorFlow

TensorFlow Tutorial

0
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?