Deep Learning(An MIT Press book) の要点メモシリーズ。
今日の範囲は隠れ層の前半。ReLU つよいという話と、その一般化の話。
Chapter 6 Deep Feedforward Networks
6.3 Hidden Units
- ReLU がデフォルトの選択肢として最も良い
- 事前にどの units がよいかはわからないので trial and error をする
- ReLU のようないくつかの units は微分できない点がある
- 多くの hidden units は入力 x のアフィン変換 に要素ごとの非線型変換 g(z) を適用したものになっている
- units の違いは活性化関数 g(z) の違い
6.3.1 Rectified Linear Units and Their Generalizations
- ReLU:
- 線形ユニットに似ているので最適化しやすい
- 2階微分よりも勾配の向きが最適化には大切
- の b は小さな正の値がよい(例: 0.1)
- ReLU は z が負だと0になるので、正の値を与えて勾配を持たせる
- ReLU の一般化
- Absolute value rectification:
- leaky ReLU: αが小さな値(例: )
- parametric ReLU: αをパラメータとして学習
- Maxout units
- ReLU のさらなる一般化
- g(z) を要素ごとではなく、 k 個ごとのグループに対して適用する
- g(z) はグループ内の最大値を返す関数
- グループに対して区間ごとに線形な凸関数を学習する(活性化関数の形そのものの学習)
- k を大きくすれば任意の凸関数を近似できる
- k=2 の場合、 ReLU やその一般化した関数を学習する
- 1つのユニットが k 個の重みベクトルを扱うので正則化が重要
- ReLU は element-wise なので各ユニットは重み行列 W の1つの行(=重みベクトル)を使うが、 maxout の各ユニットは k 個の要素を持つグループを扱うので W の k 行ぶんを使う
- maxout を通過することで変数が1/kになるという統計的、計算量的利点
- catastrophic forgetting(昔学習したことを忘れる)に耐性がある
- multiple filter によって冗長性がある
- (メモ: グループ内の各zは maxout より前の層を通過しているので、maxout 通過後の変数は k 個の層の効果が重なっている?)