[DL輪読会]Scalable Training of Inference Networks for Gaussian-Process Models

>100 Views

September 27, 19

スライド概要

2019/09/06
Deep Learning JP:
http://deeplearning.jp/seminar-2/

シェア

またはPlayer版

埋め込む »CMSなどでJSが使えない場合

(ダウンロード不可)

関連スライド

各ページのテキスト
1.

DEEP LEARNING JP [DL Papers] Scalable Training of Inference Networks for Gaussian-Process Models Makoto Kawano (@mkt_kwn), Matsuo Lab. http://deeplearning.jp/

2.

書誌情報 著者情報: X Jiaxin Shi, Mohammad Emtiyaz Khan, Jun Zhu X 清華大学 (インターン),理研 AIP(近似ベイズ推論チーム) ICML2019 選定理由 X ベイズ・不確実性周りでガウス過程は大事と思ったため 免責事項 X 思ったよりもニューラルネットワーク関係なかったです X 再生核ヒルベルト空間 (RKHS) に意識を飛ばすのは初めてなので, 間違っているかもしれないです X 間違っていたら,炎上しないようにそっと twitter とかで教えてください 1/32

3.

研究概要 ガウス過程は計算量が O(N 3 ) かかってしまうことが知られている 補助入力点の導入 [Cheng and Boots, 2016] X 計算量は O(M 3 ) とかなり減る (ただし M  N ) 事後分布の近似精度が M に依存してしまう DNN による事後分布近似 [Sun et al., 2019] X 補助入力点よりも柔軟な事後分布近似が可能 ミニバッチ学習では全データ点同士の相関を 捉えられない 入力空間 X 上ではなく,RKHSH 上でガウス過程 (の近似 NN) をミニバッチ学習 2/32

4.

アウトライン 1. ガウス過程におけるベイズ推定 1.1 ガウス過程の定義 1.2 補助入力点による疎ガウス過程 1.3 関数空間における GP と推論ネット ワーク 2. 提案手法 2.1 確率的汎関数鏡像降下法 2.2 GP のための推論ネットワーク 3. 実験 3.1 実験概要 3.2 合成データを用いた実験 3.3 回帰問題 3.4 分類問題 3/32

5.

ガウス過程の定義 ガウス過程 平均関数 m(x) と共分散関数 k(x, x0 ) を持つ確率過程をガウス過程と呼ぶ: f (x) ∼ GP m(x), k(x, x0 )  N 個の入力 X = [x1 , . . . , xN ]> とその関数値の周辺分布 f = [f (x1 ), . . . , f (xN )]> 多変量ガウス分布 f ∼ N (mD , KD,D ) に従う D := [1, 2, . . . , N ]):データのインデックス mD : i 番目の値が m(xi ) であるベクトル KD,D : (i, j) 番目の値が k(xi , xj ) である共分散行列 4/32

6.

ガウス過程のベイズ推論 任意のテストデータ x が与えられた時の f (x) 上の事後分布を推定したい 回帰問題:尤度 (ガウス分布) の共役性によって解析的に事後分布が求まる テストデータ x∗ における予測分布: f (x∗ )|y ∼ N kT∗,D (KD,D + σ 2 I)−1 (y − mD ), k∗∗ − kT∗D (KD,D + σ 2 I)−1 kD,∗  学習する必要はないので,学習時間はいらない 新しい入力 x が来るたびに,RD×D の逆行列を計算 X 計算量 O(N 3 ),使用メモリ O(N 2 ) データ数 D が多すぎると現実的ではない • 大抵数千程度まで 5/32

7.

補助入力点による疎ガウス過程 ガウス過程回帰の補助変数法への変分ベイズ適用 [Quiñonero-Candela and Rasmussen, 2005] 関数 f (·) の定義域内に仮想的な M 個の入力点 Z = (z1 , . . . , zM ) を適切に配置 各入力点 zm における出力値 um = f (zm ) を補助変数とする この補助入力点を用いて,ガウス過程に従う f (x) の予測分布を求める 1. 事前確率の定義 X 入力点 X における出力値 f と,補助入力点 Z における出力値 u.テスト入力点 x∗ に おける出力値 f∗ の事前確率 p(f , u, f∗ ) を定義 2. 事後確率の導出 X 入力点 X における観測値 y にもとづいて,補助変数の事後確率 p(u|y) を求める 3. 予測分布の導出 X 出力値 f∗ の予測分布 p(f∗ |y) を事後分布を用いて求める Z Z p(f∗ |y) = p(f∗ |f )p(f |y)df ≈ p(f∗ |u)p(u|y)du 6/32

8.

補助入力点による疎ガウス過程 うまく補助入力点を決めると,元の入力点 X を用いた時と同等の予測が可能 Figure 1: [持橋大地 and 大羽成征, 2019] より引用 7/32

9.

変分ベイズによる補助入力点の配置 補助入力点の配置も変分下界最大化問題に含めることで,計算効率をよくする 観測される確率変数:観測値 y = (y1 , . . . , yN )> 既知定数:入力点 X = (x1 , . . . , xN ) 未知定数:補助入力点 Z = (z1 , . . . , zM ), 共分散関数 k(x, x0 ; θ) を調整するパラメータ θ 推定対象となる確率変数: 入力点における関数出力値 f = (f1 , . . . , fN )> = (f (x1 ), . . . , f (xN ))> 補助入力点における関数出力値 u = (u1 , . . . .uM )> = (f (z1 ), . . . , f (zM ))> 8/32

10.

変分ベイズによる補助入力点の配置 エビデンス p(y|X) に含まれる真の事後分布 p(f , u|y, X, Z) は解析的に求まらない 変分事後分布 q(f , u) で近似 変分ベイズによる補助変数法のための独立分解仮定 q(f , u) = p(f |u)q(u) p(f |u) = N Y p(fn |u) n=1 p(fn |u) = N (fn |fˆn (u), σ̂n2 ) q(u) = N (u|û, Σ̂u ) 9/32

11.

疎ガウス過程の変分下界 エビデンスの変分下界 Z log p(Y|X) ≥ q(f , u) log p(Y|X, f )p(f |u)p(u) df du q(f , u) = Eq(u)p(f |u) [log p(y|f )] − KL [q(u)kp(u)] ガウス過程回帰:q(u) は closed-form なガウス分布 q(u) の計算量は O(M N ),N に比例 分散の逆行列の計算量:O(M 3 ) 実際は,逆行列計算のため,補助入力点数は制限 補助入力点の制限によって,近似事後分布の柔軟性が悪化 近似に有効な補助入力点を見つけることは難しい 10/32

12.

ガウス過程の双対表現 関数空間上でガウス過程を見ても,スパース変分推論は可能 再生核ヒルベルト空間 H 上で双対表現をもつ [Cheng and Boots, 2016] ガウス過程 GP(m, k) の再生核ヒルベルト空間 (RKHS)H 上での双対表現 µ ∈ H と半正定値線形写像 Σ : H 7→ H が存在し, 任意の x, x0 ∈ X , ∃φx , φx0 ∈ H に対し, 0 2 > m(x) = ρφ> x µ, k(x, x ) = ρ φx Σφx0 平均:再生性カーネル k̃(x, x0 ) = ρ2 φ> x φx0 で定義される H で実現値 µ を持つ 共分散:線形写像 Σ と等しい N (f |µ, Σ) と表せる 11/32

13.

ガウス過程の推論ネットワーク ガウス過程の双対表現と q(f ),q(f∗ , fu ) の関係性 1 1 2 q(f ) ∝ p(f∗ |fu )q(fu )|Ku | 2 |K∗ − K∗u K−1 u Ku∗ | を用いることで,変分下界を書き直すことが可能: L(q(f )) = Eq(f ) [log p(y|f )] − KL [q(f )kp(f )] . メリット: X q(f ) の良い関数近似器 (=ニューラルネットワーク) を選ぶ スパース変分近似より良い近似事後分布が得られる デメリット: X 補助入力点:少ない数のデータを扱うパラメトリックな問題をとけば良い q(f ) 上でスパース仮定を置かずに同様の処理をすることは難しい 12/32

14.

ガウス過程のミニバッチ学習 関数空間における q(f ) と p(f |y) の一致度の測定 [Sun et al., 2019] 確率過程同士の KL ダイバージェンスは計算しにくい X R log q(f ) p(f ) df にならない 無限次元のルベーグ測度がないため [Eldredge, 2016] 有限個の測定点 XM における KL ダイバージェンスで上界を抑える X 分布 c(x) から有限個サンプリング:XM := [x1 , x2 , . . . , xM ]> KL[q(f )kp(f |y)] = sup KL[q(fM )kp(fM |y)] M ∈N,XM ∈X M 課題:全データセット y への p(fM |y) の依存考慮 Sun et al.:データセットの部分集合を毎イテレーション毎にサンプリング q(f ) と p(f |y) が一致することはなくなってしまう 13/32

15.

汎関数鏡像降下法の定義 近接勾配法 [鈴木大慈, 2018] 最急降下法やニュートン法を包括する枠組み:   1 w(t+1) = arg min hw, gt i + kw − w(t) k2 2ηt w∈Rp (汎関数) 鏡像降下法1 [鈴木大慈, 2018] ある凸関数 φ に対して Bregman ダイバージェンスを Bφ (w0 , w) = φ(w0 ) − φ(w) − hw0 − w, ∇φ(w)| とすると,   1 w(t+1) = arg min hw, gt i + Bφ (w, w (t) ) 2ηt w∈Rp 1 14/32 鏡像降下法は,近接勾配法の二乗ノルムを Bregman ダイバージェンスにしたもの

16.

ELBO 最適化 汎関数鏡像降下法適用による ELBO 最適化 [Cheng and Boots, 2016] Z ˆ t )q(f )df − 1 KL[qkqt ] qt+1 = arg max ∂L(q βt q ただし,t はイテレーション,βt > 0:学習率 qt := qt (f ) は 1 イテレーション前の近似 ˆ t ) = N log p(yn |f ) log p(f ) − log qt (f ):L(q) の汎関数勾配の不偏確率近似 ∂L(q 適応的 (adaptive) ベイジアンフィルタとみなせる qt+1 (f ) ∝ p(yn |f )N βt p(f )βt qt (f )1−βt 前の近似事後分布 qt (f ) が,事前分布 p(f ) を修正 サブサンプリングされたデータの尤度 p(yn |f ) が近似事後分布を更新 15/32

17.

推論ネットワークの導入 適応的ベイジアンフィルタを推論ネットワークで実装 各イテレーション時の推論ネットワークで tractable な形に近似 GP の推論ネットワーク qγ (f ):パラメータ γ をもつ推論ネットワーク γ の推定が目的 M 個の点有限集合の XM := [x1 .x2 , . . . , xM ] で評価 ガウス過程のようにガウス分布に従う つまり,VAE のように µM , ΣM を出力するネットワークにする: qγ (fM ) = N (µM , ΣM ) 16/32

18.

ブートストラップによる近似 ブートストラップ法適用により qt (f ) よりも qt+1 (f ) の方が精度の高い近似が可能 パーティクルフィルタにおけるブートストラップ法 [Doucet et al., 2001] と類似 q̂t+1 (f ) ∝ p(yn |f )N βt p(f )βt qγt (f )1−βt 右辺全てがガウス分布に従うため,q̂t+1 (f ) もガウス分布に従う 解析的に 1 次・2 次モーメントが求まる " p(fM , fn ) βt " ∝ N qγt (fM , fn ) 0 0 # " , 1−βt KM,M Kn,M := N KM,n Kn,n eM m en m #!βt # " , e M,M K e n,M K " ×N µM µn e M,n K e n,n K # " , #! , ΣM,M Σn,M ΣM,n Σn,n e M,M K e n,M K e M,n K e n,n K #!(1−βt ) 更新された近似事後分布: " 2 q̂t+1 (fM , fn ) ∝ N (yn |fn , σ /(N βt )) × N eM m en m # " , #! . 17/32

19.

推論ネットワークのパラメータ更新 周辺分布 q̂t+1 (fM ) を推論ネットワークのパラメータに反映させるのは難しい c(x) からサンプリングした計測点 XM における qγ (f ) と q̃(f ) を一致させる KL ダイバージェンスの勾配を使って更新 γt+1 = γt − η∇γ KL [qγ (fM )kq̂t+1 (fM )]|γ=γt もし尤度がガウスではない場合,q̂t+1 (fM ) は解析的に求まらない KL ダイバージェンスの上界 KL[qγ (fM , fn )kq̂t+1 (fM , fn )] を考える Lt (qγ ; qγt , XM ) = Eqγ (fM ,fn ) [N βt log p(yn |fn )+ βt log p(fM ,fn )+(1−βt ) log qγt(fM ,fn )−log qγ(fM ,fn )] . 18/32

20.

学習アルゴリズム Algorithm 1 教師あり学習のための GPNet 計算量は O(M 3 ) Input: {(xn , yn )}N n=1 , c(x), M , T , β, η. 1: 推論ネットワーク qγ を初期化する. 2: for t = 1, . . . , T : 3: ランダムに訓練データ (xn , yn ) をサンプリングする. 4: c(x) から XM = (x1 , . . . , xM ) をサンプルする. 5: if ガウス分布尤度 : 6: ブートストラップ法で q̂t+1 (fM ) を計算する. 7: γt+1 ← γt − η∇γ KL [qγ (fM )kq̂t+1 (fM )]. 8: else 9: γt+1 ← γt + η∇γ Lt (qγ ; qγt , XM ). 10: end if 11: end for 12: return qγt . NN を使うため,M の大きさは関 係ない c(x) の選択 X Cylinder sets と呼ばれているこ とも X ノイズを加えて訓練データの “近く” をサンプリングする 測定点 XM 19/32

21.

GP のための推論ネットワーク GPNets で利用可能な 3 種類のネットワークが挙げられる ベイズニューラルネットワーク X GP と等価であることは示されている [Neal, 2012] X 出力の密度関数は intractable 何百のサンプリング xNN の順伝播は高コスト X 適切な各レイヤのユニット数がわからない BNN と GP が一致する保証なし ガウス過程の特徴空間表現を利用した 2 種類のネットワーク X ガウス分布の重み w ∼ N (0, Σ) と入力特徴 φ(x) によるベイズ線形回帰 = 共分散 k(x, x0 ) = φ(x)> Σφ(x0 ) をもつ GP と等しい [Williams and Rasmussen, 1996] ガウス過程の潜在関数 f ∼ GP(0, k) をパラメトリックモデルと解釈可能 q(f ) : f (x) = w> φ(x), w ∼ N (m, V) 20/32

22.

利用可能な推論ネットワーク 乱択化フーリエ特徴 (Random Feature Expansion, RFE)[Rahimi and Recht, 2008] M 1 X 0 k(x, x0 ) ≈ cos(s> s1:M ∼ p(s), m (x − x )), M m=1 > > > > X φr (x) = √1M [cos(s> 1 x), . . . , cos(sM x), sin(s1 x), . . . , sin(sM x)] と定義することで, k(x, x0 ) ≈ φr (x)> φr (x0 ) と特徴マップを近似可能 活性化関数 sin/cos,重み s1 , s2 , . . . , sM と w であるような 3 層の MLP 深層ニューラルネットワーク X φ(x) を深層 NN で実現するのみ X Neural Tangent Kernel[Jacot et al., 2018]: kNTK (x, x0 ) = ∇Ω g(x; Ω0 )> V∇Ω g(x; Ω0 ). 21/32

23.

実験概要 提案手法 GPNet と FBNN [Sun et al., 2019],補助入力点による疎ガウス過程法 (SVGP) を比較 M :補助入力点数および,測定点数を表す 実装は,GPFlow(TensorFlow + ガウス過程のレポジトリ) X https://github.com/thjashin/gp-infer-net 3 種類の実験タスクを設定 X 合成データ (GP を真のモデルとみなす) の近似 X 回帰問題 X 分類問題 22/32

24.

合成データを用いた実験 RBF カーネルの GP の推論を行う データ点 100 個からミニバッチサイズ 20 で学習 M = 20 の時,全ての手法で推定可能 X M = 2, 5 の時でも GPNets は推定可能 分散が大きいため,学習時間に影響を及ぼす 23/32

25.

ベンチマークデータセット 7 種類の標準的な回帰問題用のベンチマークを利用 GPNets に RFE ネットワークを利用 ほとんどのデータセットで GPNets の方が RMSE が小さい PBP SVGP, M=500 SVGP, M=100 GPNet, M=500 GPNet, M=100 FBNN, M=500 2 4 6 4 boston 5 6 7 0.5 concrete 1.0 1.5 0.06 0.08 energy 0.10 3.5 kin8nm 4.0 4.5 3.5 4.0 power 4.5 protein 0.5 0.6 0.7 wine red PBP SVGP, M=500 SVGP, M=100 GPNet, M=500 GPNet, M=100 FBNN, M=500 −3 boston −2 −3.50 −3.25 −3.00 concrete −2.75 −2.0 −1.5 −1.0 energy −0.5 1.0 1.2 kin8nm −2.9 −2.8 power −2.7 −3.5 −3.0 protein −1.0 wine red −0.8 24/32

26.

飛行機の遅延データセットでの回帰 より大きなデータセットでも回帰が可能であることを示す 590 万レコード:アメリカの飛行機記録 (2018/4-2019/3)[Hensman et al., 2013] もっとも GPNets の RMSE が低い (尤度もほぼ同等) SVGP が M における差が大きい FBNN は M が大きくなると精度悪い ミニバッチの問題が生じている M=100 Metric RMSE Test LL M=500 SVGP GPNet FBNN SVGP GPNet FBNN 24.261 -4.618 24.055 -4.616 23.801 -4.586 23.698 -4.594 23.675 -4.601 24.114 -4.582 25/32

27.

分類問題 GPNets が分類問題でも有効であることを示す 従来の CNN-GP は回帰問題として扱い,予測分布を利用 MNIST や CIFAR10 のデータ量は計算量 O(N 3 ) では不可能 Methods MNIST CIFAR10 SVGP, RBF-ARD [?] Conv GP [?] SVGP, CNN-GP [?] GPNet, CNN-GP 1.55% 1.22% 2.4% 1.12% 35.4% 24.63% NN-GP [?] CNN-GP [?] ResNet-GP [?] CNN-GP [?] 1.21% 0.96% 0.84% 0.88% 44.34% 32.86% データ量を考慮すると普通のではなく,SVGP しかない 学習が不安定になる 上側:分類尤度 下側:GP 回帰 提案手法が使いやすいのは明らか 26/32

28.

まとめ 大きなデータセットでも高精度にガウス過程の事後分布を推定可能にする 関数空間上で最適化することで補助入力点による制約を取り除く ミニバッチ学習でもデータセット全体を考慮 複数の実験で既存手法と比較 X 既存手法よりも推定事後分布の近似精度が同等 (もしくは良い) X データ量が多い場合でも,スケールし,ミニバッチ学習が可能 27/32

29.

その他感想 著者スライド 感想 データ入力空間ではなく,関数空間上で最適化しちゃうのはうまい. 学習時は補助変数法と同じ計算量 O(M 3 )(イテレーション T 回回すから O(T M 3 )?)だけど,M の数に近似分布の精度があまり依存せず,予測時は NN と同じ計算量なのはつよい 色々使えるかも? pytorch で再現実装しました github.com 28/32

30.

References i Cheng, C.-A. and Boots, B. (2016). Incremental variational sparse gaussian process regression. In Advances in Neural Information Processing Systems, pages 4410–4418. Doucet, A., De Freitas, N., and Gordon, N. (2001). An introduction to sequential monte carlo methods. In Sequential Monte Carlo methods in practice, pages 3–14. Springer. Eldredge, N. (2016). Analysis and probability on infinite-dimensional spaces. arXiv preprint arXiv:1607.03591. 29/32

31.

References ii Hensman, J., Fusi, N., and Lawrence, N. D. (2013). Gaussian processes for big data. arXiv preprint arXiv:1309.6835. Jacot, A., Gabriel, F., and Hongler, C. (2018). Neural tangent kernel: Convergence and generalization in neural networks. In Advances in neural information processing systems, pages 8571–8580. Neal, R. M. (2012). Bayesian learning for neural networks, volume 118. Springer Science & Business Media. 30/32

32.

References iii Quiñonero-Candela, J. and Rasmussen, C. E. (2005). A unifying view of sparse approximate gaussian process regression. Journal of Machine Learning Research, 6(Dec):1939–1959. Rahimi, A. and Recht, B. (2008). Random features for large-scale kernel machines. In Advances in neural information processing systems, pages 1177–1184. Sun, S., Zhang, G., Shi, J., and Grosse, R. (2019). Functional variational bayesian neural networks. arXiv preprint arXiv:1903.05779. 31/32

33.

References iv Williams, C. K. and Rasmussen, C. E. (1996). Gaussian processes for regression. In Advances in neural information processing systems, pages 514–520. 持橋大地 and 大羽成征 (2019). ガウス過程と機械学習 = Gaussian process and machine learning. MLP 機械学習プロフェッショナルシリーズ. 講談社. 鈴木大慈 (2018). 機械学習における確率的最適化. 応用数理, 28(3):27–33. 32/32