位置: 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封装组件,多了一层)

  • word左缩进怎么设置(word中左缩进)

    word左缩进怎么设置(word中左缩进)

  • 口碑订单可以给他人使用吗(口碑的订单怎么使用)

    口碑订单可以给他人使用吗(口碑的订单怎么使用)

  • 点两下微信头像抖动(点两下头像会动是什么功能?)

    点两下微信头像抖动(点两下头像会动是什么功能?)

  • 微信不能发大于100m的文件该怎么办(微信不能发大于1G的文件咋办)

    微信不能发大于100m的文件该怎么办(微信不能发大于1G的文件咋办)

  • 苹果icloud验证失败怎么回事(苹果icloud验证失败连接服务器失败也无法注销)

    苹果icloud验证失败怎么回事(苹果icloud验证失败连接服务器失败也无法注销)

  • 手机屏幕有抖音残影怎么办(手机屏幕有抖音印记怎么回事)

    手机屏幕有抖音残影怎么办(手机屏幕有抖音印记怎么回事)

  • 华为mate30pro怎样设置返回键(华为mate30pro怎样关闭放大功能)

    华为mate30pro怎样设置返回键(华为mate30pro怎样关闭放大功能)

  • 苹果mwn是什么版本(苹果型号mw是什么版本)

    苹果mwn是什么版本(苹果型号mw是什么版本)

  • jkm-aloo华为手机什么型号(jkmaloo华为手机什么型号JKMAL00b)

    jkm-aloo华为手机什么型号(jkmaloo华为手机什么型号JKMAL00b)

  • 华为nove7se怎么截屏(华为nove7se怎么开5g)

    华为nove7se怎么截屏(华为nove7se怎么开5g)

  • 华为手机屏幕显示一半(华为手机屏幕显示一半怎么调整过来)

    华为手机屏幕显示一半(华为手机屏幕显示一半怎么调整过来)

  • 微信怎么推自己名片(微信怎么推自己的名牌)

    微信怎么推自己名片(微信怎么推自己的名牌)

  • 一个身份证可以实名几个qq(一个身份证可以绑定几个zfb账号)

    一个身份证可以实名几个qq(一个身份证可以绑定几个zfb账号)

  • 移动上不了网怎么回事(移动上不了网了)

    移动上不了网怎么回事(移动上不了网了)

  • 手机频繁黑屏是咋回事(手机频繁黑屏是什么原因华为)

    手机频繁黑屏是咋回事(手机频繁黑屏是什么原因华为)

  • qq视频怎么最小化(qq视频时怎么缩小视频画面)

    qq视频怎么最小化(qq视频时怎么缩小视频画面)

  • ps用什么显卡(PS用什么显卡)

    ps用什么显卡(PS用什么显卡)

  • 手机里的软件怎样移到sd卡里(手机里的软件怎么设置密码)

    手机里的软件怎样移到sd卡里(手机里的软件怎么设置密码)

  • iphone11pro是双卡双待吗(iphone11pro是双卡怎样切换)

    iphone11pro是双卡双待吗(iphone11pro是双卡怎样切换)

  • 苹果手机扣费怎么关闭(苹果手机扣费怎么查看订单号)

    苹果手机扣费怎么关闭(苹果手机扣费怎么查看订单号)

  • 微信表情两行变一行了(微信表情包变成两行)

    微信表情两行变一行了(微信表情包变成两行)

  • 在重装系统时七彩虹主板BIOS如何设置U盘启动(重装系统j)

    在重装系统时七彩虹主板BIOS如何设置U盘启动(重装系统j)

  • vue+js+海康web开发包接入海康威视摄像头(海康威视web开发接口文档)

    vue+js+海康web开发包接入海康威视摄像头(海康威视web开发接口文档)

  • 个人所得税专项扣除子女教育标准
  • 未入账的固定资产处理的财务处理
  • 专票地址有误可以用吗
  • 2019未达起征点免税分录
  • 股权转让企业所得税税率
  • 购销印花税会计分录
  • 电子承兑汇票转让怎么操作
  • 捐赠支出和赞助支出的区别
  • 以汽车出资
  • 事业单位经营结余为负数的原因
  • 委托加工产品月末结转成本
  • 驻外人员医保报销
  • 新产品开发费用怎么扣除
  • 停车场企业所得税税率
  • 普通发票开票人为管理员是否可以报销?
  • 涉税事先裁定
  • 用友t3建新账
  • 空调折旧年限的最新规定2018
  • 预交增值税后如何处理
  • 现金存入银行是付款还是转账
  • 高新企业最新政策2020
  • 年度成本费用利润率多少合适
  • PHP:oci_commit()的用法_Oracle函数
  • win10资源管理器在哪里找
  • 至极加速
  • 什么叫存量房转移登记
  • mac快捷键是什么意思
  • edge浏览器百度网盘插件
  • php异常处理和错误处理
  • php文本分割
  • 马勒舞曲
  • 螺旋状芦荟 (© David Madison/Getty Images)
  • grid-column
  • 微信小程序人民法院审核通过多久立案
  • javascript中文手册
  • 2022年最新公务接待用餐标准
  • 原材料月底结转到制造费用吗
  • 固定资产已提完折旧报废后如何处理
  • 将购入的原材料用于不动产在建工程
  • 国家企业信用公示信息公示
  • 企业接管的方式有
  • 汇总记账凭证账务处理
  • 增值税达不到起征期
  • 药品的增值税税率13%还是17%?
  • 应付劳务费怎么做账
  • 电子发票查询真伪
  • 光伏发电计费问题
  • 工资能否当月计提当月发放
  • 外币账户的钱怎么转成人民币
  • 应发工资计入什么科目
  • 以前年度生产成本怎么转为研发费用
  • 税金及附加核算哪些税费
  • 发票服务内容写错怎么办
  • 固定资产台账具体做什么
  • 个人社保代扣业务是什么意思
  • 固定资产多少金额必须招标
  • 房地产企业资产负债率的正常范围
  • Sqlserver聚集索引和非聚集索引的区别
  • SmartFTP.exe - SmartFTP是什么进程
  • 惠普装xp系统
  • win10 20h2官方下载
  • window10路由
  • win8系统如何备份系统
  • win8操作系统如何安装
  • 在linux中使用什么命令可以执行shell脚本
  • 安装win7系统后一直正在启动
  • cocos2djs
  • 如何让卖家给你乖乖退款
  • jquery插件大全
  • 解析几何
  • Node.js中的construct
  • python flask快速入门与进阶
  • unity3dwasd移动
  • Jar mismatch! Fix your dependencies
  • javascript例题
  • 1+x职业技能等级证书
  • 租房完税证明需要多长时间内的
  • 建筑企业个人所得税管理办法
  • 个人所得税是先交还是后交
  • 税务部门行政审批
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设