首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Gumbel-Softmax技巧与随温度变化的Softmax

Gumbel-Softmax技巧与随温度变化的Softmax
EN

Data Science用户
提问于 2019-08-29 10:30:50
回答 4查看 14.6K关注 0票数 29

据我所知,Gumbel-Softmax技巧是一种技术,使我们能够对离散的随机变量进行采样,以一种可微的方式(因此适合于端到端的深度学习)。

许多论文和文章将其描述为一种在输入中选择实例(即“指针”)的方法,而不使用不可微的argmax-函数。让我困惑的是,这种效果可以在没有随机性的情况下通过使用Softmax和温度来实现:

随温度变化的软最大值

y_=\frac{exp(\frac{_}{\tau})}{\sum_{}exp(\frac{_}{\tau})}

Gumbel-Softmax

y_=\frac{exp(\frac{log(\pi_)+g_i}{\tau})}{\sum_{}exp(\frac{log(\pi_j)+g_j}{\tau})}

我的问题

从实践和理论的角度来看,什么时候将Gumbel噪声融入到神经网络中,而不是仅仅使用温度下的Softmax?

以下是几点意见:

  1. 当温度较低时,具有温度的Softmax函数和Gumbel-Softmax函数都将近似于一个热矢量。然而,在融合之前,Gumbel-Softmax可能会更突然地因为噪音而“改变”它的决定。
  2. 温度越高,Gumbel噪声的意义越大,分布越均匀。为什么要这样做?

我最好的猜测是,Gumbel噪声的引入在收敛之前加强了探索,但我不记得有任何论文将此作为引入额外随机性的动机。

有人对此有任何经验或见解吗?也许我完全错过了Gumbel-Softmax的关键点:)

EN

回答 4

Data Science用户

发布于 2020-06-01 19:58:33

假设您有两个状态,X_1X_2,并且您有一个模型M,它为每个状态(即逻辑)生成一个分数M(X_i)。接下来,您可以使用日志来计算某些分布。

P = softmax(\{M(X_1), M(X_2)\})

以最高的概率接受这个州

X=argmax_{X_i}(P)

但是,如果您实际上想要从P中取样,而不是只使用argmax -并且您希望示例操作是可微的!这就是Gumbel诡计的来源--而不是softmax,你可以计算。

\begin{equation} \ X = argmax_{X_i}(\{M(X_i)+Z_i\}) \end{equation}

其中Zi为I.DGumbel(0,1)。事实证明,X将等于X_1关于时代的P(X_1)X_2关于时代的P(X_2)。换句话说,上面的公式来自P样本。

但是由于argmax运算的存在,它仍然是不可区分的。因此,我们将不这样做,而是计算Gumbel-Softmax分布。现在,如果温度足够低,那么Gumbel-Softmax会产生非常接近一个热向量的东西,其中预测标签的概率为1,其他标签的概率为零。因此,例如,如果Gumbel-Softmax给出了X_1最大的概率,您可以这样做:

\begin{equation} \ X = \sum_{x_i} P_g(X_i)*X_i = 1*X_1 + 0*X_2 = X_1 \end{equation}

其中P_g是Gumbel-Softmax操作。不需要争论!因此,有了这个很酷的技巧,我们可以以一种可微的方式从离散分布中取样。

票数 14
EN

Data Science用户

发布于 2020-05-13 00:16:34

从实践和理论的角度来看,什么时候将Gumbel噪声融入到神经网络中,而不是仅仅使用温度下的Softmax?

您不一定需要Gumbel-Softmax来获得“单热类”向量,或者通过索引机制进行区分的能力。

LSTM体系结构和派生变体就是这方面的例子。他们使用乙状结肠输出建立“忘记/输入”门的模型,这是确定性的。“真”选通机制要么是0,要么是1,但为了使事物可微,LSTM放宽了对乙状结肠输出的限制。您会注意到这里没有“随机”输入,您仍然可以在这里应用直通技巧来使门真正离散(同时反向传播有偏梯度)。

Gumbel-Softmax可以在考虑使用非随机索引机制的任何地方使用(这是一个更通用的公式)。但是当你想要通过离散变量的随机样本进行反向传播时,它是特别有用的。

  • 具有Gumbel-Softmax或分类后验(编码器)分布的VAE。值得注意的是,您不能在这里简单地使用确定性的softmax,因为它会将您的VAE转换为标准的自动编码器。自动编码器缺乏从先前生成新样本的方法。
  • 具有Gumbel-softmax或范畴式参与者的演员-评论家体系结构(大多数策略梯度实现假设您可以重新参数化从评论家到演员的梯度,而无需使用分数函数估计器来估计黑匣子梯度)。这里不能简单地替换确定性的softmax,因为有一种类型不匹配:评论家将动作a \in A作为输入,而softmax表示条件策略分布\pi(a|s)
  • 对非随机量化(如LSTM )的“概率”解释本质上是在拟合密度时的模式寻求行为。您有在分类决策中接受c的损失函数,因此通过学习一些分布p(c),期望损失\mathbb{E}_c[f(c)]最小化。在没有采样的情况下对软最大值进行量化(例如仅仅使用乙状结肠或软最大值)类似于每次选择相同的c。对于某些f,这是可以的,对于另一些f,这是高度次优的(将范畴KL散度视为损失)。

我最好的猜测是,Gumbel噪声的引入在收敛之前加强了探索,但我不记得有任何论文将此作为引入额外随机性的动机。

这是一个有趣的想法,但是有许多方法可以将“探索”噪声注入到函数逼近器中使用的一组参数中。

票数 3
EN

Data Science用户

发布于 2019-10-14 05:47:25

对于softmax函数,无论温度是多少,它都不是精确的一个热矢量。如果你能接受一个软版本,它是好的。然而,如果你选择了最大的一个,它是不可微的。另一种反传播梯度的方法是直接通过估计1技巧,直接向后传播梯度2,梯度是一个不精确的近似。

Gumbel Softmax 3.的优点是,它根据电流的学习分布\pi进行一次热采样,它是一次热的,它是可微的,并且采样一热向量的概率是按π的。

对于您的发送问题:在开始时,分布\pi没有任何先验知识,因此我们希望用均匀的方法对一个热向量进行采样(在这个阶段,噪声很重要),并且分布将逐渐收敛到期望的分布(稍微锐化一点)。当你训练更长的时间时,对分布的先验知识就会有足够的了解,逐渐降低温度\τ,使\pi收敛到离散分布。随着温度的逐渐降低,噪音的影响也越来越小。

PS:句子不正确:

代码语言:javascript
复制
When the temperature is low, both Softmax with temperature and the Gumbel-Softmax functions will approximate a one-hot vector.

Gumbel-softmax可以对一个热矢量进行采样,而不是近似。您可以在PyTorch上阅读4.代码。

1二进制连接:在传播过程中训练具有二值权值的深层神经网络

2 LegoNet:一种高效的乐高滤波器卷积神经网络

用Gumbel-Softmax实现3.分类重参数化

4.

票数 2
EN
页面原文内容由Data Science提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://datascience.stackexchange.com/questions/58376

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档