Slide 1

Slide 1 text

論⽂紹介 K. He, X. Zhang, S. Ren, and J. Sun, “Delving Deep into Rectifiers: Surpassing Human-Level Performance on ImageNet Classification,” in 2015 IEEE International Conference on Computer Vision (ICCV), 2015. ⻫藤 翔汰 2016年12⽉12⽇

Slide 2

Slide 2 text

2 • K. He, X. Zhang, S. Ren, and J. Sun, “Delving Deep into Rectifiers: Surpassing Human-Level Performance on ImageNet Classification,” in 2015 IEEE International Conference on Computer Vision (ICCV), 2015. • 卒論に関する先⾏研究にて,この論⽂で使っ ている重みの初期化法が使われていたため • chainerにおける重みの初期化もデフォルト では,この論⽂で使われている初期化法 12/3/17 ⽂献情報・この論⽂を選んだ理由

Slide 3

Slide 3 text

3 •正規化ユニットを⼀般化した PReLU(Parametric ReLU)を提案 • PReLUは計算コストの増加はほぼゼロで, モデルのフィッティングを向上 • 追加される過学習のリスク増加は⼩さい •⾮線形な正規化を考慮したロバストな 初期化法を提案 •PReLUを使ったネットワークは ImageNetはtop-5の性能を上回る 2017/12/3 概要

Slide 4

Slide 4 text

4 •NNによる画像認識について,精度向上 のための⽅針は主に2つ • 強⼒なモデルの構築 • 過学習に対する効果的な戦略の設計 •NNの訓練データへのフィッティング 能⼒は向上している • より複雑なモデルの使⽤ • 新しい⾮線形活性化関数の使⽤ • 洗練された層の設計 2017/12/3 1. Introduction

Slide 5

Slide 5 text

5 •より良い⼀般化を達成するための戦略 • 有効な正則化技術(Dropoutなど) • 積極的なdata augmentation • ⼤規模なデータ •Deep NNの成功の鍵はReLU • シグモイド関数を使うよりも 学習の収束が早く,より良い解に到達 2016/12/12 1. Introduction

Slide 6

Slide 6 text

6 •しかし,近年のモデルの改良と その訓練に関する理論は活性化関数の 特性にほとんど注⽬していない •そこで活性化関数に関して2つの観点 から提案 •PReLUと呼ばれるReLUの⼀般化を提案 • ReLUの負の領域の傾きを適応的に学習 •⾮常に深いネットワークにおいて, 理論的に重みの初期化法を導出 2017/12/3 1. Introduction

Slide 7

Slide 7 text

7 •2章で⽰すのは,次の3つ • PReLU活性化関数の提案 →2.1節 • Deepなネットワークでの重みの初期化法 の導出 →2.2節 • 構造の設計に関する議論 →2.3節 2017/12/3 2. Approach

Slide 8

Slide 8 text

8 •パラメータを⽤いていないReLUを, 学習させた活性化チャネルに置き換える •その結果,クラス分類の精度が向上 2017/12/3 2.1. Parametric Rectifiers

Slide 9

Slide 9 text

9 •PReLUの定義 • : i番⽬のチャネル上の⾮線形活性化 関数への⼊⼒ • :負の部分の勾配を制御する係数 • は学習可能なパラメータ 2017/12/3 Definition f(yi) = ( yi if yi > 0 aiyi if yi  0 yi ai ai

Slide 10

Slide 10 text

10 •PReLUの定義式は次式と等価 • が0.01であるとき,Leakly ReLU 2017/12/3 Definition f ( yi) = max(0 , yi) + ai min(0 , yi) ai

Slide 11

Slide 11 text

11 •Leakly ReLUの⽬的は,ゼロ勾配の回避 • ただし,精度に及ぼす影響は僅かだった •PReLUは,モデルの学習とともに 活性化関数のパラメータも適応的に学習 •PReLUのパラメータの総数はチャネル の総数に等しい • 重みの総数を考慮すると無視できる数 • 追加される過学習のリスクは⼩さい 2017/12/3 Definition

Slide 12

Slide 12 text

12 2017/12/3 Optimization •PReLUは誤差逆伝搬によって訓練され, 他の層と同時に最適化される •ひとつの層の の勾配は連鎖則から導出 • は⽬的関数で, は深い層から伝搬 された勾配 ai @E @ai = X yi @E @f(yi) @f(yi) @ai E @E @f(yi)

Slide 13

Slide 13 text

13 •活性化関数の勾配 は次式となる •総和 はfeature mapの全ての位置で 実⾏ 2017/12/3 Optimization @f(yi) @ai @f(yi) @ai = ( 0 if yi > 0 yi if yi  0 P yi

Slide 14

Slide 14 text

14 •チャネル共有型の場合での の更新式 •総和 は層の全てのチャネルについて 合計される •PReLUにおける計算コストは順伝搬・ 逆伝搬の両⽅で無視できる 2017/12/3 Optimization @E @a = X i X yi @E @f(yi) @f(yi) @a a P i

Slide 15

Slide 15 text

15 • の更新にはモーメンタム法を使⽤ • :モーメンタム係数 • :学習率 • の更新時には重み減衰( 正則化)を 使⽤しないことに注意が必要 • 重み減衰は をゼロへ近づける傾向がある 2017/12/3 Optimization ai ai := µ ai + ✏ @E @ai µ ✏ ai L2 ai

Slide 16

Slide 16 text

16 •活性化関数の形が単調にならないように の値は制限しない • の初期値は0.25を使⽤ 2017/12/3 Optimization ai ai

Slide 17

Slide 17 text

17 •14層からなるモデル(Table 1.参照) を⽤いて⽐較実験 •ReLU/PReLUを畳み込み層と最初の2つ の全結合層に適⽤して学習 •PReLUに変更した結果,Top-1の誤差は ReLUより1.2%の減少(Table 2.参照) •パラメータをチャネルごとに設定, チャネルで共通とした場合のいずれも PReLUは同等に機能(Table 2.参照) 2017/12/3 Comparison Experiments

Slide 18

Slide 18 text

18 •channel-shared ver.のPReLUでは, 追加されたパラメータは13個 •この少数のパラメータでも,誤差は 1.1%減少 • 活性化関数の形状を適応的に学習すること の重要性を意味する 2017/12/3 Comparison Experiments

Slide 19

Slide 19 text

19 •Table 1.は各層における学習された PReLUの係数を⽰す •第⼀の畳み込み層(conv1)は,0より かなり⼤きい係数 • 正と負の両⽅の応答が尊重されている •channel-wise ver.を⾒ると,より深い 畳み込み層ほど⼀般的に係数は⼩さい • 深度が深いほど活性化が徐々に⾮線形化 • 浅い層ほど情報を多く持ち,深くなるほど 判別を⾏いやすいように変化 2017/12/3 Comparison Experiments

Slide 20

Slide 20 text

20 2017/12/3 Comparison Experiments

Slide 21

Slide 21 text

21 2017/12/3 Comparison Experiments

Slide 22

Slide 22 text

22 •ReLUを⽤いたネットワークは, シグモイド関数を⽤いたネットワーク より訓練が容易 • しかし,初期化が悪いと⾮線形システムの 学習を妨げる恐れがある •⾮常に深いReLUを⽤いたネットワーク について,ロバストな初期化法を提案 • この⽅法は訓練における障害を取り除く 2017/12/3 2.2. Initialization of Filter Weights for Rectifiers

Slide 23

Slide 23 text

23 •最近のCNNでは,正規分布から サンプリングされた値で初期化される • 固定された標準偏差(e.g. 0.01)の場合, ⾮常に深いモデルでは収束が難しい •GlorotとBengioは適切にスケーリング された⼀様分布を使うことを提案 • これをXaiver初期化と呼ぶ • 導出には「活性化関数が線形」という仮定 • この仮定はReLU/PReLUの場合,不要 2017/12/3 2.2. Initialization of Filter Weights for Rectifiers

Slide 24

Slide 24 text

24 •ReLU/PReLUを考慮して,理論的に 初期化法を導く •導いた初期化法では,⾮常に深いモデル (e.g. 30層のconv/fc)も収束させる • Xaiver初期化では収束できない 2017/12/3 2.2. Initialization of Filter Weights for Rectifiers

Slide 25

Slide 25 text

25 •導出の中⼼的なアイデアは,各層に おける応答の分散を調査すること •畳み込み層の場合の応答は次式 • : 個の⼊⼒チャネル内の同じ位置に ある 画素を表す 次元ベクトル • :層の空間的なフィルタサイズ • :フィルタ数( )× ( )の⾏列 • 各⾏はフィルタの重みを表す 2017/12/3 Forward Propagation Case yl = Wlxl + bl x c k ⇥ k k2c k2c k W d n

Slide 26

Slide 26 text

26 • :バイアスベクトル • :出⼒マップのピクセルに対する応答 • :層のインデックス •⼊⼒ は活性化関数 を⽤いて次式で 表せる •⼊⼒チャネルとフィルタ数の関係は次式 2017/12/3 Forward Propagation Case b y l xl f xl = f( yl 1 ) cl = dl 1

Slide 27

Slide 27 text

27 • の初期化された各要素は,互いに 独⽴であり,同じ分布を共有 • の要素も互いに独⽴で,同じ分布を 共有 • と は互いに独⽴と仮定するとき, 次式を得る • : の各要素 2017/12/3 Forward Propagation Case Wl Wl xl xl yl, xl, wl yl , xl, Wl Var[ yl] = nlVar[ wlxl] = nlVar[ wl]E[ x 2 l ]

Slide 28

Slide 28 text

28 • の平均はゼロとしている • の平均がゼロでない場合, •ReLUを使う場合,平均はゼロにならない • Xaiverとは異なる結論につながる • がゼロの周りに対称分布を持ち, バイアス と仮定する •このとき, は平均ゼロで対称分布 2017/12/3 Forward Propagation Case wl xl E[ x 2 l ] 6= Var[ xl] wl 1 bl 1 = 0 yl 1

Slide 29

Slide 29 text

29 • がReLUとすれば, •この結果から,次式が得られる • 層分まとめると,次式 2017/12/3 Forward Propagation Case f E[ x 2 l ] = 1 2 Var[ yl 1] Var[yl] = 1 2 nlVar[wl]Var[yl 1] L Var[yL] = Var[y1] L Y l=2 1 2 nlVar[wl] !

Slide 30

Slide 30 text

30 •積の部分が初期化を設計する鍵 •適切な初期化は,⼊⼒に対し指数関数的 に変化させることを避けるべき •積を適切なスカラー値(e.g. 1)にする ための条件: •標準偏差 ,平均ゼロの正規分布に つながる • この正規分布に従って初期化すればよい 2017/12/3 Forward Propagation Case p 2/nl 1 2 nlVar[wl] = 1, 8l

Slide 31

Slide 31 text

31 •第1層は⼊⼒に対しReLUが使われてい ないため,次式とする •層1つだけ1/2が,かけられていても 問題はない • 簡単のため,第1層にも1/2をかける 2017/12/3 Forward Propagation Case n1Var[w1] = 1

Slide 32

Slide 32 text

32 •逆伝搬において,畳み込み層の勾配は 次式となる • :⽬的関数に対する勾配 • : 次元のベクトル • : ⾏ 列の⾏列 • 逆伝搬時に再配置されるフィルタを表す • : 次元のベクトル • ある層におけるピクセルの勾配 2017/12/3 Backward Propagation Case xl = ˆ Wl yl xl, yl y ˆ n = k2d ˆ W c ˆ n x c

Slide 33

Slide 33 text

33 • は互いに独⽴と仮定 • はゼロ周りの対称分布によって初期化 •このとき, は全ての について 平均はゼロとする •逆伝搬で得る勾配は次式 2017/12/3 Backward Propagation Case yl, wl wl xl l yl = f 0( yl) xl+1

Slide 34

Slide 34 text

34 •ReLUの場合, はゼロまたは1 • 値の出る確率はどちらも同じ • と は互いに独⽴と仮定 •このとき,次の2つが成⽴ 2017/12/3 Backward Propagation Case f0(yl) xl+1 f0(yl) E[ yl] = E[ xl+1] 2 = 0 E[( yl)2] = Var[ yl] = Var[ xl+1] 2

Slide 35

Slide 35 text

35 • の分散は次式となる • 層分まとめると次式となる 2017/12/3 Backward Propagation Case xl Var[ xl] = ˆ n Var[ wl]Var[ yl] = 1 2 ˆ n Var[ wl]Var[ xl+1] L Var[ xL] = Var[ xL+1] L Y l=2 1 2 ˆ nlVar[ wl] !

Slide 36

Slide 36 text

36 •勾配が指数関数的に変化しないための 条件 •これは平均ゼロ,標準偏差 の 正規分布となる •順計算の場合との違いは, に対し, という点 2017/12/3 Backward Propagation Case 1 2 ˆ nlVar[wl] = 1, 8l p 2/ˆ nl ˆ nl = k2 l dl nl = k2 l cl = k2 l dl 1

Slide 37

Slide 37 text

37 •第1層は勾配 を計算する必要がない • 第1層は画像そのものを表すため •しかし,順伝搬と同様の理由で とすることができる •初期化に⽤いる分布は,順伝搬/逆伝搬 の場合に導出した分布のどちらかで⼗分 •e.g. 逆伝搬から導出した分布を使った 場合: 2017/12/3 Backward Propagation Case x1 1 2 ˆ n1Var[w1] = 1 L Y l=2 1 2 nlVar[wl] = L Y l=2 nl/ˆ nl = c2/dL

Slide 38

Slide 38 text

38 •これは⼀般的なネットワーク設計では, 減少しない • 順伝搬から導出した分布を使っても同様 •この論⽂中のすべてのモデルに対し, どちらの分布を使っても収束する 2017/12/3 Backward Propagation Case

Slide 39

Slide 39 text

39 •VGGチームの「モデルB」を例に,標準 偏差0.01よりも良い結果をもたらすの かを説明 • 10個の3×3畳み込み層 • 第1,2層でフィルター数( )64 • 第3,4層でフィルター数128 • 第5,6層でフィルター数256 • 残りは512 2017/12/3 Discussions dl

Slide 40

Slide 40 text

40 • で計算した標準偏差: • 第1,2層 → sqrt(2/(3*3*64)) ≒ 0.059 • 第3,4層 → sqrt(2/(3*3*128)) ≒ 0.042 • 第5,6層 → sqrt(2/(3*3*256)) ≒ 0.029 • 残り → sqrt(2/(3*3*512)) ≒ 0.021 •標準偏差を0.01として初期化すると, conv10からconv2に伝搬する勾配の 分散は1/(1.7*10^4) • 勾配の分散は指数関数的に減少 2017/12/3 Discussions p 2/ˆ nl

Slide 41

Slide 41 text

41 •PReLUにおいて,順伝搬における分散 (Eqn.10)を1にするための条件: • はPReLUの係数の初期値 •逆伝搬の場合(Eqn.14)も同様: 2017/12/3 Discussions 1 2 (1 + a2)nlVar[wl] = 1, 8l a 1 2 (1 + a2)ˆ nlVar[wl] = 1, 8l

Slide 42

Slide 42 text

42 •Xaiver初期化と 導出した初期化 を⽐較 • 22層のモデルで は,提案⼿法の ⽅が早くエラー が下がっている 2017/12/3 Comparisons with “Xavier” Initialization

Slide 43

Slide 43 text

43 •Xaiver初期化と 導出した初期化 を⽐較 • 256個の2×2 フィルタを持つ 畳み込み層16層 分を追加 • 30層のモデルは, 提案⼿法だと 収束へ向かう 2017/12/3 Comparisons with “Xavier” Initialization

Slide 44

Slide 44 text

44 •ただし30層の場合,Table.2の14層の モデルよりエラーが増えている •⼩規模モデル,VGGの⼤モデル,⾳声 認識では精度が劣化 • 深度を増やすことが適切でない • 認識タスクが⼗分に複雑ではない 2017/12/3 Comparisons with “Xavier” Initialization

Slide 45

Slide 45 text

45 •Table.3のmodel Aがベースライン •⽐較対象として,VGG-19モデルでも 実験 •model AはVGG-19に対し,以下を変更 • 最初の層で7×7のフィルタを使い, ストライドは2とする • input sizeが224,122での3×3フィルタ3つ をinput sizeが56,28,14の層に移動 • 最初のfc層の前に空間ピラミッド プーリング(SPP)を使⽤ 2017/12/3 2.3. Architectures

Slide 46

Slide 46 text

46 •VGG-19とmodel Aは同程度の性能 •model Aの利点は早い実⾏速度 • 時間計算量が同じでも,実際には feature mapが⼤きい⽅が時間がかかる •GPU4台,バッチサイズ128で実験 • model Aがミニバッチあたり2.6秒 • VGG-19がミニバッチあたり3.0秒 2017/12/3 2.3. Architectures

Slide 47

Slide 47 text

47 •model Bはmodel AをDeepにしたもの • model Aより畳み込み層が3つ多い •model Cはmodel Bをwideにしたもの • フィルタ数が256→384に変更 •model A,BはK20GPU4つ,model Cは K40GPU8つで訓練には3~4週間かかる •近年はdeepよりもwideにする傾向 • deepにすると精度が飽和or劣化する場合が ある 2017/12/3 2.3. Architectures

Slide 48

Slide 48 text

Slide 49

Slide 49 text

49 •短辺がsにリサイズされた画像から 224×224の作物を無作為にサンプリング •サンプリングした画像に対し,pixelの 平均値を減算 •sは[256,512]の範囲でランダムに ジッタリングされる •サンプルの半分は⽔平⽅向に反転 •ランダムに⾊変更も⾏う 2017/12/3 3. Implementation Details(Training)

Slide 50

Slide 50 text

50 •重み減衰は0.0005 •モーメンタム係数は0.9 •Dropout率は50% • 最初の2つの全結合層で使⽤ •バッチサイズ128 •学習率は10^(-2),10^(-3),10^(-4) • 停滞したら切り替え •エポック数は約80 2017/12/3 3. Implementation Details(Training)

Slide 51

Slide 51 text

51 •SPP-netの論⽂で⽤いられている feature map上でのマルチビューテスト 戦略を採⽤ •さらにdense sliding window method を⽤いて,このテスト戦略を改善 2017/12/3 Testing

Slide 52

Slide 52 text

52 •リサイズされた画像を畳み込み層へ⼊⼒ •最後のfeature mapを取得 •14×14のウィンドウサイズでSPPに よるプーリング •全結合層はプーリングされた特徴に使⽤ •⽔平反転画像でも同様に⾏う •そして,全てのdense sliding window のスコアを平均化する 2017/12/3 Testing

Slide 53

Slide 53 text

53 •Krizhevskyʼs methodの変形を使⽤ • 複数GPU環境での並列訓練の⽅法 •畳み込み層にデータ並列性を採⽤ •GPUは最初の全結合層の前に同期 •その後,全結合層の順伝搬/逆伝搬を1つ のGPUで計算 • つまり,全結合層は並列化しない • 全結合層の計算コストは低いため 2017/12/3 Multi-GPU implementation

Slide 54

Slide 54 text

54 •フィルタ間の通信によるオーバーヘッド によって,モデルの全結合層よりも低層 •この論⽂のモデルでは,4つのGPUで 3.8倍,8つのGPUで8倍の⾼速化 2017/12/3 Multi-GPU implementation

Slide 55

Slide 55 text

55 •ImageNet 2012データセットを使⽤ • 1000クラスに分類するタスク • 学習⽤画像:120万 • 検証⽤画像:5万 • テスト⽤画像:10万 •Top-1/Top-5エラー率で結果を測定 2017/12/3 4. Experiments on ImageNet

Slide 56

Slide 56 text

56 •model AでReLUとPReLUを⽐較 •PReLUはチャネルごとにパラメータを 設定 •学習率の切り替わるタイミングは同じ •エポック数も同じ •PReLUはReLUと⽐較して,誤差を低減 • Top-1が1.05%,Top-5が0.23% •PReLUはモデルの⼤型/⼩型を問わない 2016/12/12 Comparisons between ReLU and PReLU

Slide 57

Slide 57 text

57 2017/12/3 Comparisons between ReLU and PReLU

Slide 58

Slide 58 text

58 •10-view testの結果をTable.5に⽰す •最も良かったのはmodel C+PReLU • 他の提案モデルも先⾏研究を上回る結果 •Table.6はマルチビューテストを⽤いた単 ⼀モデルの結果 • 提案モデルはMSRAと記載 •このテストでも提案⼿法が優れた結果を残 している • 浅いモデルでの事前学習を不要としたため? 12/3/17 Comparisons of Single-model Results

Slide 59

Slide 59 text

59 •特にmodel CではTop-5が5.71% • 以前の全てのマルチモデルより優れている •model Aとmodel Bを⾒ると, 19層モデルと22層モデルがほぼ同等 •幅を広くすると精度が向上する可能性 •モデルが⼗分deepな場合,幅が精度に とって重要な要素となる 12/3/17 Comparisons of Single-model Results

Slide 60

Slide 60 text

60 12/3/17 Comparisons of Single-model Results

Slide 61

Slide 61 text

61 12/3/17 Comparisons of Single-model Results

Slide 62

Slide 62 text

62 •Table.6のモデルを含め,6つのモデル を組合わせる •Table.7に複数モデルの結果を⽰す •提案⼿法はTop-5で4.94%のエラー • GoogLeNetと⽐較し,相対的に26%改善 • Baiduの結果よりも相対的に17%改善 12/3/17 Comparisons of Multi-model Results

Slide 63

Slide 63 text

63 12/3/17 Comparisons of Single-model Results

Slide 64

Slide 64 text

64 •Figure 4.は提案⼿法によって正しく 分類された画像の例 •上位5つの結果を⾒ると,他4つの ラベルは画像に写っている他の物体 • e.g. ⾺⾞の画像はミニバスを含む •4つのラベルのうちいくつかは, 類似クラス間の不確定性に起因する • e.g. クーカル画像では他の⿃種も予測 12/3/17 Analysis of Results

Slide 65

Slide 65 text

65 12/3/17 Analysis of Results

Slide 66

Slide 66 text

66 •Figure 6.はテスト結果でクラスごとの Top-5エラーを昇順で⽰している •113クラスでエラーなしを達成 •Top-5エラーが最も⾼いクラス • letter opener (49%) • spotlight (38%) • restaurant (36%) •複数物体,⼩さな物体,クラス内の ⼤きな分散が原因(Figure 5.参照) 12/3/17 Analysis of Results

Slide 67

Slide 67 text

67 12/3/17 Analysis of Results

Slide 68

Slide 68 text

68 12/3/17 Analysis of Results

Slide 69

Slide 69 text

69 12/3/17 Analysis of Results

Slide 70

Slide 70 text

70 12/3/17 Analysis of Results

Slide 71

Slide 71 text

71 •Figure 7.は提案⼿法による結果と ILSVRC 2014のチーム内結果との⽐較 •Top-5エラー率のクラスごとの差異を ⽰している •エラー率は824クラスで減少, 127クラスはそのまま,49クラス増加 12/3/17 Analysis of Results

Slide 72

Slide 72 text

72 12/3/17 Analysis of Results

Slide 73

Slide 73 text

73 •ImageNetデータセットにおいて, ⼈間のTop-5エラーは5.1%ほど⽣じる •今回の提案⼿法は,⼈間の性能を上回る 結果 • 視覚的認識では初めての例 •細かい認識(品種など)はアルゴリズム が得意 •⽂脈の理解や⾼度な知識が必要な認識 (スポットライトなど)は⼈間が得意 12/3/17 Comparisons with Human Performance from [22]

Slide 74

Slide 74 text

74 •Computer Visionが⼈間の視覚より 優れているというわけではない •今回の結果は⼈間レベルの性能にマッチ するアルゴリズムの可能性を⽰している 12/3/17 Comparisons with Human Performance from [22]