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

  • 华为荣耀20是双卡双待手机吗(华为荣耀20双清)

    华为荣耀20是双卡双待手机吗(华为荣耀20双清)

  • 怎么把苹果xr底部变透明(苹果xr怎么设置黑色底屏)

    怎么把苹果xr底部变透明(苹果xr怎么设置黑色底屏)

  • 苹果自动关闭wlan和蜂窝移动网(苹果自动关闭屏幕)

    苹果自动关闭wlan和蜂窝移动网(苹果自动关闭屏幕)

  • 手机自动静音怎么解决(手机自动静音怎么设置)

    手机自动静音怎么解决(手机自动静音怎么设置)

  • 红米k30pro怎么截屏(红米k30pro怎么截视频)

    红米k30pro怎么截屏(红米k30pro怎么截视频)

  • 微视可以发多长的视频到朋友圈(微视可以发多长的朋友圈)

    微视可以发多长的视频到朋友圈(微视可以发多长的朋友圈)

  • 笔记本箭头触摸不动了(笔记本箭头触摸失灵)

    笔记本箭头触摸不动了(笔记本箭头触摸失灵)

  • 苹果外包装序列号在哪(苹果外包装序列号未激活)

    苹果外包装序列号在哪(苹果外包装序列号未激活)

  • 快手的表情包怎么保存到手机(快手的表情包怎么弄到微信上)

    快手的表情包怎么保存到手机(快手的表情包怎么弄到微信上)

  • 华为p40使用的是什么芯片(华为p40使用的是什么电池)

    华为p40使用的是什么芯片(华为p40使用的是什么电池)

  • 骁龙865是几纳米制程(骁龙865是几纳米芯片)

    骁龙865是几纳米制程(骁龙865是几纳米芯片)

  • 12306订票后多久取票(12306订票多久退不用手续费)

    12306订票后多久取票(12306订票多久退不用手续费)

  • 苹果a12处理器相当于骁龙多少(苹果a12处理器相当于麒麟多少)

    苹果a12处理器相当于骁龙多少(苹果a12处理器相当于麒麟多少)

  • 魅族16T怎么设置休眠(魅族16t怎么设置绝对音量)

    魅族16T怎么设置休眠(魅族16t怎么设置绝对音量)

  • 铃声多多怎样下载歌曲(铃声多多怎样下载到库乐队)

    铃声多多怎样下载歌曲(铃声多多怎样下载到库乐队)

  • blnal30是什么型号(bln_al30)

    blnal30是什么型号(bln_al30)

  • 怎么把两张照片重叠(怎么把两张照片拼接成一张)

    怎么把两张照片重叠(怎么把两张照片拼接成一张)

  • 韩剧TV怎么投屏(韩剧TV怎么投屏小米电视)

    韩剧TV怎么投屏(韩剧TV怎么投屏小米电视)

  • 栏宽相等怎么弄(栏宽相等在哪里)

    栏宽相等怎么弄(栏宽相等在哪里)

  • 拉贾安帕特群岛中的瓦亚格岛,印度尼西亚 (© Amazing Aerial Agency/Offset by Shutterstock)(拉贾安帕特群岛地图中文版)

    拉贾安帕特群岛中的瓦亚格岛,印度尼西亚 (© Amazing Aerial Agency/Offset by Shutterstock)(拉贾安帕特群岛地图中文版)

  • 【移动端网页布局】Flex 弹性布局案例 ② ( 顶部固定定位搜索栏 | 固定定位盒子居中对齐 | 二倍精灵图设置 | CSS3 中的垂直居中对齐 )(移动端页设计)

    【移动端网页布局】Flex 弹性布局案例 ② ( 顶部固定定位搜索栏 | 固定定位盒子居中对齐 | 二倍精灵图设置 | CSS3 中的垂直居中对齐 )(移动端页设计)

  • 小规模免增值税是普票还是专票
  • 增值税附加税的会计处理
  • 房屋租赁的发票备注怎么写
  • 医院纯收入
  • 企业资产重组是不定期清查吗
  • 公司租用个人房屋如何记账
  • 营业外支出结转损益
  • 早教加盟需要
  • 会务费能开发票吗
  • 商砼税率是多少?
  • 产权转移书据有哪些
  • 资源税改革对政治的影响
  • 工程施工成本发票未到会计分录及账务处理
  • 招待客人买的烟计入业务招待费吗
  • 出租房产免收租金,如何缴纳房产税
  • 在Linux系统中安装了一块虚拟磁盘大小的2G
  • 为什么win7系统添加语言包
  • win7系统中如何让未响应的程序继续运行
  • 补交以前年度的城建税会计分录
  • 实收资本可以大于注册资本嘛
  • 交暖气费可以开单位发票吗
  • 微信小程序隐藏航班
  • DWHeartbeatMonitor.exe进程是什么意思 DWHeartbeatMonitor是安全的进程吗
  • 劳务派遣如何做绩效考核
  • vite报错
  • 长期应收款属于流动资产吗
  • vue获取当前路由地址
  • php中类静态成员描述不正确的是
  • 拔缴经费收入
  • php单例模式连接数据库
  • 小规模纳税人残保金申报时间
  • ai图片生成矢量图
  • javascript手机上
  • 个体生产经营所得优惠政策
  • 小微企业自己记账怎么算
  • 物业费少交点,有什么理由
  • 个人所得税大病医疗是什么意思
  • mysql一对多关系如何一次性查出来
  • 帝国cms破解授权
  • 赠送给客户的商品是否要计入费用?
  • 小公司财务做内账流程
  • 以前年度出口退税未收汇
  • 公司注销其他应付款怎么冲平
  • 受疫情影响较大的困难行业企业2020
  • 认缴制下实收资本需要验资吗
  • 出口退税免抵退税额要交城建税吗
  • 业务员垫付保费
  • 列举2-4种特殊销售方式,其销售额如何确认?
  • 怎样申请开发票
  • 营改增后建筑业增值税税率
  • 装修公司做账涉及科目
  • 跨境汇款汇错
  • 可转换债券转换时的会计处理
  • 在SQL Server 2005中,数据库文件的扩展名为
  • mysql基本sql语句大全(基础用语篇)
  • mysql oracle和sqlserver分页查询实例解析
  • mysql挂了怎么排查
  • debian openssh
  • linux怎么自定义命令
  • win8系统安装步骤
  • win8系统怎么重新安装系统
  • windows文件丢失怎么修复
  • 微软发布Win10优化工具
  • linux系统的介绍
  • win7怎么打开u盘里的的另一个U盘
  • windows10分辨率太高
  • cocos2d-x 3.3 final 适配安卓5.0机型小记
  • cocos2dx解密
  • docker 开源项目
  • css框架结构
  • 用python语言编写
  • jquery如何调用
  • android ListView之——ArrayAdapter使用
  • bootstrap要学到什么程度
  • 车辆购置税查询不到
  • 车辆购置税可以抵税吗
  • 国家税务总局江西省国家税务局
  • 非房地产企业土增税扣除有哪些
  • 电子税务局如何解绑办税人员
  • 粮食收储企业税收优惠
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设