$30 off During Our Annual Pro Sale. View Details »

[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

    View Slide

  2. 概要
    2
    ü 背景
    • 残差接続はDNNの層を増やす上で不可⽋な要素
    • ⼀⽅で残差接続にも様々な課題・⽋点が存在
    ü 提案⼿法
    • 残差接続を使わずに50 or 101層のDNNを実現するTATを提案
    • Global Q/C maps による理論保証
    ü 結果
    • ImageNetにおいてResNetに近い精度を記録

    View Slide

  3. 背景: 残差接続には解釈の⽭盾や⽋点が存在
    3
    o 解釈の⽭盾
    • 残差接続は⽐較的浅い層のアンサンブルとみなすことができる[Veit+, NeurIPS16]
    • 「深層」学習 → ⼀般には「層を増やす」ことがモデルの表現⼒を⾼めている
    と⾔われている
    o 残差接続はメモリを圧迫している[Ding+, ICPR21]
    • 残差接続が結合されるまで⼊⼒を保持する必要があるため, ⼀つのスキップで
    2倍のメモリを使う
    • e.g ResNet-50における残差接続は特徴マップの40%もメモリを使⽤
    残差接続の再考が必要

    View Slide

  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 における制約 (後述)

    View Slide

  5. 前提: カーネルの近似
    5
    • 活性化関数を𝜙 ⋅ としたとき, 全結合ネットワーク 𝑓 の各層の出⼒は
    • ただし重み 𝑊!
    は , バイアス 𝑏!
    は 0 で初期化されているとする
    • このとき, 𝑓"
    ! 𝑥 ≔ 𝑥! として, 𝑓"
    ! ∶ ℝ# → ℝ$! のカーネル 𝜅%
    ! (𝑥&
    , 𝑥'
    )を
    • と定義する.

    View Slide

  6. 前提: カーネルの近似
    6
    • ここで, NNの幅を無限⼤まで⼤きくしたとき, 上のカーネル𝜅%
    & (𝑥&, 𝑥')は下の
    1
    𝜅%
    &(Σ(",(#
    * ) で近似できることが知られている. (証明はAppendix)

    View Slide

  7. 前提: カーネルの近似
    7
    • 同様に各層の Σ+, Σ+,&間にも以下の関係が成り⽴つ.
    • 元のカーネルはNeural Net 𝑓 で記述されているのに対して, 近似されたカーネルは
    活性化関数 𝜙 で記述されていることに注意.
    元のカーネル

    View Slide

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

    View Slide

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

    View Slide

  10. Global Q / C maps : Q / C Mapsを各層順に合成したもの
    10
    • 𝐿層のネットワーク 𝑓 に対し, 各層順に合成した以下の関数について,
    • これらをそれぞれ global Q map , global C map と呼ぶ.
    o 𝒞%
    ∶ global C map
    • ⼊⼒の類似度 𝑐 に対しどれだけ出⼒の類似度を保持できているかを表す
    • 勾配による学習に直結する重要な指標

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  15. 提案⼿法: Tailored Activation Transformation (TAT)
    15
    • 𝒞%
    について望ましい条件について⾒てみると,
    • 𝒞%
    ’(1) = 1 → 満⾜可
    • 𝒞%
    (0) = 0 → 満⾜するには𝛼 = 1とする必要があるが, その場合 𝒞 𝑐 = 𝑐と線形
    になってしまう☹
    ⇒ そこで𝒞%
    0 = 𝜂 として, 𝒞%
    の線形度合いを調整できるように (𝜂 : ハイパラ)
    • このような特性の =
    𝜙1
    を活性化関数に⽤いたモデルは, 活性化関数を 2 max{𝑥, 0}
    として残差接続の重みを '
    &,1#
    としたResNetと同等であることが証明できる
    (→Appendix)

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  20. 定量的結果: TATにより層を増やしても精度が安定するように
    20
    • OptimizerにはSGDとK-FAC[Martens+, PMLR15]
    • K-FAC: ⾃然勾配法(⽢利先⽣が考案)の近似によるOptimizer
    • SGDについて, TATを⽤いることで層を増やしても精度が安定するように
    • ResNetには及ばないまでも, 活性化関数を変えただけで⾶躍的に精度が向上
    残差接続を使わないDNN TATをLReLUに適応したDNN (w/o 正規化)
    残差接続 :
    Dataset: ImageNet

    View Slide

  21. 定量的結果: TATにより正規化を含まずともResNetに匹敵する精度を達成
    21
    • ResNetの精度に寄与してる構造は残差接続と正規化
    • 精度向上に寄与している正規化を含まずとも, DNNに残差接続を8割含ませるだ
    けでResNetに匹敵する精度を達成
    残差接続を使わないDNN TATをLReLUに適応したDNN (w/o 正規化)
    残差接続 :
    Dataset: ImageNet

    View Slide

  22. まとめ
    22
    ü 背景
    • 残差接続はDNNの層を増やす上で不可⽋な要素
    • ⼀⽅で残差接続にも様々な課題・⽋点が存在
    ü 提案⼿法
    • 残差接続を使わずに50 or 101層のDNNを実現するTATを提案
    • Global Q/C maps による理論保証
    ü 結果
    • ImageNetにおいてResNetに近い精度を記録

    View Slide

  23. 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)

    View Slide

  24. Appendix: TReLUを⽤いたFFNがResNetと同等である証明
    24

    View Slide

  25. Appendix: カーネル近似の証明
    25

    View Slide

  26. Appendix: 𝜇の計算⽅法について①
    26

    View Slide

  27. Appendix: 𝜇の計算⽅法について②
    27

    View Slide

  28. Appendix: 擬似コード (TAT for LReLU)
    28

    View Slide

  29. Appendix: 擬似コード (TAT for smooth activations)
    29

    View Slide