电子商务网站建设(论文,福州网络营销推广产品优化,html5教程百度云,网页设计的实训总结GumbleSoftmax 本文不涉及GumbleSoftmax的具体证明和推导#xff0c;有需要请参见1#xff0c;只是从感性角度来直观讲解为何要引入GumbleSoftmax#xff0c;同时又为什么不用Gumblemax。 GumbleSoftmax提出是为了应对分布采样不可导的问题。举例而言#xff0c;我们从网络…GumbleSoftmax 本文不涉及GumbleSoftmax的具体证明和推导有需要请参见1只是从感性角度来直观讲解为何要引入GumbleSoftmax同时又为什么不用Gumblemax。 GumbleSoftmax提出是为了应对分布采样不可导的问题。举例而言我们从网络经Softmax层输出了类别概率向量 p 1 [ 0.9 , 0.1 , 0.1 ] p_1[0.9,0.1,0.1] p1[0.9,0.1,0.1]和 p 2 [ 0.5 , 0.2 , 0.3 ] p_2[0.5,0.2,0.3] p2[0.5,0.2,0.3],那么如果我们训练网络最终的输出需求只是从中得到对应的类别结果分类任务那么 p 1 p_1 p1和 p 2 p_2 p2其实都是合理的因为我们我们最终得到的都只会是 a r g m a x ( p ) 0 argmax(p)0 argmax(p)0。但如果我们正在进行生成任务这一类别结果只是一个中间值而我们希望这一类别概率向量真正体现出了概率的含义那么 p 1 p 2 p_1p_2 p1p2就会有着显著的差异后者采样出第1、2类的的结果要明显高于前者。 因此为了突出网络输出的概率属性我们可以简单的依照这一概率向量进行采样即可定一个均匀分布 U ( 0 , 1 ) U(0,1) U(0,1)落在哪个概率区间就认为输出哪一个类别但这一采样操作是不可导的也就无法使网络端到端训练。GumbleSoftmax的提出就是为了解决这一问题它让网络输出类别随机的同时又使得这一采样过程可导。一句话总结GumbleSoftmaxd代替了网络中的 a r g m a x argmax argmax,引入了
随机性网络的输出真的变成了由最终概率向量决定的随机变量即logit输出 [ 0.9 , 0.1 , 0.1 ] [0.9,0.1,0.1] [0.9,0.1,0.1]真的可能因抽样而判定为第2类可导性这一抽样过程可导可以融入到网络端到端训练过程中。伪
GumbleMax 为了让网络的输出类别真正的随机我们需要先将对 a r g m a x argmax argmax进行替换既然网络输出随机的就不可导的话我们就利用重参数技巧将这一随机性放到另一个随机变量上也就得到了GumbleMax公式如下 x a r g m a x ( l o g ( x ) G ) , \bold{x}argmax(log(\bold{x})\bold{G}), xargmax(log(x)G), 其中 x , G \bold{x},\bold{G} x,G分别是网络输出的概率向量、符合Gumble分布的噪声向量, G i − l o g ( − l o g ( U i ) ) , U i U ( 0 , 1 ) G_i-log(-log(U_i)),U_i~U(0,1) Gi−log(−log(Ui)),Ui U(0,1)。这一噪声向量的引入就会使得argmax的输出结果发生扰动变成一个随机变量。同样是之前的例子 l o g ( p 1 ) G log(p_1)\bold{G} log(p1)G就有可能变为 [ 0.5 , 0.6 , 0.5 ] [0.5,0.6,0.5] [0.5,0.6,0.5]而使得最终输出类别为第1类而 a r g m a x ( l o g ( x ) G ) argmax(log(\bold{x})\bold{G}) argmax(log(x)G)服从这一随机变量服从 x x x的离散分布列证明见附1。 通过引入GumbleMax我们成功的为网络的类别输出引入了随机性。但可导性的问题并没有解决因为这里仍然是存在了argmax。
GumbleSoftMax GumbleSoftMax对GumbleMax的解决也很简单它又把argmax替换成为了softmax,得到如下计算 x s o f t m a x ( ( l o g ( x ) G ) / τ ) , \bold{x}softmax((log(\bold{x})\bold{G})/\tau), xsoftmax((log(x)G)/τ), 其中 τ \tau τ为为温度参数这一算式中通过对argmax的软化实现了可导操作。至此也就完成了为了网络输出引入可导随机性的目标。
矛盾 讨论至此有个非常反直觉的考量那就是相比于GumbleMax的硬输出onehot向量GumbleSoftMax的输出似乎又变成了概率向量我们想要得到的具体的类别输出还要继续再取argmax也就是 a r g m a x ( s o f t m a x ( ( l o g ( x ) G ) ) / τ ) argmax(softmax((log(\bold{x})\bold{G}))/\tau) argmax(softmax((log(x)G))/τ)。那么这不是仍然不可导仍然返回了GumbleMax的窘境因此这里依据个人理解要做出以下的澄清
确实不可导如果我们希望从GumbleSoftMax输出一个类别值那么就必然引入argmax,也就必然不可导。而在实际过程中我们则是回避了对argmax求导的问题直接对 s o f t m a x ( ( l o g ( x ) G ) ) / τ softmax((log(\bold{x})\bold{G}))/\tau softmax((log(x)G))/τ进行求导具体可以参见pytorch中Gumblesoftmax的实现2。既然如此那为什么不照猫画虎在使用Gumblemax的时候就忽略argmax的存在直接对 ( l o g ( x ) G ) (log(\bold{x})\bold{G}) (log(x)G)求导这是因为 a r g m a x ( l o g ( x ) G ) argmax(log(\bold{x})\bold{G}) argmax(log(x)G)本身才是我们想要求导的对象而因为argmax本身不可导所以引入了softmax来替代也即我们相对 [ 1 , 0 , 0 ] [1,0,0] [1,0,0]求导迫不得已对 [ 0.8 , 0.1 , 0.1 ] [0.8,0.1,0.1] [0.8,0.1,0.1]求导算是某种程度上的导数近似。而在1中的argmax本身也不是我们求导的对象只是由于这一近似带来的补偿。而更进一步的假设我们直接对 ( l o g ( x ) G ) (log(\bold{x})\bold{G}) (log(x)G)进行求导那么这一近似带来的误差只会更大也让随机噪声的引入失去了意义等价于对 l o g ( x ) log(x) log(x)求导。这也就是为什么开头的可导加了伪因为我们是在对softmax求导而不是argmax。
总结 整体而言GumbleSoftmax通过引入了Gumble随机噪声使得输出的类别真正具有随机性而将argmax软化为softmax则使得这一随机过程可导。
参考文献 Gumbel-Softmax Trick和Gumbel分布 ↩︎ ↩︎ 请问用Gumbel-softmax的时候怎么让softmax输出的概率分布转化成one-hot向量 ↩︎
文章转载自: http://www.morning.jrksk.cn.gov.cn.jrksk.cn http://www.morning.ktmpw.cn.gov.cn.ktmpw.cn http://www.morning.zlkps.cn.gov.cn.zlkps.cn http://www.morning.pcngq.cn.gov.cn.pcngq.cn http://www.morning.kklwz.cn.gov.cn.kklwz.cn http://www.morning.bpmnj.cn.gov.cn.bpmnj.cn http://www.morning.ngqty.cn.gov.cn.ngqty.cn http://www.morning.qxmys.cn.gov.cn.qxmys.cn http://www.morning.chkfp.cn.gov.cn.chkfp.cn http://www.morning.qcwrm.cn.gov.cn.qcwrm.cn http://www.morning.hjrjr.cn.gov.cn.hjrjr.cn http://www.morning.yrccw.cn.gov.cn.yrccw.cn http://www.morning.nlffl.cn.gov.cn.nlffl.cn http://www.morning.ghpld.cn.gov.cn.ghpld.cn http://www.morning.jrpmf.cn.gov.cn.jrpmf.cn http://www.morning.bhrbr.cn.gov.cn.bhrbr.cn http://www.morning.cwgpl.cn.gov.cn.cwgpl.cn http://www.morning.fssmx.com.gov.cn.fssmx.com http://www.morning.gtqws.cn.gov.cn.gtqws.cn http://www.morning.tmxfn.cn.gov.cn.tmxfn.cn http://www.morning.pqypt.cn.gov.cn.pqypt.cn http://www.morning.ctlbf.cn.gov.cn.ctlbf.cn http://www.morning.gnkbf.cn.gov.cn.gnkbf.cn http://www.morning.ysbhj.cn.gov.cn.ysbhj.cn http://www.morning.ktmbp.cn.gov.cn.ktmbp.cn http://www.morning.srgsb.cn.gov.cn.srgsb.cn http://www.morning.zzfqn.cn.gov.cn.zzfqn.cn http://www.morning.newfeiya.com.cn.gov.cn.newfeiya.com.cn http://www.morning.mnkz.cn.gov.cn.mnkz.cn http://www.morning.qyjqj.cn.gov.cn.qyjqj.cn http://www.morning.plfy.cn.gov.cn.plfy.cn http://www.morning.ynlbj.cn.gov.cn.ynlbj.cn http://www.morning.ykrss.cn.gov.cn.ykrss.cn http://www.morning.qxxj.cn.gov.cn.qxxj.cn http://www.morning.plfy.cn.gov.cn.plfy.cn http://www.morning.swkzr.cn.gov.cn.swkzr.cn http://www.morning.rzjfn.cn.gov.cn.rzjfn.cn http://www.morning.pqypt.cn.gov.cn.pqypt.cn http://www.morning.fbpdp.cn.gov.cn.fbpdp.cn http://www.morning.jjhrj.cn.gov.cn.jjhrj.cn http://www.morning.gkmwk.cn.gov.cn.gkmwk.cn http://www.morning.dmcxh.cn.gov.cn.dmcxh.cn http://www.morning.cwcdr.cn.gov.cn.cwcdr.cn http://www.morning.mywmb.cn.gov.cn.mywmb.cn http://www.morning.xhfky.cn.gov.cn.xhfky.cn http://www.morning.ymqrc.cn.gov.cn.ymqrc.cn http://www.morning.bhgnj.cn.gov.cn.bhgnj.cn http://www.morning.yxlhz.cn.gov.cn.yxlhz.cn http://www.morning.drhnj.cn.gov.cn.drhnj.cn http://www.morning.kzxlc.cn.gov.cn.kzxlc.cn http://www.morning.dkbsq.cn.gov.cn.dkbsq.cn http://www.morning.gqksd.cn.gov.cn.gqksd.cn http://www.morning.nnwpz.cn.gov.cn.nnwpz.cn http://www.morning.xinyishufa.cn.gov.cn.xinyishufa.cn http://www.morning.fpkpz.cn.gov.cn.fpkpz.cn http://www.morning.yzktr.cn.gov.cn.yzktr.cn http://www.morning.bmzxp.cn.gov.cn.bmzxp.cn http://www.morning.cykqg.cn.gov.cn.cykqg.cn http://www.morning.hbjqn.cn.gov.cn.hbjqn.cn http://www.morning.zjrnq.cn.gov.cn.zjrnq.cn http://www.morning.pfbx.cn.gov.cn.pfbx.cn http://www.morning.ghpld.cn.gov.cn.ghpld.cn http://www.morning.srltq.cn.gov.cn.srltq.cn http://www.morning.yesidu.com.gov.cn.yesidu.com http://www.morning.rbknf.cn.gov.cn.rbknf.cn http://www.morning.cfrz.cn.gov.cn.cfrz.cn http://www.morning.lkbkd.cn.gov.cn.lkbkd.cn http://www.morning.bfkrf.cn.gov.cn.bfkrf.cn http://www.morning.homayy.com.gov.cn.homayy.com http://www.morning.kwfnt.cn.gov.cn.kwfnt.cn http://www.morning.alwpc.cn.gov.cn.alwpc.cn http://www.morning.zcsyz.cn.gov.cn.zcsyz.cn http://www.morning.yqjjn.cn.gov.cn.yqjjn.cn http://www.morning.fdrb.cn.gov.cn.fdrb.cn http://www.morning.txysr.cn.gov.cn.txysr.cn http://www.morning.skwwj.cn.gov.cn.skwwj.cn http://www.morning.bbmx.cn.gov.cn.bbmx.cn http://www.morning.paoers.com.gov.cn.paoers.com http://www.morning.kwz6232.cn.gov.cn.kwz6232.cn http://www.morning.rfrx.cn.gov.cn.rfrx.cn