[論文レビュー] Flipout: Efficient Pseudo-Independent Weight Perturbations on Mini-Batches
Flipout はミニバッチ内の勾配摂動をデコレル化し、さまざまなアーキテクチャで理想的に近い 1/N の分散削減を達成し、より高速な大規模バッチ学習と GPU 加速の進化戦略を可能にします。
Stochastic neural net weights are used in a variety of contexts, including regularization, Bayesian neural nets, exploration in reinforcement learning, and evolution strategies. Unfortunately, due to the large number of weights, all the examples in a mini-batch typically share the same weight perturbation, thereby limiting the variance reduction effect of large mini-batches. We introduce flipout, an efficient method for decorrelating the gradients within a mini-batch by implicitly sampling pseudo-independent weight perturbations for each example. Empirically, flipout achieves the ideal linear variance reduction for fully connected networks, convolutional networks, and RNNs. We find significant speedups in training neural networks with multiplicative Gaussian perturbations. We show that flipout is effective at regularizing LSTMs, and outperforms previous methods. Flipout also enables us to vectorize evolution strategies: in our experiments, a single GPU with flipout can handle the same throughput as at least 40 CPU cores using existing methods, equivalent to a factor-of-4 cost reduction on Amazon Web Services.
研究の動機と目的
- 正則化、ベイズ推定、探索、そして ES のための確率的な重み摂動の利用を動機づける。
- ミニバッチ内の複数の例で共有摂動によって生じる非効率性に対処する。
- バイアスを保ちながら勾配をデコレル化する Flipout の導入。
- GPU/TPU に適した効率的なベクトル化実装を提供する。
- アーキテクチャを超えて分散削減、正則化効果、および高速化を示す。
提案手法
- 摂動は独立でゼロを中心とした対称であると仮定する。ランダムな符号反転に対して摂動が不変であることを示す。
- Flipout を定義する: 各例 n の摂動 DeltaW_n = DeltaW_hat ∘ (r_n s_n^T) を、ランダムな ±1 ベクトル r_n, s_n を用いて。
- デコレル化にもかかわらず、共有摂動と分布的同等性を証明することで、不偏勾配推定を示す。
- GPU に優しい計算を可能にするベクトル化されたフォワード伝播式 Y = φ(XW̄ + ((X ∘ S) ΔŴ) ∘ R) を提供する。
- 勾配分散をアルファ、ベータ、ガンマ項への分解で分析し、Flipout が分散を理想的な 1/N スケーリングへ削減することを証明する。
- ガウス摂動、DropConnect、LSTMs、CNNs、Evolution Strategies への適用、および GPU ベースの高速化を含むことについて論じる。
実験結果
リサーチクエスチョン
- RQ1Flipout による各例のデコレル化は、ネットワークタイプ(FC、CNN、RNN)全体で不偏勾配推定を達成しつつ、理想的な 1/N の分散削減を達成できるか。
- RQ2大規模バッチ領域や GPU 加速の ES 実装において、Flipout は学習速度と効率性にどのような影響を与えるか。
- RQ3Flipout は再帰的接続(LSTMs)をどの程度正則化し、Dropout ベースの手法に対してどの程度性能を改善できるか。
- RQ4Flipout の計算オーバーヘッドはどの程度で、共有摂動や局所再パラメータ化の手法とどのように比較されるか。
主な発見
- Flipout は不偏勾配推定を生み出し、全結合、畳み込み、および LSTM アーキテクチャ全体で理想的な 1/N 分散削減を達成する。
- 実証的に、Flipout は大規模ミニバッチ設定で有意な分散削減を提供し、学習時間を短縮する。
- Flipout は言語モデリングタスクにおいて、Dropout ベースの方法よりも LSTMs を効果的に正則化する。
- Flipout は GPU 上でベクトル化された Evolution Strategies を可能にし、クラウド上でコストを削減しつつ 40 CPU コアと同等のスループットを達成する。
- 大規模バッチの Bayes by Backprop 実験では、Flipout は共有摂動よりも反復回数で約 3 倍速く収束し、オーバーヘッドにより全体的には約 1.5 倍のスピードアップ。
- タスクを超えて、Flipout は以前の摂動法や Dropout ベースの手法と比較して、より速い収束と効果的な正則化を示す。
より良い研究を、今すぐ始めましょう
論文設計から論文執筆まで、研究時間を劇的に削減しましょう。
クレジットカード登録不要
このレビューはAIが作成し、人間の編集者が確認しました。