赞
踩
GAN从诞生开始,广泛应用于计算机视觉领域,并取得了巨大地成功,相比而言,GAN在NLP领域的应用还是相对较少,这是因为GAN对离散型数据序列的处理显得无能为力,从离散分布中采样的数据时不可导的,在使用梯度下降算法时,无法正常更新模型中参数,Gumbel-softmax分布成功地使GAN摆脱了这个困境,为GAN在NLP领域地发展奠定了基础。文本数据是离散数据,可以使用one-hot编码来进行表示,可对softmax函数的输出(其输出接近于one-hot编码)进行采样,选取最大概率对应的词作为生成词,但是,这种采样过程是不可微的,无法通过反向传播梯度,于是采用Gumbel-softmax,并对其采用可以得到一个可微的近似值。
因此本文将对Gumbel分布、Gumbel-max以及Gumbel-softmax进行总结。
p ( x ) = 1 β e x p ( − z − e x p [ − z ] ) p(x)=\dfrac{1}{\beta}exp(-z-exp[-z]) p(x)=β1exp(−z−exp[−z])
其中 z = x − μ β z=\dfrac{x-\mu}{\beta} z=βx−μ
Gumbel分布通常用于对一组独立样本地最大值进行建模。假设您对冰淇淋的饥饿感呈正态分布,平均值为 5/10。你每天记录你的饥饿 100 次,持续 10,000 天。(我们还假设您的饥饿感非常不稳定,以至于所有样本都是独立的。)您记下您每天经历的最大饥饿感。然后,每日最大饥饿值的分布将遵循 Gumbel 分布。
Gumber Trick用于从离散分布中进行随机采样,可以采用对一个可微分的分布取样来近似从离散分布中取样,
Gumber-softmax所得到的概率向量是近似的样本,Gumber-softmax得到的概率向量与真实样本的相似度就由
τ
\tau
τ的大小决定,当
τ
\tau
τ越小,其相似度越高,当
τ
\tau
τ越大,就接近于n-class的均匀分布,常用于需要对离散分布进行采样,而且还希望采样是可导的;
softmax得到的概率分布是样本的均值(也就是取概率最大的词)此时的均值与真实样本的差距一般都比较大
reparameterization trick :常参数本质是希望将带训练参数从分布转移到样本之中,这样求参数的梯度就可以通过对样本求梯度来完成。常用于处理如下目标函数的期望:
L
θ
=
E
z
∼
p
θ
(
z
)
[
f
(
z
)
]
L_{\theta}=E_{z\sim p_{\theta}(z)}[f(z)]
Lθ=Ez∼pθ(z)[f(z)]
此时z可能服从连续分布,也可能服从离散分布,上式的期望求解可以分为如下两种:
连
续
情
况
:
L
θ
=
∫
p
θ
(
z
)
f
(
z
)
d
z
连续情况:L_{\theta}=\int p_{\theta}(z)f(z)dz
连续情况:Lθ=∫pθ(z)f(z)dz
离
散
情
况
:
L
θ
=
∑
z
p
θ
(
z
)
f
(
z
)
离散情况:L_{\theta}=\sum_z p_{\theta}(z)f(z)
离散情况:Lθ=z∑pθ(z)f(z)
连续情况: 为了最小化期望
L
θ
L_{\theta}
Lθ,则需要求出其积分值,精确地计算出期望值是难以实现,则会使用采样的方式,在采样的过程中还需要保留
θ
\theta
θ的信息(即,梯度),直接的采样将会失去
θ
\theta
θ信息(例:如分布
p
θ
p_\theta
pθ中直接采样得到5,此时是无法知道5与
θ
\theta
θ之间的关系,也就更无法计算出梯度值),此时就需要使用到reparameterization trick
具体步骤:
离散情况:
z
z
z服从离散分布,其值是有限的,此时
p
θ
(
z
)
p_\theta(z)
pθ(z)就相当于一个
k
k
k分类
p
θ
(
z
)
=
s
o
f
t
m
a
x
(
o
1
,
o
2
,
.
.
.
,
o
k
)
p_\theta(z)=softmax(o_1,o_2,...,o_k)
pθ(z)=softmax(o1,o2,...,ok)
对于离散情况下,期望
L
θ
L_\theta
Lθ的计算就是对有限项进行求和,在使用GAN生成文本任务中,词典大小为
∣
V
∣
|V|
∣V∣,句子的长度为
l
l
l,则所有句子的数量就有
∣
V
∣
l
|V|^l
∣V∣l个,这种情况下,进行求和操作是相当困难的,此时就需要使用采样来有效地估计出期望
L
θ
L_\theta
Lθ
Gumbel Max:提供了从类别分布中进行采样
证明:Gumbel Max输出值为
i
i
i的概率是
p
i
p_i
pi,可证输出1的概率是
p
1
p_1
p1
其中argmax是不可导的,则梯度信息会消失,于是就采用softmax来光滑近似argmax,也就是Gumbel softmax
当
τ
>
0
\tau>0
τ>0则为退火参数,其值越小,输出的结果就越接近one-hot,此时梯度消失就越严重,Gumbel softmax比Gumbel max更加地光滑,原始的softmax退火后只能到达最大位置为1的one-hot向量,Gumbel softmax也有可能达到非最大位置的one-hot向量,相比于原始softmax,Gumber softmax更由随机性,采样后的数据有助于模型进行训练。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。