Pytorch torch.nn.functional.gumbel_softmax的输入
假设我有一个名为Pytorch torch.nn.functional.gumbel_softmax的输入,pytorch,softmax,Pytorch,Softmax,假设我有一个名为attn_weights的张量,大小为[1,a],其中的条目表示给定查询和| a |键之间的注意权重。我想使用torch.nn.functional.gumbel_softmax选择最大的一个 我发现将参数描述为logits-[…,num_features]非规范化日志概率。我想知道我是否应该在将其传递到gumbel\u softmax之前获取attn\u权重的log?我发现Wiki定义了logit=lg(p/1-p),这与logrithm不同。我想知道我应该把哪个传递给函数 此
attn_weights
的张量,大小为[1,a],其中的条目表示给定查询和| a |键之间的注意权重。我想使用torch.nn.functional.gumbel_softmax
选择最大的一个
我发现将参数描述为logits-[…,num_features]非规范化日志概率。我想知道我是否应该在将其传递到gumbel\u softmax
之前获取attn\u权重的log
?我发现Wiki定义了logit=lg(p/1-p)
,这与logrithm不同。我想知道我应该把哪个传递给函数
此外,我想知道如何在gumbel_softmax
中选择tau
,有什么指导原则吗
我想知道在将其传递到gumbel\u softmax
之前,我是否应该获取attn\u权重的log
如果attn_weights
是概率(总和为1;例如,softmax的输出),则为是。否则,不会
我想知道如何在gumbel_softmax
中选择tau
,有什么指导原则吗
通常,它需要调整。文档中提供的参考资料可以帮助您做到这一点
发件人:
- 图1,标题:
。。。(a) 对于低温(τ=0.1,τ=0.5),Gumbel Softmax随机变量的预期值接近具有相同对数的分类随机变量的预期值。随着温度的升高(τ=1.0,τ=10.0),预期值在各类别上趋于均匀分布
- 第2.2节第2段(重点):
虽然Gumbel Softmax样本是可微的,但它们与非零温度下相应类别分布的样本并不相同。对于学习,在小温度和大温度之间存在折衷,小温度下的样本接近一个热点,但梯度的变化很大,和大温度下的样本平滑,但梯度的变化很小(图1)在实践中,我们从高温开始,然后退火到一个小但非零的温度
- 最后,它们提醒读者tau是可以学习的:
如果τ是一个学习参数(而不是通过固定参数进行退火
附表),该方案可解释为熵正则化(Szegedy et al.,2015;Pereyra et al.,2016),其中Gumbel Softmax分布可在训练过程中自适应调整建议样本的“置信度”
我很快会仔细检查这篇论文的