Upload
shotasatuma
View
257
Download
2
Embed Size (px)
Citation preview
論文紹介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日
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.• https://arxiv.org/abs/1502.01852•図は全て論文中のもの
2016/12/12
文献情報
3
•正規化ユニットを一般化したPReLU(Parametric ReLU) を提案• PReLU は計算コストの増加はほぼゼロで,
モデルのフィッティングを向上
•追加される過学習のリスク増加は小さい
•非線形な正規化を考慮したロバストな初期化法を提案
• PReLU を使ったネットワークはImageNet は top-5 の性能を上回る
2016/12/12
概要
4
•NN による画像認識について,精度向上のための方針は主に 2 つ•強力なモデルの構築
•過学習に対する効果的な戦略の設計
•NN の訓練データへのフィッティング能力は向上している•より複雑なモデルの使用
•新しい非線形活性化関数の使用
•洗練された層の設計
2016/12/12
1. Introduction
5
•より良い一般化を達成するための戦略•有効な正則化技術 (Dropout など )•積極的な data augmentation•大規模なデータ
•Deep NN の成功の鍵は ReLU•シグモイド関数を使うよりも
学習の収束が早く,より良い解に到達
2016/12/12
1. Introduction
6
•しかし,近年のモデルの改良とその訓練に関する理論は活性化関数の特性にほとんど注目していない
•そこで活性化関数に関して 2 つの観点から提案
• PReLU と呼ばれる ReLU の一般化を提案• ReLU の負の領域の傾きを適応的に学習
•非常に深いネットワークにおいて,理論的に重みの初期化法を導出
2016/12/12
1. Introduction
7
• 2 章で示すのは,次の 3 つ• PReLU 活性化関数の提案 → 2.1 節
• Deep なネットワークでの重みの初期化法の導出 → 2.2 節
•構造の設計に関する議論 → 2.3 節
2016/12/12
2. Approach
8
•パラメータを用いていない ReLU を,学習させた活性化チャネルに置き換える
•その結果,クラス分類の精度が向上
2016/12/12
2.1. Parametric Rectifiers
9
• PReLU の定義
• : i 番目のチャネル上の非線形活性化 関数への入力
• :負の部分の勾配を制御する係数
• は学習可能なパラメータ
2016/12/12
Definition
10
• PReLU の定義式は次式と等価
• が 0.01 であるとき, Leakly ReLU2016/12/12
Definition
11
• Leakly ReLU の目的は,ゼロ勾配の回避•ただし,精度に及ぼす影響は僅かだった
• PReLU は,モデルの学習とともに活性化関数のパラメータも適応的に学習
• PReLU のパラメータの総数はチャネルの総数に等しい•重みの総数を考慮すると無視できる数
•追加される過学習のリスクは小さい2016/12/12
Definition
122016/12/12
Optimization
• PReLU は誤差逆伝搬によって訓練され,他の層と同時に最適化される
•ひとつの層の の勾配は連鎖則から導出
• は目的関数で, は深い層から伝搬された勾配
13
•活性化関数の勾配 は次式となる
•総和 は feature map の全ての位置で実行
2016/12/12
Optimization
14
•チャネル共有型の場合での の更新式
•総和 は層の全てのチャネルについて合計される
• PReLU における計算コストは順伝搬・逆伝搬の両方で無視できる
2016/12/12
Optimization
15
• の更新にはモーメンタム法を使用
• :モーメンタム係数
• :学習率
• の更新時には重み減衰 ( 正則化 ) を使用しないことに注意が必要•重み減衰は をゼロへ近づける傾向がある
2016/12/12
Optimization
16
•活性化関数の形が単調にならないように の値は制限しない
• の初期値は 0.25 を使用
2016/12/12
Optimization
17
• 14 層からなるモデル (Table 1.参照 )を用いて比較実験
•ReLU/PReLU を畳み込み層と最初の 2つの全結合層に適用して学習
• PReLU に変更した結果, Top-1 の誤差は ReLU より 1.2% の減少 (Table 2.参照 )•パラメータをチャネルごとに設定,
チャネルで共通とした場合のいずれもPReLU は同等に機能 (Table 2.参照 )
2016/12/12
Comparison Experiments
18
• channel-shared ver. の PReLU では,追加されたパラメータは 13個•この少数のパラメータでも,誤差は
1.1% 減少•活性化関数の形状を適応的に学習すること
の重要性を意味する
2016/12/12
Comparison Experiments
19
• Table 1. は各層における学習されたPReLU の係数を示す
•第一の畳み込み層 (conv1) は, 0 よりかなり大きい係数•正と負の両方の応答が尊重されている
• channel-wise ver. を見ると,より深い畳み込み層ほど一般的に係数は小さい•深度が深いほど活性化が徐々に非線形化
•浅い層ほど情報を多く持ち,深くなるほど判別を行いやすいように変化
2016/12/12
Comparison Experiments
202016/12/12
Comparison Experiments
212016/12/12
Comparison Experiments
22
•ReLU を用いたネットワークは,シグモイド関数を用いたネットワークより訓練が容易•しかし,初期化が悪いと非線形システムの
学習を妨げる恐れがある
•非常に深い ReLU を用いたネットワークについて,ロバストな初期化法を提案•この方法は訓練における障害を取り除く
2016/12/12
2.2. Initialization of Filter Weights for Rectifiers
23
•最近の CNN では,正規分布からサンプリングされた値で初期化される•固定された標準偏差 (e.g. 0.01) の場合,
非常に深いモデルでは収束が難しい
•Glorot と Bengio は適切にスケーリングされた一様分布を使うことを提案•これを Xaiver 初期化と呼ぶ
•導出には「活性化関数が線形」という仮定
•この仮定は ReLU/PReLU の場合,不要
2016/12/12
2.2. Initialization of Filter Weights for Rectifiers
24
•ReLU/PReLU を考慮して,理論的に初期化法を導く
•導いた初期化法では,非常に深いモデル (e.g. 30 層の conv/fc) も収束させる• Xaiver 初期化では収束できない
2016/12/12
2.2. Initialization of Filter Weights for Rectifiers
25
•導出の中心的なアイデアは,各層における応答の分散を調査すること
•畳み込み層の場合の応答は次式
• : 個の入力チャネル内の同じ位置に ある 画素を表す 次元ベクトル• :層の空間的なフィルタサイズ
• :フィルタ数 ( )× ( ) の行列•各行はフィルタの重みを表す
2016/12/12
Forward Propagation Case
26
• :バイアスベクトル
• :出力マップのピクセルに対する応答
• :層のインデックス
•入力 は活性化関数 を用いて次式で表せる
•入力チャネルとフィルタ数の関係は次式
2016/12/12
Forward Propagation Case
27
• の初期化された各要素は,互いに独立であり,同じ分布を共有
• の要素も互いに独立で,同じ分布を共有
• と は互いに独立と仮定するとき,次式を得る
• : の各要素2016/12/12
Forward Propagation Case
28
• の平均はゼロとしている
• の平均がゼロでない場合,
•ReLU を使う場合,平均はゼロにならない• Xaiver とは異なる結論につながる
• がゼロの周りに対称分布を持ち,バイアス と仮定する
•このとき, は平均ゼロで対称分布
2016/12/12
Forward Propagation Case
29
• が ReLU とすれば,
•この結果から,次式が得られる
• 層分まとめると,次式
2016/12/12
Forward Propagation Case
30
•積の部分が初期化を設計する鍵
•適切な初期化は,入力に対し指数関数的に変化させることを避けるべき
•積を適切なスカラー値 (e.g. 1) にするための条件 :
•標準偏差 ,平均ゼロの正規分布につながる•この正規分布に従って初期化すればよい
2016/12/12
Forward Propagation Case
31
•第 1 層は入力に対し ReLU が使われていないため,次式とする
•層 1 つだけ 1/2 が,かけられていても問題はない•簡単のため,第 1 層にも 1/2 をかける
2016/12/12
Forward Propagation Case
32
•逆伝搬において,畳み込み層の勾配は次式となる
• :目的関数に対する勾配
• : 次元のベクトル
• : 行 列の行列•逆伝搬時に再配置されるフィルタを表す
• : 次元のベクトル•ある層におけるピクセルの勾配
2016/12/12
Backward Propagation Case
33
• は互いに独立と仮定
• はゼロ周りの対称分布によって初期化
•このとき, は全ての について平均はゼロとする
•逆伝搬で得る勾配は次式
2016/12/12
Backward Propagation Case
34
•ReLU の場合, はゼロまたは 1•値の出る確率はどちらも同じ
• と は互いに独立と仮定
•このとき,次の 2 つが成立
2016/12/12
Backward Propagation Case
35
• の分散は次式となる
• 層分まとめると次式となる
2016/12/12
Backward Propagation Case
36
•勾配が指数関数的に変化しないための条件
•これは平均ゼロ,標準偏差 の正規分布となる
•順計算の場合との違いは,に対し, という点
2016/12/12
Backward Propagation Case
37
•第 1 層は勾配 を計算する必要がない•第1層は画像そのものを表すため
•しかし,順伝搬と同様の理由で とすることができる
•初期化に用いる分布は,順伝搬 / 逆伝搬の場合に導出した分布のどちらかで十分
• e.g. 逆伝搬から導出した分布を使った場合:
2016/12/12
Backward Propagation Case
38
•これは一般的なネットワーク設計では,
減少しない•順伝搬から導出した分布を使っても同様
•この論文中のすべてのモデルに対し,どちらの分布を使っても収束する
2016/12/12
Backward Propagation Case
39
•VGG チームの「モデル B」を例に,標準偏差 0.01 よりも良い結果をもたらすのかを説明• 10個の 3×3畳み込み層
•第 1,2 層でフィルター数 ( )64•第 3,4 層でフィルター数 128•第 5,6 層でフィルター数 256•残りは 512
2016/12/12
Discussions
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)•勾配の分散は指数関数的に減少
2016/12/12
Discussions
41
• PReLU において,順伝搬における分散(Eqn.10) を 1 にするための条件:
• は PReLU の係数の初期値
•逆伝搬の場合 (Eqn.14) も同様:
2016/12/12
Discussions
42
•Xaiver 初期化と導出した初期化を比較• 22 層のモデルで
は,提案手法の方が早くエラーが下がっている
2016/12/12
Comparisons with “Xavier” Initialization
43
•Xaiver 初期化と導出した初期化を比較• 256個の 2×2
フィルタを持つ畳み込み層 16層分を追加
• 30 層のモデルは,提案手法だと収束へ向かう
2016/12/12
Comparisons with “Xavier” Initialization
44
•ただし 30 層の場合, Table.2 の 14 層のモデルよりエラーが増えている
•小規模モデル, VGG の大モデル,音声認識では精度が劣化•深度を増やすことが適切でない
•認識タスクが十分に複雑ではない
2016/12/12
Comparisons with “Xavier” Initialization
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) を使用
2016/12/12
2.3. Architectures
46
•VGG-19 と model A は同程度の性能
•model A の利点は早い実行速度•時間計算量が同じでも,実際には
feature map が大きい方が時間がかかる
•GPU4台,バッチサイズ 128 で実験• model A がミニバッチあたり 2.6秒• VGG-19 がミニバッチあたり 3.0秒
2016/12/12
2.3. Architectures
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劣化する場合があ
る
2016/12/12
2.3. Architectures
2016/12/12
49
•短辺が s にリサイズされた画像から224×224 の作物を無作為にサンプリング
•サンプリングした画像に対し, pixel の平均値を減算
• s は [256,512] の範囲でランダムにジッタリングされる
•サンプルの半分は水平方向に反転
•ランダムに色変更も行う
2016/12/12
3. Implementation Details(Training)
50
•重み減衰は 0.0005•モーメンタム係数は 0.9•Dropout 率は 50%•最初の 2 つの全結合層で使用
•バッチサイズ 128•学習率は 10^(-2),10^(-3),10^(-4)•停滞したら切り替え
•エポック数は約 80
2016/12/12
3. Implementation Details(Training)
51
• SPP-net の論文で用いられているfeature map 上でのマルチビューテスト戦略を採用
•さらに dense sliding window method を用いて,このテスト戦略を改善
2016/12/12
Testing
52
•リサイズされた画像を畳み込み層へ入力
•最後の feature map を取得
• 14×14 のウィンドウサイズで SPP によるプーリング
•全結合層はプーリングされた特徴に使用
•水平反転画像でも同様に行う
•そして,全ての dense sliding windowのスコアを平均化する2016/12/12
Testing
53
•Krizhevsky’s method の変形を使用•複数 GPU環境での並列訓練の方法
•畳み込み層にデータ並列性を採用
•GPU は最初の全結合層の前に同期
•その後,全結合層の順伝搬 / 逆伝搬を 1つの GPU で計算•つまり,全結合層は並列化しない
•全結合層の計算コストは低いため
2016/12/12
Multi-GPU implementation
54
•フィルタ間の通信によるオーバーヘッドによって,モデルの全結合層よりも低層
•この論文のモデルでは, 4 つの GPU で3.8倍, 8 つの GPU で 6倍の高速化
2016/12/12
Multi-GPU implementation
55
• ImageNet 2012 データセットを使用• 1000 クラスに分類するタスク
•学習用画像: 120万•検証用画像: 5万•テスト用画像: 10万
• Top-1/Top-5エラー率で結果を測定
2016/12/12
4. Experiments on ImageNet
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
572016/12/12
Comparisons between ReLU and PReLU
58
• 10-view test の結果を Table.5 に示す
•最も良かったのは model C+PReLU•他の提案モデルも先行研究を上回る結果
• Table.6 はマルチビューテストを用いた単一モデルの結果•提案モデルは MSRA と記載
•このテストでも提案手法が優れた結果を残している•浅いモデルでの事前学習を不要としたため?
2016/12/12
Comparisons of Single-model Results
59
•特に model C では Top-5 が 5.71%•以前の全てのマルチモデルより優れている
•model A と model B を見ると,19 層モデルと 22 層モデルがほぼ同等
•幅を広くすると精度が向上する可能性
•モデルが十分 deep な場合,幅が精度にとって重要な要素となる
2016/12/12
Comparisons of Single-model Results
602016/12/12
Comparisons of Single-model Results
612016/12/12
Comparisons of Single-model Results
62
• Table.6 のモデルを含め, 6 つのモデルを組合わせる
• Table.7 に複数モデルの結果を示す
•提案手法は Top-5 で 4.94% のエラー• GoogLeNet と比較し,相対的に 26% 改善
• Baidu の結果よりも相対的に 17% 改善
2016/12/12
Comparisons of Multi-model Results
632016/12/12
Comparisons of Single-model Results
64
• Figure 4. は提案手法によって正しく分類された画像の例
•上位 5 つの結果を見ると,他 4 つのラベルは画像に写っている他の物体• e.g. 馬車の画像はミニバスを含む
• 4 つのラベルのうちいくつかは,類似クラス間の不確定性に起因する• e.g. クーカル画像では他の鳥種も予測
2016/12/12
Analysis of Results
652016/12/12
Analysis of Results
66
• Figure 6. はテスト結果でクラスごとのTop-5エラーを昇順で示している
• 113 クラスでエラーなしを達成
• Top-5エラーが最も高いクラス• letter opener (49%)• spotlight (38%)• restaurant (36%)
•複数物体,小さな物体,クラス内の大きな分散が原因 (Figure 5.参照 )
2016/12/12
Analysis of Results
672016/12/12
Analysis of Results
682016/12/12
Analysis of Results
692016/12/12
Analysis of Results
702016/12/12
Analysis of Results
71
• Figure 7. は提案手法による結果とILSVRC 2014 のチーム内結果との比較
• Top-5エラー率のクラスごとの差異を示している
•エラー率は 824 クラスで減少,127 クラスはそのまま, 49 クラス増加
2016/12/12
Analysis of Results
722016/12/12
Analysis of Results
73
• ImageNet データセットにおいて,人間の Top-5エラーは 5.1% ほど生じる
•今回の提案手法は,人間の性能を上回る結果•視覚的認識では初めての例
•細かい認識(品種など)はアルゴリズムが得意
•文脈の理解や高度な知識が必要な認識( スポットライトなど ) は人間が得意
2016/12/12
Comparisons with Human Performance from [22]
74
•Computer Vision が人間の視覚より優れているというわけではない
•今回の結果は人間レベルの性能にマッチするアルゴリズムの可能性を示している
2016/12/12
Comparisons with Human Performance from [22]