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

[Journal club] Deep Learning without Shortcuts: Shaping the Kernel with Tailored Rectifiers

[Journal club] Deep Learning without Shortcuts: Shaping the Kernel with Tailored Rectifiers

More Decks by Semantic Machine Intelligence Lab., Keio Univ.

Other Decks in Technology

Transcript

  1. Deep Learning without Shortcuts: Shaping the Kernel with Tailored Rectifiers

    Guodong Zhang1,2, Aleksandar Botev3, James Martens3 (1University of Toronto, 2Vector Institute, 3DeepMind) 慶應義塾⼤学 杉浦孔明研究室 B4 和⽥唯我 Guodong Zhang et al., “Deep Learning without Shortcuts: Shaping the Kernel with Tailored Rectifiers”, in ICLR(2022) ICLR 2022
  2. 概要 2 ü 背景 • 残差接続はDNNの層を増やす上で不可⽋な要素 • ⼀⽅で残差接続にも様々な課題・⽋点が存在 ü 提案⼿法

    • 残差接続を使わずに50 or 101層のDNNを実現するTATを提案 • Global Q/C maps による理論保証 ü 結果 • ImageNetにおいてResNetに近い精度を記録
  3. 背景: 残差接続には解釈の⽭盾や⽋点が存在 3 o 解釈の⽭盾 • 残差接続は⽐較的浅い層のアンサンブルとみなすことができる[Veit+, NeurIPS16] • 「深層」学習

    → ⼀般には「層を増やす」ことがモデルの表現⼒を⾼めている と⾔われている o 残差接続はメモリを圧迫している[Ding+, ICPR21] • 残差接続が結合されるまで⼊⼒を保持する必要があるため, ⼀つのスキップで 2倍のメモリを使う • e.g ResNet-50における残差接続は特徴マップの40%もメモリを使⽤ 残差接続の再考が必要
  4. 既存研究: 汎⽤性と速度に課題が存在 4 o Edge of Chaos (EOC) [Schoenholz+, ICLR17]

    • ⽐較的深いDNNを⼩規模データセットにおいて学習可能に o Deep Kernel Shaping (DKS) [Martens+, 2021] • 後述のQ/C Mapsに制約が掛かるようネットワーク構造を変化させ, より 深いDNNを学習できるように → 課題: ReLU-Familyを活性化関数に⽤いることができない ⇒ 本研究はDKSを拡張し, より汎⽤的で⾼速な⼿法を提案 それぞれの Q/C maps における制約 (後述)
  5. 前提: カーネルの近似 5 • 活性化関数を𝜙 ⋅ としたとき, 全結合ネットワーク 𝑓 の各層の出⼒は

    • ただし重み 𝑊! は , バイアス 𝑏! は 0 で初期化されているとする • このとき, 𝑓" ! 𝑥 ≔ 𝑥! として, 𝑓" ! ∶ ℝ# → ℝ$! のカーネル 𝜅% ! (𝑥& , 𝑥' )を • と定義する.
  6. 前提: カーネルの近似 7 • 同様に各層の Σ+, Σ+,&間にも以下の関係が成り⽴つ. • 元のカーネルはNeural Net

    𝑓 で記述されているのに対して, 近似されたカーネルは 活性化関数 𝜙 で記述されていることに注意. 元のカーネル
  7. Q / C maps : Q mapは⼊⼒→出⼒の変化の程度を測る 8 • カーネル

    𝐾(𝑥, 𝑦) は実数(再⽣核ヒルベルト空間)において, 𝑥, 𝑦 の類似度を測るので 極めて有⽤. • 2次のGram⾏列 Σ+,& に対して, 各対⾓成分 𝑞- +,& は Σ+ の対⾓成分 𝑞- + のみに 依存するので, • このとき, 𝑞- !,& = 𝒬(𝑞- !) であるような 𝒬 を local Q map と呼ぶ • 対⾓成分は 𝜅% ! (𝑥&, 𝑥&)であるから, ある層によってどれだけ⼊⼒が収縮・膨張 したかを表す. • カーネルの近似エラーにおける重要な指標 (ただし, 𝑞! " = #! " $# ) 振幅 ↓
  8. Q / C maps : C map は⼊出⼒の類似度の関係を測る 9 •

    同様に各⾮対⾓成分 𝑐- + を計算すると, • 𝑐- !,& = 𝒞(𝑐- !) であるような𝒞を local C map と呼ぶ • ⾮対⾓成分は 𝜅% ! (𝑥& , 𝑥' )であるから, ある層が⼊⼒同⼠の類似度𝑐- !に対して 出⼒の類似度をどれだけ保持できているかを表す (ただし, 𝑐! " = #! $#" $# ) 類似度 ↓
  9. Global Q / C maps : Q / C Mapsを各層順に合成したもの

    10 • 𝐿層のネットワーク 𝑓 に対し, 各層順に合成した以下の関数について, • これらをそれぞれ global Q map , global C map と呼ぶ. o 𝒞% ∶ global C map • ⼊⼒の類似度 𝑐 に対しどれだけ出⼒の類似度を保持できているかを表す • 勾配による学習に直結する重要な指標
  10. 𝒞! はある程度⾮線形であることが望ましい 11 o 𝒞% は⼊⼒の類似度に対しどれだけ出⼒の類似度を保持できているかを表す • ☹ 𝒞% が線形に近づけば,

    活性化関数も線形に近づく (=全く同じ類似度で返す) • ☹ ⼀⽅で𝒞% が⼀様に1に近づけば, ⼊⼒間の類似度を正しく測れないため, 𝑓の出⼒から⼊⼒間の相対的な距離を推測するのが困難に → 勾配による𝑓の学習が進まなくなる 層を増やすと ReLUを⽤いた⼀層のNN 引⽤: [Martens+, 2021]
  11. 𝒞! はある程度⾮線形であることが望ましい 12 o 𝒞% は⼊⼒の類似度に対しどれだけ出⼒の類似度を保持できているかを表す • ☹ 𝒞% が線形に近づけば,

    活性化関数も線形に近づく (=全く同じ類似度で返す) • ☹ ⼀⽅で𝒞% が⼀様に1に近づけば, ⼊⼒間の類似度を正しく測れないため, 𝑓の出⼒から⼊⼒間の相対的な距離を推測するのが困難に → 勾配による𝑓の学習が進まなくなる 層を増やすと ReLUを⽤いた⼀層のNN 引⽤: [Martens+, 2021] 層を増やすことにより学習が進まなくなる傍証
  12. 提案⼿法: Tailored Activation Transformation (TAT) 13 o 𝒞% について望ましい条件 •

    𝒞% (0) = 0 → 全く類似してないサンプルは出⼒の類似度も0であってほしい • 𝒞% ’(1) = 1 → なるだけ𝒞% = 1 に接近するような”平坦な形”は望ましくない o Tailored Activation Transformation (TAT) • 上記条件を満たすように活性化関数を変形する⼿法TATを提案 • ⼗分滑らかな活性化関数𝜙において適応することができる • 論⽂では特にLeaky ReLU (LReLU)に対してフォーカスされている • 具体的には以下のように𝜙1 ↦ = 𝜙1 と変形 (𝛼はハイパラではない. 後述)
  13. 提案⼿法: Tailored Activation Transformation (TAT) 14 o Tailored Activation Transformation

    (TAT) • 次のように𝜙1 ↦ = 𝜙1 と変形すると, • = 𝜙1 において, 以下のようなlocal Q/C Mapsが得られる. • 𝒬 𝑞 = 𝑞 → カーネルの近似エラーを軽減することができる • 𝒞 𝑐 → 𝑐 のみに依存しており, 「閉じた形」で書けるので計算が容易
  14. 提案⼿法: Tailored Activation Transformation (TAT) 15 • 𝒞% について望ましい条件について⾒てみると, •

    𝒞% ’(1) = 1 → 満⾜可 • 𝒞% (0) = 0 → 満⾜するには𝛼 = 1とする必要があるが, その場合 𝒞 𝑐 = 𝑐と線形 になってしまう☹ ⇒ そこで𝒞% 0 = 𝜂 として, 𝒞% の線形度合いを調整できるように (𝜂 : ハイパラ) • このような特性の = 𝜙1 を活性化関数に⽤いたモデルは, 活性化関数を 2 max{𝑥, 0} として残差接続の重みを ' &,1# としたResNetと同等であることが証明できる (→Appendix)
  15. TATアルゴリズムの⽬標 : 𝜇! " 𝛼 = 𝜂 を満たす𝛼 を探索 16

    • 𝒞% はネットワーク全体 𝑓 におけるC mapである → 安定化のため, サブネットワーク g ⊆ 𝑓 について, 𝜇% *(𝛼) を 𝒞% の代わりに使⽤ • 𝒞は前述の式で容易に計算可能 → • (当初の⽬標) 𝒞% 0 = 𝜂 を満たすような 𝛼 を探索 → (新たな⽬標) 𝜇% * 𝛼 = 𝜂 を満たすような 𝛼 を探索
  16. Algorithm: Tailored Activation Transformation for Leaky ReLU 17 1. 𝑓

    のサブネットワーク g ⊆ 𝑓 に対して, 𝒞2 を計算し 𝜇% * 𝛼 を計算 2. 𝜇% * 𝛼 = 𝜂 を満たす𝛼 を探索 3. 活性化関数 = 𝜙1 𝑥 = ' &,1# 𝜙1 𝑥 をモデルに適⽤ Tailored Activation Transformation for Leaky ReLU How ?
  17. ⼆分探索を⾏って 𝜇! " 𝛼 = 𝜂 を満たす 𝛼 を探索 18

    • (⽬標) 𝜇% * 𝛼 = 𝜂 を満たすような 𝛼 を探索 • このとき, • より, 𝒞 は 𝛼に対して単調減少なので, 𝛼の探索には⼆分探索が使える. ⇒ ⼆分探索で 𝜇% * 𝛼 = 𝜂 を満たす𝛼 を探索し, 活性化関数 = 𝜙1 𝑥 = ' &,1# 𝜙1 𝑥 をモデルに適⽤することで, 残差接続と同等のVanillaなDNNが実現可能
  18. Algorithm: Tailored Activation Transformation for Leaky ReLU 19 1. 𝑓

    のサブネットワーク g ⊆ 𝑓 に対して, 𝒞2 を計算し 𝜇% * 𝛼 を計算 2. ⼆分探索で 𝜇% * 𝛼 = 𝜂 を満たす𝛼 を探索 3. 活性化関数 = 𝜙1 𝑥 = ' &,1# 𝜙1 𝑥 をモデルに適⽤ Tailored Activation Transformation for Leaky ReLU
  19. 定量的結果: TATにより層を増やしても精度が安定するように 20 • OptimizerにはSGDとK-FAC[Martens+, PMLR15] • K-FAC: ⾃然勾配法(⽢利先⽣が考案)の近似によるOptimizer •

    SGDについて, TATを⽤いることで層を増やしても精度が安定するように • ResNetには及ばないまでも, 活性化関数を変えただけで⾶躍的に精度が向上 残差接続を使わないDNN TATをLReLUに適応したDNN (w/o 正規化) 残差接続 : Dataset: ImageNet
  20. まとめ 22 ü 背景 • 残差接続はDNNの層を増やす上で不可⽋な要素 • ⼀⽅で残差接続にも様々な課題・⽋点が存在 ü 提案⼿法

    • 残差接続を使わずに50 or 101層のDNNを実現するTATを提案 • Global Q/C maps による理論保証 ü 結果 • ImageNetにおいてResNetに近い精度を記録
  21. Appendix: 𝛼の範囲について 23 • 論⽂中に 𝛼 の範囲について記載はないが, サンプルコードを⾒るに 𝛼 ∈

    −1,1 だと推察される def binary_search(fn, target, input_=0.0, min_=-1.0, max_=1.0, tol=1e-6): value = fn(input_) if np.abs(value - target) < tol: return input_ if value < target: new_input = 0.5 * (input_ + min_) max_ = input_ elif value > target: if np.isinf(max_): new_input = input_ * 2 else: new_input = 0.5 * (input_ + max_) min_ = input_ return binary_search(fn, target, new_input, min_, max_, tol=tol)