Jang E., Gu S. and Poole B. Categorical reparameterization with gumbel-softmax. In International Conference On Learning Representations (ICLR), 2017.

利用梯度反向传播训练网咯几乎是深度学习的不二法门, 但是这往往要求保证梯度的存在, 这在一定程度上限制了一些扩展. 比如在VAE中, 虽然当\(q_{\phi}(z|x)\)是一个正态分布的时候, 我们可以利用reparameterization来保证梯度存在, 即:

\[z = \mu + \sigma \cdot \epsilon, \quad \epsilon \sim \mathcal{N}(0, I).
\]

但是倘若中间变量是离散变量, 比如我们期望构建一个条件的VAE, 那么我们就没法用这种方式来解决了, 本文就提出了一个对离散分布的近似.

主要内容

Gumbel distribution

Gumbel distribution

由gumbel distribution的性质可以知道, 从离散分布中采样\([\pi_1, \cdots, \pi_k]\)等价于

\[z = \mathrm{one\_hot}(\arg \max_i [g_i + \log \pi_i]), \quad g_i \mathop{\sim}\limits^{i.i.d.} \mathrm{Gumbel}(0, 1), i=1,2, \cdots, k.
\]

又\(\arg \max\) 可的一个连续逼近为softmax, 即

\[y_i = \frac{\exp((g_i + \log \pi_i) / \tau)}{\sum_{j=1}^k \exp((g_j + \log \pi_j) / \tau)}, i=1,2\cdots, k.
\]

可以发现, 当\(\tau\)比较小的时候, Gumbel-Softmax分布的期望和离散分布的期望是一致的, 采样的情况也是相同的, 我们可以选择一个较小的\(\tau\)使得Gumbel-Softmax分布是离散分布的一个连续近似.

注: 作者偏爱先取一个较大的\(\tau\), 再退火至一个小的\(\tau=0.5\).

注: 作者在概率密度函数的推导过程中, 即公式(15)出有一个小错误, 应当是\(e^{-v}\)而非\(e^{x_k -v}\).

最新文章

  1. XproerIM-v1.3更新-企业即时通迅
  2. Retrieving the COM class factory for component with CLSID {00024500-0000-0000-C000-000000000046} failed due to the following error: 80070005.
  3. 开发板ping不通主机和虚拟机的看过来(转载)!
  4. JAVA Io 缓冲输入输出流
  5. TCP/IP五层模型
  6. 关于angularjs 中自定义过滤器
  7. kmeans算法
  8. Arduino中的数据类型范围
  9. sql-labs 分享
  10. C#_Wpf_DataContex上下文整个类绑定
  11. 关于Apple Pay,一篇让你不看就会后悔的文章
  12. JavaScript高级程序设计:第十四章
  13. HDU 1166 敌兵布阵(树状数组)
  14. js对象的合并
  15. node 解析图片二维码的内容
  16. HDU 1568 Fibonacci(大数前4位)
  17. Yii2 nginx配置伪静态
  18. Java基本语法实验报告
  19. libgdx学习记录6——动作Action
  20. 在没有jre环境下运行jar

热门文章

  1. college-ruled notebook
  2. 剑指 Offer 10- I. 斐波那契数列
  3. minSdkVersion、targetSdkVersion、targetApiLevel的区别
  4. spring生成EntityManagerFactory的三种方式
  5. shell脚本下载网页图片
  6. 使用springboot配置和注入数据源属性的方法和步骤
  7. Linux中的正则
  8. Python matplotlib绘图设置坐标轴的标题
  9. 解析Redis操作五大数据类型常用命令
  10. 记一次Linux bash 命令行卡顿排查之警惕LD_PRELOAD环境变量