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

  • oppo首次激活时间(oppo手机激活是指开机吗)

    oppo首次激活时间(oppo手机激活是指开机吗)

  • 微信小黄脸表情含义(微信小黄脸表情包)

    微信小黄脸表情含义(微信小黄脸表情包)

  • 华为荣耀20pro手机怎么剪切图片的一部分(华为荣耀20pro手机多少钱)

    华为荣耀20pro手机怎么剪切图片的一部分(华为荣耀20pro手机多少钱)

  • wps太卡了怎么回事(wps太卡了怎么回答问题)

    wps太卡了怎么回事(wps太卡了怎么回答问题)

  • 可以查别人的话费余额吗(可以查别人的话费账单吗)

    可以查别人的话费余额吗(可以查别人的话费账单吗)

  • 笔记本电脑收不到Wi-Fi是怎么回事(笔记本电脑收不到自家的wifi信号)

    笔记本电脑收不到Wi-Fi是怎么回事(笔记本电脑收不到自家的wifi信号)

  • 退出微信对方显示什么(退出微信后别人发微信会显示什么)

    退出微信对方显示什么(退出微信后别人发微信会显示什么)

  • opporeno3pro与vivox30pro的区别

    opporeno3pro与vivox30pro的区别

  • 恢复出厂设置后备份还在吗(恢复出厂设置后原来的数据还能找到吗)

    恢复出厂设置后备份还在吗(恢复出厂设置后原来的数据还能找到吗)

  • 您拨打的电话尚未登录是啥意思(您拨打的电话尚未接通)

    您拨打的电话尚未登录是啥意思(您拨打的电话尚未接通)

  • 小米sn要输斜杠吗(小米手机sn码斜杠英文字母也要输吗)

    小米sn要输斜杠吗(小米手机sn码斜杠英文字母也要输吗)

  • 如何快速压缩ppt大小(如何快速压缩视频)

    如何快速压缩ppt大小(如何快速压缩视频)

  • 咪咕盒子怎么投屏(咪咕盒子怎么投屏索尼电视上)

    咪咕盒子怎么投屏(咪咕盒子怎么投屏索尼电视上)

  • 手机qq管理员改群名片(qq怎么改管理员权限)

    手机qq管理员改群名片(qq怎么改管理员权限)

  • 快手直播黄钻怎么算(快手直播黄钻怎么提现怎么算)

    快手直播黄钻怎么算(快手直播黄钻怎么提现怎么算)

  • 移动怎么屏蔽骚扰电话(移动怎么拦截骚)

    移动怎么屏蔽骚扰电话(移动怎么拦截骚)

  • 苹果11pro和11pro max的区别(苹果11pro和11pro max手机壳一样吗)

    苹果11pro和11pro max的区别(苹果11pro和11pro max手机壳一样吗)

  • 携程app怎么取消值机(携程怎么取消订单?)

    携程app怎么取消值机(携程怎么取消订单?)

  • 华为p30手机防水吗(华为p30手机防水标)

    华为p30手机防水吗(华为p30手机防水标)

  • 闹钟在什么地方找(闹钟在什么地方开)

    闹钟在什么地方找(闹钟在什么地方开)

  • 微信号被限制多久解封(微信号被限制多个功能期间还会被人再次投诉)

    微信号被限制多久解封(微信号被限制多个功能期间还会被人再次投诉)

  • 苹果xr怎么看是不是国行(苹果xr怎么看是不是双卡双待)

    苹果xr怎么看是不是国行(苹果xr怎么看是不是双卡双待)

  • CentOS 6.8 服务器系统安装配置图解教程(服务器centos6.9安装教程)

    CentOS 6.8 服务器系统安装配置图解教程(服务器centos6.9安装教程)

  • 电脑输入法设置默认教程(电脑输入法设置搜狗输入法)

    电脑输入法设置默认教程(电脑输入法设置搜狗输入法)

  • 股票印花税如何计算
  • 个体工商户要报工商年报吗?
  • 息税前利润的计算公式EBIT
  • 个人开不动产租赁发票税率
  • 发票连续作废两次
  • 增值税税控系统技术维护费怎么做账
  • 母公司与子公司的区别
  • 其他货币资金的科目编码
  • 企业支付宝要交哪些税
  • 支票盖财务章盖在哪里
  • 临时人员劳务费有哪些?
  • 发票红冲重新开
  • 收到加工费普通发票怎么做账务处理
  • 售后回租涉税
  • 公司向个人租房子怎么做账
  • 接收商业承兑汇票需要到银行办手术吗
  • 房子已买
  • 电子承兑汇票是到期日前10天提示承兑吗
  • 取得消费税出口退税款如何做会计处理?
  • 去年漏记一笔银行付款怎么办
  • 应付职工薪酬的账务处理
  • 出口退税为0的产品明细
  • 清算时土地增值税计税依据
  • 股份有限公司发行的股票溢价
  • 未开票收入纳税
  • 固定资产出租需要交什么税
  • 房产税计税依据是含税还是不含税
  • 无发票的费用怎么处理
  • 购买机器设备配件账务处理
  • 银行承兑汇票的转让一般通过什么渠道
  • 冲未开票收入怎么做分录
  • php中substr_replace
  • 免征的增值税需要纳税调整吗
  • 转让股权怎么做会计分录
  • vue怎么拿到后端数据
  • 前端没思路怎么办
  • 政策性搬迁补偿收入
  • 新企业所得税税前扣除政策
  • es6promise的理解
  • 汇编语言a命令怎么用
  • 外贸公司美金账户维护费用
  • 哪些收据可以入账且可以税前抵扣
  • 小规模发票跨月冲红怎么做账
  • 残次品生产成本计算
  • 公司出现质量问题员工怎么处理
  • db2bigint
  • 企业汇兑收益所得税税率
  • 空调能直接用水清洗不?
  • 小规模公司都交哪些税
  • 净利润除以实收资本是什么
  • 收支平衡表excel怎么做
  • 企业基金分红具体流程
  • 企业促销如何进行营销
  • 管家婆软件如何做账?
  • 工会经费教育经费福利费计提比例
  • 退休职工取暖费发放标准2023年
  • 发票遗失复印件可以入账吗
  • 个人独资企业与一人公司的区别与联系
  • 如何查询对方是否起诉离婚
  • 滞留票不处理可以么
  • 应收账款增加说明企业什么
  • os x10.11el capitan公测版beta5更新了什么?os x10.11el capitan公测版beta5发布下载
  • mac自动操作怎么停止
  • win7系统还能用不
  • 无需u盘安装系统
  • 怎样下载电子书免费的
  • win10系统怎么关闭病毒防护
  • linux的安装教程
  • 安卓安全警告怎么关闭
  • unity xcode
  • activity启动流程图解
  • python相乘
  • jquery中绑定和解绑的事件有哪些
  • javascript函数
  • javascript入门书
  • bootstrap要学到什么程度
  • javascript中Date format(js日期格式化)方法小结
  • 安徽税务发票查询入口
  • 上海餐饮增值税
  • 餐饮发票怎么看真假
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设