首页 > Web开发 > 详细

Improving Variational Auto-Encoders using Householder Flow

时间:2021-03-28 22:16:28      阅读:29      评论:0      收藏:0      [点我收藏+]

Tomczak J. and Welling M. Improving Variational Auto-Encoders using Householder Flow. NIPS workshop: Bayesian Deep Learning, 2016.

本文介绍了一种Normalizing FLow, 利用Householder变换.

主要内容

我们一般假设

\[q_{\phi} (z|x) = \mathcal{N}(z| \mu(x), \sigma^2(x)), \]

但是常被人诟病的一点就是这个假设太粗暴简单了.
我们知道一个服从正态分布的随机变量\(z\)经过一个线性变化依旧是服从正态分布, 即

\[Uz \sim \mathcal{N}(U\mu(x), U \mathrm{diag}(\sigma^2(x))U^T). \]

倘若\(U\)是正交矩阵, 则\(q(z_1) = q(z)\), 则我们即让让分布更加灵活, 但不让计算变得复杂, 这种特殊的normalizing flow 是 volume preserving flow.

因为任意的正交矩阵都能够表示成

\[U = H_K H_{K-1} \cdots H_1, \]

\(H\)是形如\(I - c \cdot v v^T\)的矩阵.

技术分享图片

所以本文的设想是:

  1. Encoder 输出\(z^0, v^0\);
  2. 通过\(v^0\)构造\(H_0\)

\[H_0 = (I - 2 \frac{v_0v_0^T}{\|v_0\|^2_2}); \]

  1. 得到\(z^1 = H_0 z^0\);
  2. 利用一个新的网络得到\(v^1 = f_1(v_0)\);
  3. 以此类推, 得到最后的\(z^T\).

这就是整个flow.

代码

原文代码

Improving Variational Auto-Encoders using Householder Flow

原文:https://www.cnblogs.com/MTandHJ/p/14589336.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!