Upload
deep-learning-jp
View
520
Download
1
Embed Size (px)
Citation preview
DEEP LEARNING JP[DL Papers]
“Spectral Norm Regularization for Improving theGeneralizability of Deep Learning” and “SpectralNormalization 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
特異値分解
• 特異値分解とは– 行列分解の一つ– 対象となる行列Wを直交行列U, Vと対角行列Σの積で分解
• UとVの列 (行) ベクトルは正規直交基底をなす– 対角行列の成分は特異値と呼ばれる
5
𝑈"𝑈 = 𝐼, 𝑉𝑉" = 𝐼 Σ = diag(𝜎., … , 𝜎0)
𝑊 = 𝑈ΣV4特異値、nはWのランク、𝜎. ≥ 𝜎6⋯ ≥ 𝜎0
特異行列の和に分解
• Uの列ベクトルを𝑢., 𝑢6, … , 𝑢0• Vの列ベクトルを𝑣., 𝑣6, … , 𝑣0とする
7
𝑊 = 𝑈ΣV4
= 𝑢. ⋯ 𝑢0𝜎. ⋯ 0⋮ ⋱ ⋮0 ⋯ 𝜎0
𝑣."⋮𝑣0"
==𝜎>𝑢>𝑣>"0
>
ランク1
𝑊"𝑢> = 𝜎>𝑣>
𝑊𝑣> = 𝜎>𝑢>
固有値っぽい性質
特異値分解の幾何学的意味
• 𝑊 ∈ 𝑅0×BとしてVの列ベクトルがなす空間からUの列ベクトルがなす空間への写像としてWを考えると、
• 𝑣>が対応する𝑢>に写り、その長さを𝜎>倍する
8
𝑣.
𝑣6𝑣C 𝑊 𝑢.
𝑢6
𝑢C𝜎C
𝜎6
𝜎.
スペクトルノルム
• 行列がある空間のベクトルに対して作用したときの行き先でのノルムと前の空間でのノルムの比の上限
• 行列Wの最大特異値と一致!
9
𝑥 ⟼ 𝑊𝑥 supI
𝑊𝑥𝑥 = sup
I J.𝑊𝑥
𝑊𝑥 = 𝑥"𝑊"𝑊𝑥�
= 𝑥"𝑉ΣU4UΣV4x�
= 𝑥"𝑉ΣV4x� 𝑥 = ∑ 𝛼>𝑣>0> と置く
==𝛼>6𝜎>60
>𝛼>6が正で∑𝛼>6�
� = 1なので𝛼. = 1,それ以外0で最大値𝜎.を取る
Spectral Norm Regularization• ついに論文に入ります• 論文要旨– NNの各層のSNに正則化を加えることで入力データのperturbationに対してロバストなNNを学習し汎化性能を向上させた
10
論文モチベーション
• 汎化性能に対する一つの仮説– 入力データの微小なnoise (perturbation) に対してモデルの出力がsensitiveになると学習器の性能が悪化する
• 入力データの微小な変化による出力値の変化を評価したい• NN全体を一つの作用素と見たときの作用素ノルム (スペクトルノルム)
11
メインアイデア
• 多層NNは行列演算と非線形関数のカスケード接続• 微小なnoiseが加えられた入力を評価する• noiseが微小だとすると、各層のelementwiseな非線形変換は線形変換とみなすことができ、単純なAffine変換の式で書ける
• スペクトルノルムがupper bound!
12
ロス関数と勾配計算
• 通常のロス関数にスペクトルノルムの正則項を加えたロス関数• 勾配法で学習するため勾配の計算が必要
13
𝜕𝜎 𝑊 6
𝜕𝑊 = 2𝜎 𝑊𝜕𝜎 𝑊𝜕𝑊
= 2𝜎 𝑊 𝑢.𝑣."(ここよくわかっていません。妄想)特異値分解の式から最大特異値の勾配方向は𝑢.𝑣."
𝑊 = 𝜎.𝑢.𝑣." + 𝜎6𝑢6𝑣6" + ⋯+ 𝜎0𝑢0𝑣0"
−𝜆𝑢.𝑣."をWに加えるとその分𝜎.が下がる
スペクトルノルムの計算
• スペクトルノルムを計算するたびに特異値分解をすると計算量が増大• power iteration法を使って高速に計算 (実際には各iterでuを保持しておき、反復は一回のみ)
14
𝑥W ==𝛼>𝑢>
�
�
𝑥. = 𝑊𝑦W ==𝛼>𝜎>6𝑢>
�
�
𝑦W = 𝑊"𝑥W ==𝛼>𝜎>𝑣>
�
�
𝑥0 ==𝛼>𝜎>60𝑢>
�
�
, 𝑥0Y. ==𝛼>𝜎>60Y6𝑢>
�
�
⋮
𝑥0𝜎.60
==𝛼>𝜎>𝜎.
60𝑢> ≈ 𝑢.
�
�
,
𝑥0Y.𝜎.60Y6
==𝛼>𝜎>𝜎.
60Y6𝑢> ≈ 𝑢.
�
�
𝑥0𝑥0Y.
�= 𝜎., 𝑢. =
𝑥0𝑥0
, 𝑣. =𝑦0𝑦0
結論
• 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等を見てください
19
fがK-Lipschitz⟺ ∀𝑥, 𝑥′ ^ I Y^(I_)IYI`
≤ 𝐾
LipschitzとSpectal Norm• 非線形関数のLipschitz定数が1とするとNN全体のLipschitz定数は各層のLipschitz定数の積で抑えられる
• 各層のLipschitz定数の積は各層のスペクトルノルムの積で表せる
20
Spectral Normalization• Spectral Normで重みを割ってできた重みを使ってFeedForwardする• これによってNN全体のLipschitz定数を1で抑えることができる
21