用 AI 核对 Gumbel-max:给每项加噪声,为什么能按指定概率选出赢家

昨天 3阅读

实现离散策略或随机候选选择时,Gumbel-max可以把分类抽样写成“各项得分加独立噪声,再取最大”。噪声不是任意一种,放温度的位置也会影响含义。用三个候选和一组固定随机数,可以把这条技巧拆成可查的数值过程。

用 AI 核对 Gumbel-max:给每项加噪声,为什么能按指定概率选出赢家

AI生成的概念示意图:随机扰动可能改变最大得分的位置;柱高与云形不代表精确概率,也不是模型输出截图。

每个候选需要自己的一份随机数

设目标概率p=(0.5,0.3,0.2)。每项独立抽uᵢ,均匀分布在严格的零与一之间,令gᵢ=-ln(-ln uᵢ),再比较sᵢ=ln pᵢ+gᵢ。本次固定u=(0.1,0.8,0.4),只用于手算复现,不能把这三项说成模型实际日志。

令tᵢ=-ln uᵢ/pᵢ,则sᵢ=-ln tᵢ。由于负对数严格递减,取s最大与取t最小完全相同。本例t约为(4.605170,0.743812,4.581454),因此B获选,虽然A的目标概率最高。

概率最大只代表长期最常被选中,不表示每次都赢。若三项共用同一个u,三份g也一样,比较时噪声全部抵消,最后总选A;所以“每项独立”是必要的抽样条件,不是可以省掉的实现细节。

把最大值技巧换成三只随机时钟

对独立均匀数u,-ln u服从速率为1的指数分布;除以pᵢ后,tᵢ成为速率pᵢ的指数时钟。三只独立时钟同时启动,谁先响就选谁。速率越大,越容易先响,但每只钟都可能先响。

A在时刻t先响的概率密度为0.5×exp(-0.5t),再乘B和C在t前尚未响的概率exp(-0.3t)与exp(-0.2t),合起来是0.5×exp(-t)。从零积到无穷得到0.5。同理B和C分别得到0.3与0.2。

本次独立程序数值积分三种先响密度,恢复了给定概率,又核对固定u下“最大扰动得分”和“最小时钟”选择一致。这证明的是教学抽样机制的等价关系,没有训练网络,也没有测量某个生成模型的表现。

温度放在硬选择外面,赢家不会改变

若先算ln pᵢ+gᵢ,再把所有结果统一除以同一个正温度τ,大小顺序不变,所以硬argmax赢家不变。Gumbel-Softmax把除温度后的得分送入softmax,会改变连续输出的尖锐程度;连续近似与硬选择不能混为一谈。

若改成先将ln pᵢ除以τ,再加标准Gumbel噪声,采样分布才会变为与pᵢ的1/τ次幂成比例。两个公式只差一个括号,抽样含义却不同。提示AI解释温度时,应要求它原样写出括号位置,并固定同一组u做对照。

边界和验收要一起记录

可提示:“列出p、u、Gumbel噪声、扰动得分和指数时钟;比较两个赢家;说明温度加在哪里;另检验共用噪声的反例。”零概率候选应被排除或以负无穷分数处理,不能随手加一个较大常数让它重新获得机会。

若u取到0或1,嵌套对数会出现无穷或不可用值,数值实现必须明确开区间处理。任意截断会轻微改变分布,应记录处理规则。连续分布理论上并列概率为零,有限精度中仍需确定并列处理方式。硬argmax本身也没有通常意义下的连续梯度,不能仅因使用了Gumbel噪声就声称离散选择已经可直接反向传播。

资料核对日期:2026年10月2日。数据为原创教学设定,已用独立本地程序复核,未进行真实模型训练或生产效果测试。

复现实验时同时保存随机数生成器设置与候选排列;同一串随机数分配给不同候选,会改变单次赢家。分布等价也不要求两种不同抽样算法在同一个随机种子下给出完全相同的序列。核对单次过程时固定随机输入,核对分布性质时使用解析概率。

参考资料

Jang等:Categorical Reparameterization with Gumbel-Softmax,第2节

文章版权声明:除非注明,否则均为云鹊BLOG原创文章,转载或复制请以超链接形式并注明出处。