1.3K Views
November 13, 20
スライド概要
2020/11/13
Deep Learning JP:
http://deeplearning.jp/seminar-2/
DL輪読会資料
DEEP LEARNING JP NVAE: A Deep Hierarchical Variational Autoencoder [DL Papers] Presenter: Keno Harada, The University of Tokyo, B4 http://deeplearning.jp/ 1
目次 ● 書誌情報 ● 背景 ● 提案手法 ○ ○ ○ ○ ● ● ● ● Depth wise convolution Residual parameterization of posterior parameters Spectral regularization 階層構造 実験結果 NVAE使ってみた on BAIR Robot push dataset Very deep VAE(ICLR 2021 underreview) 感想 2
書誌情報 ● ● ● ● NVAE: A Deep Hierarchical Variational Autoencoder 著者: Arash Vahdat, Jan Kautz (NVIDIA) Neural Information Processing Systems (NeurIPS) 2020 (spotlight) 関連URL ○ ○ 論文: https://arxiv.org/pdf/2007.03898.pdf 著者実装: https://github.com/NVlabs/NVAE ● 概要 ○ 階層的なVAEにおいてKL項の安定のためにSpectral Regularizationとpriorの確率分布パラメー タとの差分を学習させるResidual Parameterizationを組み合わせ, またGeneratorが広範囲の関 係性をモデル化するためにDepth wise convolutionを使用してパラメータを増やしすぎること なくCNNのfilterサイズを大きくしたNVAEを提案, 256 * 256の高解像度な画像生成を可能にし た. 3
背景 ~make VAEs great again by architecture design~ ● VAEの改善においてNeural network architectureの設計は見過ごされてきた ○ ○ Classificationでうまくいった仕組みをそのまま取り入れていた VAEの特徴に合わせた設計を ■ 入力データと潜在変数間で相互情報量の最大化 ■ パラメータ増やした時の挙動が特殊 ● Decoderはover parameterizeしちゃうと良くない ● Encoderはパラメータ増やすとamortization gapが減る ■ long-range correlations in dataをうまくモデル化すべき ■ 階層的なVAEではKL項によって学習が不安定に 4
提案手法 Nouveau VAE ● Depth wise convolutions (Generatorのみ) ○ ○ 通常のConvよりもパラメータ数を増やずにreceptive fieldの拡大, MobileNetなどで使われる 左右対称性とか肌のuniformさをモデル化したい ● Residual parameterization of approximate posterior parameters ○ KL項の安定化 ● Spectral regularization ○ KL項の安定化 ● 階層構造 ○ ○ long-range correlationsへの対処 IAF-VAEの構造を参考に ● この他様々な工夫あり(活性化関数やKL warmingなど) 5
Depth wise convolutions parameter数 2d conv: Cin * K * K * Cout Depth wise: Cin * K * K NVAE (Fig3a) Point wise: Cin * 1 * 1 * Cout (K * K * Cin + Cin*Cout) / (Cin * K * K * Cout) = 1/Cout + 1/K**2 計算量と表現力の工夫のため Inverted residualを採用 MobileNetV2: Inverted Residuals and Linear Bottlenecks (Fig3b) 詳しくは: https://qiita.com/yu4u/items/dc26d220e85279e76157 6
Depth wise convolutions 7
Residual parameterization of approximate posterior parameters なんでうまくいくの?? 8
Residual parameterization of approximate posterior parameters 9
Spectral regularization ● KL項を安定させたい ○ Encoderの入力が変化しても大きな変動がないような出力をさせたい ■ リプシッツ定数をコントロールする ● → Spectral Regularization ● GANの学習の安定性に大きく寄与した要素 Spectral normalizationについての輪読会資料: https://www.slideshare.net/DeepLearningJP2016/dl-spectral-norm-regularization-for-improving-the-generalizability-ofdeep-learningspectral-normalization-for-gans 10
Spectral regularization 11
階層構造 12
階層構造 Improved Variational Inference with Inverse Autoregressive Flow Fig6 13
モデル構造 14
実験結果 bits per dimension: NLL * 1. / np.log(2.) / (C*H*W) が右図の値, 解像度が異なっ ても比較できるようにする 15
実験結果 16
zの標準偏差を狭めても多様性のある生成が可能 Sample時Batch Normのチューニングによって質が良くなることを報告 17
NVAE 使ってみた on BAIR push dataset 18
NVAE 使ってみた on BAIR push dataset 19
Very deep VAE(ICLR 2021 under review) https://openreview.net/pdf?id=RLRXCV6DbEJ 潜在変数の階層が観測変数の次元と同じになればVAEが自己回帰モデルと等価で あるという導入から階層の深さに着目, 高解像度の画像生成に成功 学習の安定化のための施策 ● 重みの初期化 ○ Residual bottlleneck blockの最後のCNNを1/√Nで初期化(Nは層の深さ) ■ その他の層はPyTorchのデフォルトの設定 ● upsamplingをNearest neighborで行う ○ ○ 階層が深くなっても勾配がscaleすることなく伝わる free bits, KL warming upのような工夫を除いてもうまくいった ● 勾配ノルムが一定以上の場合はupdateをskip ○ Spectral Regularizationとは違ったヒューリスティックな方法 ● p(z)を固定してq(z|x)の学習を行う(epochの半分) 20
Very deep VAE(ICLR 2021 under review) NVAEに比べてzの階層をより深くした パラメータ数も少ない NVAEは畳み込みのチャンネル数が多い NVAEの工夫をVery deep VAEに取り込むことは 可能 21
感想 ● NVAEの実装から滲み出てくる大量の実験を回すための工夫 ○ ○ モデルを切り出して他のタスクに使うみたいなハードルが高い ■ 切り出し試み中 チャンネル数, 階層の数を同じにした工夫なしのモデルとの比較見てみたい ● Residual parameterizationがなぜうまくいくのかよくわからない ● Very deep + 既存の工夫で次のSoTA? ● disentangleについてあまり考察されていない 22