Open Yagami360 opened 5 years ago
Residual Flows Residual Flow は、以下で説明する "Russian roulette" 推定器 + 微分飽和を回避するような活性化関数 + リプシッツ定数の条件の mixed norm への一般化を含んだ包括的なアプローチである。
Unbiased Log Density Estimation for Maximum Likelihood Estimation: フローベースの生成モデルに、i-ResNet を適用すると、目的である観測データ x を生成する確率分布の対数尤度が以下の式で得られる。(詳細は、「i-ResNetの論文」 参照) 但し、この式では対数尤度の計算に、無限級数の計算を必要としているために、計算効率が悪い問題が存在する。
本手法では、"Russian roulette" 推定器で不偏推定量を与えることで、この式を近似して簡単化する。その基本的なコンセプトは、無限級数の各項において、ベルヌーイ分布からサンプリングした1つのコインの裏表で、次の項の計算を行うか行わないかを決定し、不偏推定量を得るというというロシアンルーレット的な近似手法である。 式で書くと、
この近似手法により、無限級数での確率分布の対数尤度の式は、以下のように有限級数での式に書き換えられる。 ※ リプシッツ定数1未満の制約により、|J_g| < 1 なので、有限級数は指数関数的に収束することに注目。
メモリ効率のよい逆伝搬: 有限項での対数尤度の式において、誤差逆伝搬のための勾配式をそのまま計算すると、以下の式のようになる。 この式では、d/dθ の勾配計算が有限級数の各項に対して行われるためメモリ効率が悪い。 ※ 勿論、無限級数での対数尤度での式では更に効率が悪い。
本手法では、この誤差逆伝搬のための勾配式に、ノイマン級数から派生した級数の式を採用することで、メモリ効率の良い誤差逆伝搬を実現する。この級数を、先の "Russian roulette" 推定器で不偏推定量での対数尤度の式に適用すると、以下のような式が得られる。 → 級数を区別する必要がないので、メモリ効率が改善している?
更に、順伝搬での評価中に逆伝搬を以下の式で部分的に実行することでもメモリ効率を改善出来る。
以下の図は、本手法でのメモリ効率の改善結果を示している。(青が改善前、その他の色が改善後)
LipSwish 活性化関数による微分消失の回避: 対数尤度の式におけるヤコビアンの項は、1次の偏微分の形になるので、誤差逆伝播法による学習中での勾配計算は、2次の偏微分になる。 この2次の偏微分においては、従来の例えば softplus や ELU などの活性化関数では、勾配が0となり勾配消失問題が発生してしまう。 本手法では、LipSwish という活性化関数を導入し、2次の偏微分計算時にも勾配消失しないような対策を提案している。(下図参照)
0. 論文情報・リンク
1. どんなもの?
2. 先行研究と比べてどこがすごいの?
3. 技術や手法の"キモ"はどこにある?
Residual Flows Residual Flow は、以下で説明する "Russian roulette" 推定器 + 微分飽和を回避するような活性化関数 + リプシッツ定数の条件の mixed norm への一般化を含んだ包括的なアプローチである。
Unbiased Log Density Estimation for Maximum Likelihood Estimation: フローベースの生成モデルに、i-ResNet を適用すると、目的である観測データ x を生成する確率分布の対数尤度が以下の式で得られる。(詳細は、「i-ResNetの論文」 参照) 但し、この式では対数尤度の計算に、無限級数の計算を必要としているために、計算効率が悪い問題が存在する。
本手法では、"Russian roulette" 推定器で不偏推定量を与えることで、この式を近似して簡単化する。その基本的なコンセプトは、無限級数の各項において、ベルヌーイ分布からサンプリングした1つのコインの裏表で、次の項の計算を行うか行わないかを決定し、不偏推定量を得るというというロシアンルーレット的な近似手法である。 式で書くと、
この近似手法により、無限級数での確率分布の対数尤度の式は、以下のように有限級数での式に書き換えられる。 ※ リプシッツ定数1未満の制約により、|J_g| < 1 なので、有限級数は指数関数的に収束することに注目。
メモリ効率のよい逆伝搬: 有限項での対数尤度の式において、誤差逆伝搬のための勾配式をそのまま計算すると、以下の式のようになる。
この式では、d/dθ の勾配計算が有限級数の各項に対して行われるためメモリ効率が悪い。 ※ 勿論、無限級数での対数尤度での式では更に効率が悪い。
本手法では、この誤差逆伝搬のための勾配式に、ノイマン級数から派生した級数の式を採用することで、メモリ効率の良い誤差逆伝搬を実現する。この級数を、先の "Russian roulette" 推定器で不偏推定量での対数尤度の式に適用すると、以下のような式が得られる。 → 級数を区別する必要がないので、メモリ効率が改善している?
更に、順伝搬での評価中に逆伝搬を以下の式で部分的に実行することでもメモリ効率を改善出来る。
以下の図は、本手法でのメモリ効率の改善結果を示している。(青が改善前、その他の色が改善後)
LipSwish 活性化関数による微分消失の回避: 対数尤度の式におけるヤコビアンの項は、1次の偏微分の形になるので、誤差逆伝播法による学習中での勾配計算は、2次の偏微分になる。 この2次の偏微分においては、従来の例えば softplus や ELU などの活性化関数では、勾配が0となり勾配消失問題が発生してしまう。 本手法では、LipSwish という活性化関数を導入し、2次の偏微分計算時にも勾配消失しないような対策を提案している。(下図参照)
4. どうやって有効だと検証した?
5. 議論はあるか?
6. 次に読むべき論文はあるか?