VAE with a VampPrior
2024-10-19 17:23:08
概
这篇文章提出了一种新的"多模态"的先验.
主要内容
首先根据这里的推导可知,
\[\begin{array}{ll}
\mathcal{L}(\phi, \theta, \lambda)
=& \mathbb{E}_{q(x)} [\mathbb{E}_{q_{\phi}(z|x)}\log p_{\theta}(x|z)] \\
&+ \mathbb{E}_{x \sim q(x)}[\mathbb{H}[q_{\phi}(z|x)]] \\
&- \mathbb{E}_{z \sim q(z)}[-\log p_{\lambda}(z)].
\end{array}
\]
\mathcal{L}(\phi, \theta, \lambda)
=& \mathbb{E}_{q(x)} [\mathbb{E}_{q_{\phi}(z|x)}\log p_{\theta}(x|z)] \\
&+ \mathbb{E}_{x \sim q(x)}[\mathbb{H}[q_{\phi}(z|x)]] \\
&- \mathbb{E}_{z \sim q(z)}[-\log p_{\lambda}(z)].
\end{array}
\]
其中, \(q(z) = \frac{1}{N} \sum_{n=1}^{N} q_{\phi}(z|x_n).\)
因为只有最后一项(交叉熵)和先验分布有关系, 可见, 最优的先验分布\(p_{\lambda}\)就是
\[q(z) = \frac{1}{N} \sum_{n=1}^{N} q_{\phi}(z|x_n).
\]
\]
但是这样的先验分布每一次计算量太大, 所以作者退而求其次, 假设
\[p_{\lambda}(z) = \frac{1}{K} \sum_{k=1}^K q_{\phi}(z|\mu_k),
\]
\]
其中\(\mu_k\)是可训练的参数.
分级的VAE
一般的VAE的隐变量往往只有少部分是激活的有效的, 而且这一点越在deep的网络中越容易出现.
所以作者提出了如上图(b)的一种双层的改进方式.
具体的, variational part:
\[q_{\phi}(z_1|x, z_2)q_{\psi}(z_2|x),
\]
\]
generative part:
\[p_{\theta}(x|z_1, z_2) p_{\lambda}(z_1|z_2)p(z_2).
\]
\]
其中:
感觉有点残差的味道.
代码
最新文章
- 使用struts的logic:iterate标签遍历列表时得到显示序号
- 判断密文加密类型hash-identifier
- Spring JDBC保存枚举对象含关键字报错原因之一
- C#当前应用程序路径及环境变量
- -_-#【Better Code】throttle / debounce
- mysql 数据sqoop到hive 步骤
- 理清fineuploader无刷新上传的一些事
- chrome 开发人员工具
- sql查询调优之where条件排序字段以及limit使用索引的奥秘
- swift -- 静态变量static
- Microsoft Azure IoTHub Serials 1 - 使用Android设备与Azure IoTHub进行交互
- 友盟崩溃日志分析工具 - dSYMTools
- 一统江湖的大前端(7)React.js-从开发者到工程师
- 69.js--点击事件等比例弹出层div
- Iar8.1安装包破解
- shell脚本删除log日志
- IdentityServer4-MVC+Hybrid实现Claims授权验证(四)
- JavaScript标准对象
- Git 创建两个“本地分支”协同工作
- BZOJ 2726: [SDOI2012]任务安排 [斜率优化DP 二分 提前计算代价]