Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Deep Learning輪読 7.9 ~ 7.13

himkt
August 31, 2017

Deep Learning輪読 7.9 ~ 7.13

Deep Learning (http://www.deeplearningbook.org) の輪読会の2017/08/31の回の資料です.

Deep Learning輪読会についてはこちら: https://slis-ml.github.io/2017/07/deeplearning

himkt

August 31, 2017
Tweet

More Decks by himkt

Other Decks in Science

Transcript

  1. おしながき Section 7.9 Parameter Tying and Parameter Sharing Section 7.10

    Sparse Representations Section 7.11 Bagging and Other Ensemble Method Section 7.12 Dropout Section 7.13 Adversarial Training Section 7.14 Tangent Distance, Tangent Prop, and ManifoldTangent Classifier ここからは全然わからなかったのでメモ程度です 1
  2. パラメータ間の依存関係 同じクラスを分類する分類器が2つあるとする (分類器をモデル A,モデル B と呼ぶ) 2つのタスクはデータ分布が異なる モデル A のパラメータを

    w(A),モデル B のパラメータを w(B) とすると,あるデータ x に対して 2つの予測値 ˆ y(A) および ˆ y(B) が得られる 2つの予測関数   ˆ y(A) = f(w(A), x) ˆ y(B) = g(w(B), x)   → この w(A) と w(B) に着⽬する 3
  3. Parameter Tying この2つのタスクが⾮常に似ており,パラメータも似たような 形になるとする 2つのパラメータを「結ぶ」 → ∀i, w(A) i should

    be close to w(B) i この近さに関する尺度をロス関数の中に⼊れることで,罰則を 追加できる Ω(w(A), w(B)) = ∥w(A) − w(B)∥ 2 2 ここでは L2 ノルムを考えたが,他のノルムでももちろんよい 4
  4. Parameter sharing 罰則項の追加はあるパラメータが別のパラメータに 「近く」なる制約 別の制約として,あるパラメータが別のパラメータと 「⼀致」する制約が考えられる → Parameter sharing Parameter

    sharing によってモデルのパラメータ数・学習に 必要な時間は現象する CNN は parameter sharing を⾏なっていて実際に成功している モデルの1つである 5
  5. Parameter Spacity パラメータの要素の多くが0に近くなる       

     18 5 15 −9 −3         y =         4 0 0 −2 0 0 0 0 −1 0 3 0 0 5 0 0 0 0 1 0 0 −1 0 −4 1 0 0 0 −5 0         A           2 3 −2 −5 1 4           x (1) 7
  6. Representation Spacity 隠れ層の要素の多くが0に近くなる       

     −14 1 19 −9 −3         y =         3 −1 2 −5 4 1 4 2 −3 −1 1 3 −1 5 4 2 −3 −2 3 1 2 −3 0 −3 −5 4 −2 2 −5 −1         B           0 2 0 0 −3 0           h (2) 8
  7. How to get sparse representations パラメータをスパースにする⽅法 → 7.12 節を参照 ˜

    J = J(w; X, y) + α∥w∥1 (3) 隠れ層をスパースにする⽅法は? → 同様にノルムを追加すればよい h は何か?→ ⼊⼒ x の関数 ˜ J = J(θ; X, y) + α∥h∥1 (4) 他にも orthogonal matching persuit[Pati et al., 1993] があるらしい(割愛) 9
  8. Bagging Bagging(Bootstrap AGGregatING) 複数のモデルを組み合わせることで汎化誤差を 下げるテクニック(Ensembing の⼀種?) モデル数: k,i 番⽬のモデルのテスト誤差: ϵi

    (1 ≤ i ≤ k) 仮定: epsiloni は多変量の標準正規分布に従う(?) 分散を v,共分散を c として… → E[ϵ2 i ] = v かつ E[ϵiϵj] = c E [( 1 k ∑ i ϵi )2 ] = 1 k2 E [ ∑ i ( ϵ2 i + ∑ j̸=i ϵiϵj )] (5) = 1 k v + k − 1 k c (6) 10
  9. Bagging モデルどうしに依存関係があり,かつ c = v であるとき → ロスの期待値は v k

    + v(k−1) k = v モデルどうしに依存関係がない(共分散 c が 0)とき → ロスの期待値は 1 k v + 0(k−1) k = v k モデルの数に対して線形な減少 → Bagging をすれば期待値的には 以下のことが⾔える • 少なくともどれか1つのモデルと同等のロスが得られる • モデルが互いに独⽴なら各モデルよりもロスは低くなる 11
  10. How to build Ensemble models ブートストラップデータ集合(復元抽出)を k 個作成 k 個のデータセットでモデルを学習

    先ほど⽰したような平均化処理に基づき予測値を出⼒ Figure 1: Bagging のやり⽅(DeepLearningBook fig7.5 より) 12
  11. Dropout binary-mask ベクトル µ でノードを削除 µ ∈ {0, 1}N(1: 残す,0:

    消す) µ は 2N 通り(列挙は現実的ではない) → サンプリングによって近似する (1/0 の確率はハイパーパラメータ) (⼊⼒は 0.2,隠れ層は 0.5 が多いらしい) µ を所与とした際のロス: J(θ, µ) → minθ E [ J(θ, µ) ] Figure 3: DeepLearningBook fig7.7 より 15
  12. Dropout と Bagging の違い • Bagging • 各モデルは独⽴であればあるほどロスの期待値は下がる • bootstrap

    データ集合を作って学習を⾏う • Dropout • 各モデル( ? )には強い関係がある • 各モデル( ? )はパラメータを共有している • → メモリ消費量が少ない! • ミニバッチデータを作り学習を⾏う 16
  13. Dropout と Bagging における推論 推論: 予測のこと • Bagging: P(y|x) =

    1 k ∑k i P(i)(y|x) • Dropout(仮): P(y|x) = ∑ µ P(µ)P(y|x, µ) Dropout は重み付き和的な感じ µ は 2N 通りあり列挙は現実的ではない(2 回⽬) deep neural network における simplification は知られていない → サンプリング近似(10∼20 で⼗分らしい) 17
  14. Dropout における推論 線形モデルにおいては相加平均 < 相乗平均 [Warde-Farley et al., 2014] •

    Dropout(真): p(y|x) = ˜ p(y|x) ∑ y′ ˜ p(y′|x) ただし,˜ p(y|x) = 2d √∏ µ p(y|x, µ),˜ p ̸= 0 とする 18
  15. 確率の計算 p(y|x) = ˜ p(y|x) ∑ y′ ˜ p(y′|x) (7)

    = 2d √∏ d ˜ p(y|x, d) ∑ y′ 2d √∏ d ˜ p(y′|x, d) (8) ˜ p に注⽬する n 次元の 2 値ベクトル d と要素積を⽤いて… ˜ p(y|x) = 2n √ ∏ d in{1,0}n p(y|x, d) (9) = 2n √ ∏ d in{1,0}n softmax(WT(v ⊙ d + b))y (10) = 2n ∏ d in{1,0}n exp (WT y,: (v ⊙ d + by)) ∑ y′ exp (WT y′,: (v ⊙ d + by′ )) (11) 19
  16. 確率の計算 ˜ p(y|x) = 2n ∏ d in{1,0}n exp (WT

    y,: (v ⊙ d + by)) ∑ y′ exp (WT y′,: (v ⊙ d + by′ )) (12) ∝ 2n √ ∏ d in{1,0}n exp (WT y,: (v ⊙ d + by)) (13) = 2n √ exp ( ∑ d in{1,0}n WT y,: (v ⊙ d + by)) (14) = exp ( 1 2n ∑ d in{1,0}n WT y,: (v ⊙ d + by)) (15) 式 13 から式 14 は指数関数の特性から 20
  17. 確率の計算 式 15 = exp ( 1 2n ∑ d

    in{1,0}n WT y,: (v ⊙ d + by)) (16) = exp ( 1 2 WT y,: v + by) (17) 式 16 から式 17 は指数の組み合わせから (dk を固定すると ddk=1 , ddk=0 はそれぞれ 2n−1 通り,2n−1 2n = 1 2 ) 2 項⽬は 2 値ベクトルを含まないのでそのまま 2n 2n by = by → 2n 通りの計算が消えた! 線形なモデルであれば 2N 通りの µ の平均を計算できる? 21
  18. Dropout の Pros/Cons • O(n) で 1 エポックの計算ができる • O(n)

    のメモリ空間で誤差逆伝播もできる • 推論時は dropout しないようにすることで元のモデルと同 じコストで順伝播できる • もちろん Dropout しないよりは遅い • 2 値ベクトルのサンプリングとかいらないし • 元のモデルよりも規模を⼤きくして, エポック数を増やした⽅が良い • → 学習データが⼗分にあるときには計算コストの増加に対 するテストロスの下がり幅の恩恵が少なすぎることもある • 不均衡データには弱い 22
  19. Tangent Distance Algorithms 多様体: 曲線や球体の⼀般化? ,tangent: 接 ユークリッド距離ではなく,多様体由来の距離を使う 多様体を使うときの仮定: 同じクラスに属するデータは,同じ

    多様体の近傍に存在する 分類器を作るとすると… → 多様体の内部のデータに対しては同じような出⼒を, 内部のデータと外部のデータに対しては異なる出⼒が得られる ようにしたい 多様体上の変化には鈍感,多様体から離れる変化には敏感 25
  20. References i [Meyer, 2017] Meyer, D. (2017). Notes on adversarial

    examples. http://www.1-4-5.net/~dmm/ml/adversarial.pdf. [Pati et al., 1993] Pati, Y. C., Rezaiifar, R., and Krishnaprasad, P. S. (1993). Orthogonal matching pursuit: Recursive function approximation with applications to wavelet decomposition. In Signals, Systems and Computers, pages 40–44. IEEE. 27
  21. References ii [Warde-Farley et al., 2014] Warde-Farley, D., Goodfellow, I.

    J., Courville, A., and Bengio, Y. (2014). An empirical analysis of dropout in piecewise linear networks. In Proc. International Conference on Learning Representations. 28