254 Views
September 07, 17
スライド概要
2017/9/4
Deep Learning JP:
http://deeplearning.jp/seminar-2/
DL輪読会資料
DEEP LEARNING JP [DL Papers] “Spectral Norm Regularization for Improving the Generalizability of Deep Learning” and “Spectral Normalization for Generative Adversarial Networks Reiji Hatsugai http://deeplearning.jp/
書誌情報 • Spectral Norm Regularization – arxiv 5/31 (NIPS2017?) – NII吉田さん、PFN宮戸さん • Spectral Normalization for GANs – ICML2017 Workshop on Implicit Models (https://drive.google.com/file/d/0B8HZ50DPgR3eSVV6YlF3XzQxSjQ/view?usp=sharing) – PFN宮戸さん et al 2
モチベーション • ニューラルネットワークとは – – – – 神経回路網 脳 人間より高精度の認識 Atari、碁で人間をoverperfrom • でも結局行列演算 – 行列の特性を考慮に入れて学習アルゴリズムを作りたい – 行列をオペレータと見たときに自然に定義されるノルムである、 スペクトルノルムに着目している – 汎化性能、頑健性、学習安定性の向上に効きそう 3
線形代数の復習 • いくつかの線形代数の知識を復習してから話します – 特異値分解 – スペクトルノルム 4
特異値分解 • 特異値分解とは – 行列分解の一つ – 対象となる行列Wを直交行列U, Vと対角行列Σの積で分解 • UとVの列 (行) ベクトルは正規直交基底をなす – 対角行列の成分は特異値と呼ばれる 𝑈 " 𝑈 = 𝐼, 𝑉𝑉 " = 𝐼 𝑊 = 𝑈ΣV 4 Σ = diag(𝜎. , … , 𝜎0 ) 特異値、nはWのランク、𝜎. ≥ 𝜎6 ⋯ ≥ 𝜎0 5
特異値分解の性質 • 特異行列 (ランク1の行列) の和に分解することができる • 特異値は𝑊 " 𝑊の固有値の平方根と一致する • Wが正方行列だった場合固有値分解と同等 6
特異行列の和に分解 • Uの列ベクトルを𝑢. , 𝑢6 , … , 𝑢0 • Vの列ベクトルを𝑣. , 𝑣6 , … , 𝑣0 とする 𝑊 = 𝑈ΣV 4 = 𝑢. ⋯ 𝑢0 𝜎. ⋮ 0 ⋯ 0 ⋱ ⋮ ⋯ 𝜎0 𝑣." ⋮ 𝑣0" 𝑊 " 𝑢> = 𝜎> 𝑣> 𝑊𝑣> = 𝜎> 𝑢> 0 = = 𝜎> 𝑢> 𝑣>" 固有値っぽい性質 > ランク1 7
特異値分解の幾何学的意味 • 𝑊 ∈ 𝑅 0×B としてVの列ベクトルがなす空間からUの列ベクトルがなす 空間への写像としてWを考えると、 • 𝑣> が対応する𝑢> に写り、その長さを𝜎> 倍する 𝑣. 𝑢6 𝜎6 𝑣C 𝑣6 𝑊 𝑢C 𝑢. 𝜎C 𝜎. 8
スペクトルノルム • 行列がある空間のベクトルに対して作用したときの 行き先でのノルムと前の空間でのノルムの比の上限 • 行列Wの最大特異値と一致! 𝑊𝑥 sup = sup 𝑊𝑥 𝑥 I I J. 𝑥 ⟼ 𝑊𝑥 𝑊𝑥 = 𝑥 " 𝑊 " 𝑊𝑥 = 𝑥 " 𝑉ΣU4 UΣV 4 x = 𝑥 " 𝑉ΣV 4 x 𝑥 = ∑0> 𝛼> 𝑣> と置く 0 = = 𝛼>6 𝜎>6 > 𝛼>6 が正で∑ 𝛼>6 = 1なので𝛼. = 1, それ以外0で 最大値𝜎. を取る 9
Spectral Norm Regularization • ついに論文に入ります • 論文要旨 – NNの各層のSNに正則化を加えることで入力データのperturbationに対して ロバストなNNを学習し汎化性能を向上させた 10
論文モチベーション • 汎化性能に対する一つの仮説 – 入力データの微小なnoise (perturbation) に対してモデルの出力がsensitiveになる と学習器の性能が悪化する • 入力データの微小な変化による出力値の変化を評価したい • NN全体を一つの作用素と見たときの作用素ノルム (スペクトルノルム) 11
メインアイデア • 多層NNは行列演算と非線形関数のカスケード接続 • 微小なnoiseが加えられた入力を評価する • noiseが微小だとすると、各層のelementwiseな非線形変換は 線形変換とみなすことができ、単純なAffine変換の式で書ける • スペクトルノルムがupper bound! 12
ロス関数と勾配計算 • 通常のロス関数にスペクトルノルムの正則項を加えたロス関数 • 勾配法で学習するため勾配の計算が必要 𝜕𝜎 𝑊 𝜕𝑊 6 𝜕𝜎 𝑊 = 2𝜎 𝑊 𝜕𝑊 = 2𝜎 𝑊 𝑢. 𝑣." (ここよくわかっていません。妄想) 特異値分解の式から最大特異値の勾配方向は𝑢. 𝑣." 𝑊 = 𝜎. 𝑢. 𝑣." + 𝜎6 𝑢6 𝑣6" + ⋯ + 𝜎0 𝑢0 𝑣0" −𝜆𝑢. 𝑣." をWに加えるとその分𝜎. が下がる 13
スペクトルノルムの計算 • スペクトルノルムを計算するたびに特異値分解をすると計算量が増大 • power iteration法を使って高速に計算 (実際には各iterでuを保持しておき、反復は一回のみ) 60 𝑥W = = 𝛼> 𝑢> 𝑥0 𝜎> 60 = = 𝛼> 𝜎 𝜎. . 𝑦W = 𝑊 " 𝑥W = = 𝛼> 𝜎> 𝑣> 𝑥0Y. 𝜎> 60Y6 = = 𝛼> 𝜎 𝜎. . 𝑥. = 𝑊𝑦W = = 𝛼> 𝜎>6 𝑢> ⋮ 𝑥0 = = 𝛼> 𝜎>60 𝑢> , 𝑥0Y. = = 𝛼> 𝜎>60Y6 𝑢> 𝑢> ≈ 𝑢. , 60Y6 𝑢> ≈ 𝑢. 𝑥0 𝑥0 𝑦0 = 𝜎. , 𝑢. = , 𝑣. = 𝑥0Y. 𝑥0 𝑦0 14
結果1 15
結果2 16
結論 • spectral normに対する正則化によって汎化性能が向上したことが確認 できた • MAP推定においてパラメタの事前分布に正規分布を仮定するとL2正 則化がでてくる。これと同じような構造がSpectral Normにもあるだと うか?どんな事前分布だろうか? 17
Spectral Normalization for GANs • 論文概要 – GANsの学習を安定させるにはLipschitz連続であることが重要であると最近の 研究でわかりつつある。Spectral Normalizationを行うことでDiscriminatorの Lipschitz定数をコントロールし安定化を向上させた 18
Lipschitz連続とは • ある作用素fで任意の2点を変換し、変換後の距離と変換前の距離の 比を抑える最小の定数をKとするとfはK-Lipschitz • 今回はなぜGANsにおいてLipschitz性が重要であるかは割愛します。 WGAN, LSGAN, b-GAN等を見てください fがK-Lipschitz⟺ ∀𝑥, 𝑥′ ^ I Y^(I _ ) IYI` ≤𝐾 19
LipschitzとSpectal Norm • 非線形関数のLipschitz定数が1とするとNN全体のLipschitz定数は各層 のLipschitz定数の積で抑えられる • 各層のLipschitz定数の積は各層のスペクトルノルムの積で表せる 20
Spectral Normalization • Spectral Normで重みを割ってできた重みを使ってFeedForwardする • これによってNN全体のLipschitz定数を1で抑えることができる 21
結果 Inception Score 22
頑健性 23
結論 • Spectral Normalizationによって安定性が向上した • Inception Scoreもweight normalizationに比べて良いか同等のスコアを出 した 24
感想 • スペクトルノルムは今後画像以外の分野でも使えそう • 学習安定性、Adversarial example、汎化性能等の最近hotな分野とちか い感じがする • 強化学習につかえないかな〜 25
26