>100 Views
November 27, 17
スライド概要
2017/11/27
Deep Learning JP:
http://deeplearning.jp/seminar-2/
DL輪読会資料
DEEP LEARNING JP [DL Papers] “BACKPROPAGATION THROUGH THE VOID: OPTIMIZING CONTROL VARIATES FOR BLACK-BOX GRADIENT ESTIMATION” ,DeepX http://deeplearning.jp/
書誌情報 • ICLR2018 submitted • Will Grathwohl – Toronto大のPhD • 離散潜在変数,また,目的関数がblack-boxな時でも使える,勾配の低バリア ンスな不偏推定量RELAXを提案. 2
バリアンスとバイアス 我々は低バリアンスで低バイアスな推定量を常に欲している! Unbiased = 母集団の期待値と推定量の期待値が一致する.(不偏推定量) 3
誤差逆伝搬法 • 望ましい出力とネットワークの出力との誤差を取り,誤差が減少する方向へパ ラメータを動かすことで最適化する. • 目的関数が連続かつ微分可能であり,モデルが決定的であれば,簡単に適用で きる 4
誤差逆伝搬法が簡単に用いられないケース • 目的関数がblack-boxである場合 – 例えば,強化学習における報酬 • 潜在変数を持つ確率モデルを扱いたい場合 – 例えば,VAE 5
目的関数がblack-boxなケース Black Box!! !(#, %) s a '(%|#, )) 報酬はBlack Boxな関数!によって値が返される 6
潜在変数を持つ確率モデル 潜在変数zを+ , - = /(0, ∑33 )からサンプリングする際に 計算グラフが途切れる 7
一般的な定式化 • • • • > ) = 7:(;|9) [! 4 ] 強化学習の場合 – +(4|))は)でパラメタ化された方策によってサンプルされる軌道4,!(4)は軌道に対する報酬 潜在変数を持つ確率モデルの場合 – 4が潜在変数で,!が何らかの目的関数. どうやって勾配の不偏推定量56を求めるか? – つまり,7 56 = 8 89 7:(;|9) [! 4 ] を満たす56 よく知られている2つの手法 – The score-function gradient estimator • w/ control variates – The reparameterization trick 8
The score-function gradient estimator 56?@ABCD?E@ F ! =! 4 GH5+ 4 ) , F) • いわゆるREINFORCE 4~+(4|)) • !がblack-boxでも求められる • これは不偏推定量だが,一般的に高バリアンス • この推定量は,!と4の依存関係に関する情報を一切使っていない. – 高バリアンスな理由 – 高バリアンスなのでcontrol variateを導入することが多い(次ページ) 9
Control variates • 7: ; 56MNO 4 = 56 4 − J 4 + 7: ; [J 4 ] J 4 が計算できる任意の関数J(4)を用いることで,期待値を変えないま まバリアンスだけを下げることができる(うまくJを選べば) . – – c(4)とf 4 が相関している場合にバリアンスを下げる 10
補足 http://cbl.eng.cam.ac.uk/pub/Intranet/MLG/ReadingGroup/VarianceReductionTechniquesForStochasticOptimization.pdf 11
The reparameterization trick 56SN:TSTU F F! FV ! = ! 4 = , F) FV F) R~+ R , 4 = V(), R) • !が微分可能で連続(known)とし,潜在変数4を,ある分布からランダムにサ ンプリングされた値Rを用いて微分可能かつ決定的な関数によって表すことがで きる場合,上のように勾配の不偏推定量を導出できる. – 右:VAEの例(,が4に対応) • REINFORCEよりも低バリアンスな推定量 – !と4に関する勾配を取れるから 12
本論文の目的 > ) = 7:(;|9) [! 4 ] • 上の,低varianceな勾配の不偏推定量,RELAXを提案 • RELAXは – 目的関数がblack-boxでも用いることができる – 離散の潜在変数を持つ確率モデルに用いることができる • gumbel softmaxは温度パラメータでbiasとvarianceのバランスをとるが,本手法は常に unbiased 13
整理 > ) = 7:(;|9) [! 4 ] ! is known unknown latent variable (or action) is continuous REPARAM latent variable (or action) is discrete REBAR(Tucker et al) (RELAX) continuous REINFORCE LAX discrete REINFORCE RELAX 14
! is unknown and 4 is continuous の場合 • !がblack-boxなので,!のsurrogateを,ニューラルネットワークJW で表現 • 5?@ABCD?E@ と5SN:TSTU は同じ期待値を持つので,引いて足しても56は不偏推定量 のまま.また,どんなcW を選んでも不偏推定量. • cW =!のとき,reparametarizationの式と一致 15
cW の訓練 • cW の役割は,56のバリアンスを下げること • 直接56のバリアンスのXに関する勾配を計算して最適化する – 上はよく使われるテクニック • 7[56]はXに依存していない • ※強化学習ではよく ! 4 − JW 4 Y を最小化してcontrol variateを訓練する – Q-Prop, advantage actor-critic, TRPOのAdvantage版 16
! is unknown and 4 is discrete の場合 • 4が離散変数である場合,56Z[\ は,reparametarize可能な分布+(,|))と] (argmaxなど,非連続な作用)を用いて以下のように書ける • ただ,上の式は,! = JW の時にreparametarization estimatorを復元できない – 8 8 GH5+(,|))を GH5+(4|))で置き換えられれば 89 89 部のバリアンスが下げれる. ! 4 − JW log +(4|))になって,REINFORCE • そこで,4をサンプリングした後に,4によって条件づけられた分布からサンプ リングされる,̃ ~+(,|4, ))を用いる 17
,̃ ~+(,|4, ))でサンプリングとは ・・・ • 多分こういうこと(右) – 今回の論文では,LAXから RELAXへの導出はきちんと述べ られていませんでしたが, Tuckerの論文(REBAR)を見た感 じこういうことをしているんだと 思います... • (Tucker et al. [2017]に,, を離散変数4で条件づけたとき の話が色々書いてあります) 18
結局 • となる. • これは,4が離散でも!がunknownでも用いることのできる,勾配の不偏推定量 であることがわかる. – (不偏推定量である証明) 19
強化学習の場合のLAX • 方策'(%|#)が再パラメータ化可能な分布であれば,自然に強化学習の場合でもLAXを用いるこ とができる – RELAXも先の議論と同様に求めることができる(詳しくはAppendixを読んでください) • JW の最適化は56のバリアンスの勾配を求めて最適化する – Vを二乗誤差で推定する時に比べ, • Replay Bufferが必要ない • unstable training dynamicsを避けることができる(?) – よくわかりません • control variateが行動に依存する(!) – 参考:A2C 20
アルゴリズム:LAX 21
アルゴリズム:RELAX 22
実験1:> ) = 7:(;|9) [ 4 − 0.499 Y ]の最小化(+ 4 ) = fghiHjGGk) 不偏推定量を用いる比較手法に比べ,低バリアンスな勾配が求められている 23
おまけ:gumbel softmaxはbiased > ) = 7:(;|9) [ 4 − 0.45 Y ]の最小化(+ 4 ) = fghiHjGGk)の実験 REBARとREINFORCEは不偏推定量なので最適化することができる 24
実験1:> ) = 7:(;|9) [ 4 − 0.499 Y ]の最小化(+ 4 ) = fghiHjGGk) • ある)において最適なJW と,その他の手法における 損失関数のrelaxation. • Jが実際の!に相関している. – 4は0,1でサンプリングされるので実際の!は REINFORCEのような形になる – つまりREINFORCE部のバリアンスを下げる • Jの勾配の向きが正しい. – つまりreparam部は正しい勾配方向を向く • REBARはcontrol variatesに!をそのまま使うの で(今回は二次関数),continuousな形として出 てくる,は結果として右図のように二次関数のよう な出力になる. – 一方でRELAXは!を使わず,NNである J を学習させて いくので,continuousなzでもいい感じな出力になる. 25
実験2:離散VAE • 潜在変数をベルヌーイ分布とした時の,VAEのELBOの値を検証 – この場合,!はknownなので,JW (,) = f mn , + ĥp (,)としている. • 右辺の!だけだとREBARと同じ(詳しくはTucker et al) • • !に関する情報を使いつつ,hをNNとしてRELAXの方法でrを最適化 MNIST, Ominiglotで最大のELBO 26
実験2:離散VAE • 収束のスピードがRELAXは速い. – 勾配のバリアンスが低いということ. 27
実験3:RL 28
まとめ • RELAXは汎用的な場面で,従来手法に比べてlow-varianceな勾配の不偏推定量 を計算できる! 29