Gumbel-Softmax完全解析

写在前面

本文对大部分人来说可能仅仅起到科普的作用,因为Gumbel-Max仅在部分领域会用到,例如GAN、VAE等。笔者是在研究EMNLP上的一篇论文时,看到其中有用Gumbel-Softmax公式解决对一个概率分布进行采样无法求导的问题,故想到对Gumbel-Softmax做一个总结,由此写下本文

为什么我们需要Gumbel-Softmax ?

假设现在我们有一个离散随机变量Gumbel-Softmax完全解析的分布
Gumbel-Softmax完全解析
其中,Gumbel-Softmax完全解析。我们想根据Gumbel-Softmax完全解析的概率采样得到一系列离散Gumbel-Softmax完全解析的值。但是这么做有一个问题,我们采样出来的Gumbel-Softmax完全解析只有值,没有生成Gumbel-Softmax完全解析的式子。例如我们要求Gumbel-Softmax完全解析的期望,那么就有公式
Gumbel-Softmax完全解析
Gumbel-Softmax完全解析Gumbel-Softmax完全解析的导数都很清楚。但是现在我们的需求是采样一些具体的Gumbel-Softmax完全解析值,采样这个操作没有任何公式,因此也就无法求导。于是一个很自然的想法就产生了,我们能不能给一个Gumbel-Softmax完全解析为参数的公式,让这个公式返回的结果是Gumbel-Softmax完全解析采样的结果呢?

Gumbel-Softmax

一般来说Gumbel-Softmax完全解析是通过神经网络预测对于类别Gumbel-Softmax完全解析的概率,这在分类问题中非常常见,假设我们将一个样本送入模型,最后输出的概率分布为Gumbel-Softmax完全解析,表明这是一个5分类问题,其中概率最大的是第2类,到这一步,我们直接通过argmax就能获得结果了,但现在我们不是预测问题,而是一个采样问题。对于模型来说,直接取出概率最大的就可以了,但对我们来说,每个类别都是有一定概率的,我们想根据这个概率来进行采样,而不是直接简单无脑的输出概率最大的值

最常见的采样Gumbel-Softmax完全解析的onehot公式为
Gumbel-Softmax完全解析
其中Gumbel-Softmax完全解析是类别的下标,随机变量Gumbel-Softmax完全解析服从均匀分布Gumbel-Softmax完全解析

上面这个过程实际上是很巧妙的,我们将概率分布从前往后不断加起来,当加到Gumbel-Softmax完全解析时超过了某个随机值$ 0\leq u \leq 1Gumbel-Softmax完全解析zGumbel-Softmax完全解析i$类,最后通过一个onehot变换

但是上述公式存在一个致命的问题:max函数是不可导的

Gumbel-Max Trick

Gumbel-Max技巧就是解决max函数不可导问题的,我们可以用argmax替换max,即
Gumbel-Softmax完全解析
其中,Gumbel-Softmax完全解析,这一项名为Gumbel噪声,或者叫Gumbel分布,目的是使得Gumbel-Softmax完全解析的返回结果不固定

可以看到式Gumbel-Softmax完全解析的整个过程中,不可导的部分只有argmax,实际上我们可以用可导的softmax函数,在参数Gumbel-Softmax完全解析的控制下逼近argmax,最终Gumbel-Softmax完全解析的公式为
Gumbel-Softmax完全解析
其中,Gumbel-Softmax完全解析越小Gumbel-Softmax完全解析,整个softmax越光滑逼近argmax,并且Gumbel-Softmax完全解析也越接近onehot向量;Gumbel-Softmax完全解析越大Gumbel-Softmax完全解析Gumbel-Softmax完全解析向量越接近于均匀分布

总结

整个过程相当于我们把不可导的取样过程,从Gumbel-Softmax完全解析本身转移到了求Gumbel-Softmax完全解析的公式中的一项Gumbel-Softmax完全解析中,而Gumbel-Softmax完全解析本身不依赖Gumbel-Softmax完全解析,所以Gumbel-Softmax完全解析Gumbel-Softmax完全解析就可以到了,而且我们得到的Gumbel-Softmax完全解析仍然是离散概率分布的采样。这种采样过程转嫁的技巧有一个专有名词,叫重参数化技巧(Reparameterization Trick)

References

文章出处登录后可见!

已经登录?立即刷新

共计人评分,平均

到目前为止还没有投票!成为第一位评论此文章。

(0)
扎眼的阳光的头像扎眼的阳光普通用户
上一篇 2023年2月25日 下午3:12
下一篇 2023年2月25日 下午3:13

相关推荐