位置: IT常识 - 正文

Gumbel-Softmax完全解析

编辑:rootadmin
Gumbel-Softmax完全解析 写在前面

推荐整理分享Gumbel-Softmax完全解析,希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:,内容如对您有帮助,希望把文章链接给更多的朋友!

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

为什么我们需要Gumbel-Softmax ?

假设现在我们有一个离散随机变量ZZZ的分布 p1=p(Z=1)=π1p2=p(Z=2)=π2p3=p(Z=3)=π3...px=p(Z=x)=πxp_1 = p(Z=1)=\pi_1\\ p_2 = p(Z=2) = \pi_2\\ p_3 = p(Z=3) = \pi_3\\ ...\\ p_x = p(Z=x) = \pi_x\\p1​=p(Z=1)=π1​p2​=p(Z=2)=π2​p3​=p(Z=3)=π3​...px​=p(Z=x)=πx​ 其中,∑iπi=1\sum_i \pi_i=1∑i​πi​=1。我们想根据p1,p2,...,pxp_1,p_2,...,p_xp1​,p2​,...,px​的概率采样得到一系列离散zzz的值。但是这么做有一个问题,我们采样出来的zzz只有值,没有生成zzz的式子。例如我们要求ZZZ的期望,那么就有公式 E(Z)=p1+2p2+⋯+xpx\mathbb{E}(Z) = p_1 + 2p_2 + \cdots +xp_xE(Z)=p1​+2p2​+⋯+xpx​ ZZZ对p1,p2,...,pxp_1,p_2,...,p_xp1​,p2​,...,px​的导数都很清楚。但是现在我们的需求是采样一些具体的zzz值,采样这个操作没有任何公式,因此也就无法求导。于是一个很自然的想法就产生了,我们能不能给一个以p1,p2,...,pzp_1,p_2,...,p_zp1​,p2​,...,pz​为参数的公式,让这个公式返回的结果是zzz采样的结果呢?

Gumbel-SoftmaxGumbel-Softmax完全解析

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

最常见的采样z\mathbf{z}z的onehot公式为 z=onehot(max⁡{i∣π1+π2+⋯+πi−1≤u})(1)\mathbf{z} = \text{onehot}(\max \{i\mid \pi_1 + \pi_2+\cdots +\pi_{i-1} \leq u\})\tag{1}z=onehot(max{i∣π1​+π2​+⋯+πi−1​≤u})(1) 其中i=1,2,..,xi=1,2,..,xi=1,2,..,x是类别的下标,随机变量uuu服从均匀分布U(,1)U(0,1)U(0,1)

上面这个过程实际上是很巧妙的,我们将概率分布从前往后不断加起来,当加到πi\pi_iπi​时超过了某个随机值$ 0\leq u \leq 1,那么这一次随机采样过程,,那么这一次随机采样过程,,那么这一次随机采样过程,z就被随机采样为第就被随机采样为第就被随机采样为第i$类,最后通过一个onehot变换

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

Gumbel-Max Trick

Gumbel-Max技巧就是解决max函数不可导问题的,我们可以用argmax替换max,即 z=onehot(argmaxi{gi+log⁡πi})(2)\mathbf{z} = \text{onehot}(\mathop{\text{argmax}}\limits_{i} \{g_i + \log \pi_i\})\tag{2}z=onehot(iargmax​{gi​+logπi​})(2) 其中,gi=−log⁡(−log⁡(ui)),ui∼U(,1)g_i=-\log(-\log(u_i)), u_i \sim U(0,1)gi​=−log(−log(ui​)),ui​∼U(0,1),这一项名为Gumbel噪声,或者叫Gumbel分布,目的是使得z\mathbf{z}z的返回结果不固定

可以看到式(2)(2)(2)的整个过程中,不可导的部分只有argmax,实际上我们可以用可导的softmax函数,在参数τ\tauτ的控制下逼近argmax,最终ziz_izi​的公式为 zi=exp⁡(gi+log⁡πiτ)∑jxexp⁡(gj+log⁡πjτ)(3)z_i = \frac{\exp(\frac{g_i + \log \pi_i}{\tau})}{\sum_{j}^x\exp(\frac{g_j + \log \pi_j}{\tau})}\tag{3}zi​=∑jx​exp(τgj​+logπj​​)exp(τgi​+logπi​​)​(3) 其中,τ\tauτ越小(τ→)(\tau \to 0)(τ→0),整个softmax越光滑逼近argmax,并且z={zi∣i=1,2,...,x}\mathbf{z} = \{z_i\mid i=1,2,...,x\}z={zi​∣i=1,2,...,x}也越接近onehot向量;τ\tauτ越大(τ→∞)(\tau \to \infty)(τ→∞),z\mathbf{z}z向量越接近于均匀分布

总结

整个过程相当于我们把不可导的取样过程,从z\mathbf{z}z本身转移到了求z\mathbf{z}z的公式中的一项gig_igi​中,而gig_igi​本身不依赖p1,..,pxp_1,..,p_xp1​,..,px​,所以zzz对p1,...,pxp_1,...,p_xp1​,...,px​就可以到了,而且我们得到的z\mathbf{z}z仍然是离散概率分布的采样。这种采样过程转嫁的技巧有一个专有名词,叫重参数化技巧(Reparameterization Trick)

ReferencesWhat is Gumbel-SoftmaxGumbel-Softmax Trick和Gumbel分布
本文链接地址:https://www.jiuchutong.com/zhishi/294559.html 转载请保留说明!

上一篇:swapoff命令 关闭SWAP交换分区(关停所有swap分区的命令)

下一篇:uniapp封装axios?大可不必那么麻烦。(uniapp封装组件,多了一层)

  • 一键修复0xc000007b(一键修复0xc000007bwin10)

    一键修复0xc000007b(一键修复0xc000007bwin10)

  • 华为p40pro是多少倍变焦的(华为p40pro是多少寸的手机)

    华为p40pro是多少倍变焦的(华为p40pro是多少寸的手机)

  • 二进制数10001101对应的八进制数为(二进制数100011010转换为十进制)

    二进制数10001101对应的八进制数为(二进制数100011010转换为十进制)

  • 京东评价自己可以删除吗(京东里面自己的评价在哪里能找到)

    京东评价自己可以删除吗(京东里面自己的评价在哪里能找到)

  • 网易云黑胶vip有啥用(网易云黑胶VIP有礼品卡吗)

    网易云黑胶vip有啥用(网易云黑胶VIP有礼品卡吗)

  • 开启悬浮窗为什么没出来(开启悬浮窗为什么打不开)

    开启悬浮窗为什么没出来(开启悬浮窗为什么打不开)

  • 拼多多新店刷流量应注意哪些细节?(拼多多刷销量流程)

    拼多多新店刷流量应注意哪些细节?(拼多多刷销量流程)

  • 抖音号养了7天怎么0播放量(抖音养号7天后一定要发作品吗)

    抖音号养了7天怎么0播放量(抖音养号7天后一定要发作品吗)

  • 钉钉看回放老师知道具体时间吗(钉钉看回放老师会收到提示吗)

    钉钉看回放老师知道具体时间吗(钉钉看回放老师会收到提示吗)

  • 华为p30pro分屏功能在哪里(华为p30pro分屏功能怎么使用)

    华为p30pro分屏功能在哪里(华为p30pro分屏功能怎么使用)

  • 手机微博怎么屏蔽广告(手机微博怎么屏蔽关注列表)

    手机微博怎么屏蔽广告(手机微博怎么屏蔽关注列表)

  • 抖音变现什么意思啊(抖音里面说的变现是什么意思)

    抖音变现什么意思啊(抖音里面说的变现是什么意思)

  • 火苗火力是怎么得的(火苗和火力有什么区别)

    火苗火力是怎么得的(火苗和火力有什么区别)

  • 下载歌曲到u盘为什么会播放不了(下载歌曲到u盘后到车上播放不出来是怎么回事)

    下载歌曲到u盘为什么会播放不了(下载歌曲到u盘后到车上播放不出来是怎么回事)

  • 平板安装不了软件怎么解决(平板安装不了软件是什么原因)

    平板安装不了软件怎么解决(平板安装不了软件是什么原因)

  • qqpcrtp是什么进程

    qqpcrtp是什么进程

  • ipad a1701是什么型号(ipad a1707是什么型号)

    ipad a1701是什么型号(ipad a1707是什么型号)

  • 手机号怎么拉入黑名单(手机号怎么拉入黑名单并删除)

    手机号怎么拉入黑名单(手机号怎么拉入黑名单并删除)

  • 如何快速清除小米实名(如何快速清除小程序使用记录)

    如何快速清除小米实名(如何快速清除小程序使用记录)

  • 模拟示波器怎么调正弦波(模拟示波器怎么读数)

    模拟示波器怎么调正弦波(模拟示波器怎么读数)

  • vue怎么增加视频时长(vue怎么在视频里加图片)

    vue怎么增加视频时长(vue怎么在视频里加图片)

  • 计算机网络包括哪些内容(计算机网络包括哪些方面)

    计算机网络包括哪些内容(计算机网络包括哪些方面)

  • 作业帮怎么设置拍整页(作业帮怎么设置小窗口)

    作业帮怎么设置拍整页(作业帮怎么设置小窗口)

  • 免税农产品发票怎么抵扣申报
  • 印花税核定征收管理办法
  • 补发工资是否计入工资
  • 建筑行业未收款先开发票如何做账?
  • 期末留抵税额可以留多久
  • 国家金库是什么税费
  • 全资子公司向母公司划转资产 土地增值税
  • 收回员工社保入什么科目
  • 母子公司可以开具资金占用费
  • 财产转让所得税计算方法
  • 金税盘用途
  • 国税代开普通发票现需作废需要哪些资料?
  • 如何理解消费税的作用
  • 银行利息所得税调整方案
  • 长期股权投资的初始计量
  • 资产负债表和利润表在哪里查
  • 库存现金进账单会计分录
  • 制造企业享受增值税政策
  • 投资收益企业所得税预缴
  • win11和win10哪个玩游戏好
  • mac outlook怎么设置邮箱签名
  • swimsuitnetwork.exe - swimsuitnetwork是什么进程 有何作用
  • 增值税专用发票电子版
  • 企业取得财政拨款怎么算
  • 苹果电脑记笔记
  • 收到发票如何写摘要
  • 在win10中如何设置在开始菜单中显示应用列表
  • 股权转让协议的注意事项
  • 财务费用利息收入怎么结转
  • 收到预付款计入什么科目
  • 小规模纳税人税控设备可以抵扣吗设备
  • 转出未交增值税什么意思
  • uniapp监听网络状态
  • 基于thinkphp的学园招聘系统项目源代码
  • php read
  • 斯塔尔德
  • 扣缴义务人需要办理税务登记吗
  • 36号文45条
  • 汇算清缴管理费用明细有哪些
  • wordpress配置数据库
  • 请问linux
  • 公司转账到个人账户可以撤销么
  • 简述记账后的凭证修改方法
  • 销售货物未收到货款的会计分录怎么写
  • 建筑公司增值税专用发票税率是多少
  • sql2008r2安装教程
  • sqlserver完整备份
  • 银行承兑汇票背书转让会计分录
  • 车船税每年都是一样的吗
  • 专利代理服务费如何记账
  • 营改增后房地产企业如何开票
  • 简易计税开具的发票取得的进项可以抵扣嘛
  • 电子发票显示错误信息是什么原因
  • 防伪税控费用抵税分录
  • 已经支付的预付款 银行能更改为货到付款吗
  • mysql varchar2
  • win7还能用几年
  • Win10预览版更新弹窗如何关闭
  • freebsd怎么样
  • win8关闭开机启动项
  • sata驱动怎么装
  • linux系统
  • linux修改系统日期命令
  • win10系统怎么新建磁盘
  • windows tcp
  • win7电脑屏幕设置常亮不黑屏
  • win10系统中怎么设置搜狗输入
  • javascript运用
  • android:ViewPager与FragmentPagerAdapter
  • loading and loading
  • 微信小程序实现轮播图
  • javascript:openattachment
  • bat 截取字符串
  • python利用for循环求1到100的奇数之和
  • shell获取字符串中的数字
  • unity怎么导入3d模型
  • android studio如何用安卓手机模拟
  • jquery常用的5个方法
  • 现在德国的普通话怎么样
  • 开票系统功能
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设