概率分布的熵归一化(Entropy Normalization)

2022 年 1 月 3 日 PaperWeekly


©PaperWeekly 原创 · 作者 | 苏剑林
单位 | 追一科技
研究方向 | NLP、神经网络

在上一篇文章《从熵不变性看 Attention 的 Scale 操作》中,我们从熵不变性的角度推导了一个新的 Attention Scale,并且实验显示具有熵不变性的新 Scale 确实能使得 Attention 的外推性能更好。这时候笔者就有一个很自然的疑问:

有没有类似 L2 Normalization 之类的操作,可以直接对概率分布进行变换,使得保持原始分布主要特性的同时,让它的熵为指定值?

笔者带着疑问搜索了一番,发现没有类似的研究,于是自己尝试推导了一下,算是得到了一个基本满意的结果,暂称为“熵归一化(Entropy Normalization)”,记录在此,供有需要的读者参考。



幂次变换
首先,假设 元分布 ,它的熵定义为:

由于 ,所以 ,因此 ,当某个 为 1、其余 为 0 时(one hot),取得最小值 0;此外,也可以证明当所有 等于 时, 取得最大值 ,所以 的取值范围是
所以,我们首先要找一种分布的变换,它能够保持分布的主要信息,并且有能力将分布的熵从 0 到 进行变换。这里选择的是幂次变换:

选择幂次变换的原因之一,是它保持了分布的单调性,即如果 ,那么也有 ,个人认为这是分布需要保持的重要性质之一。此外,当各个 都非零并且两两不相等时,幂次变化确实有能力将熵从 进行变化。不失一般性,我们假设 ,显然当 时, ,此时熵为最大值 ,当 时,有:

也就是此时为 one hot 分布 ,对应的熵为最小值 0。其实还可以进一步求导证明熵关于 是单调递减的,因此当 从 0 到 递增时,熵从 到 0 递减变化。


迭代求解
确定幂次变换确实是一种可用的变换后,我们就需要进入求解流程了,即对于任意给定的 ,我们需要找到正确的 ,使得对应的熵为指定值
首先我们写出:

最右端结果的复杂性让我们相信应该不存在解析解,所以只能寻求迭代求解算法了。

我们求它在 处的展开(主要利用

那么:

根据该结果,我们从 出发,反复利用上式进行迭代,就可以求出最终的分布:

这其实就是求解非线性方程的牛顿法了。在实验时发现,迭代 3~4 次,就可以取得不错的收敛效果,如果实际使用时只是为了大致地控制一下熵的范围,那么迭代 1~2 次即可。

Numpy 的参考代码:

 1p = np.random.random(100)
2p /= p.sum()  # 模拟分布
3gamma = 1
4H_f = np.log(30)  # 希望达到的熵
5
6for i in range(10):
7    H = -(p * np.log(p)).sum()
8    gamma = 1 + (H_f - H) / (H**2 - (p * np.log(p)**2).sum())
9    p = p**gamma
10    p /= p.sum()


应用设想

本文主要是觉得“熵归一化”这个概念比较有意思,所以尝试进行了推导。但具体有什么比较好的应用例子,笔者也还没想清楚。

熵越小,意味着概率越集中在几个位置上,换句话说就是其他位置的概率越接近于零,因此某种程度上来说,熵是概率分布的稀疏程度的一种度量,如果我们希望得到比较稀疏的预测结果,那么就可以通过熵归一化进行控制。另一方面,分布越稀疏,也意味着模型越有可能梯度消失,因此反过来也可以通过熵归一化来控制熵不要那么小,从而缓解梯度消失问题。

说到稀疏性,就不免想起 Sparsemax [1] 以及笔者自己构思的 Sparse Softmax 等工作,其中 Sparsemax 是将熵视为惩罚项来得到的稀疏性,而 Sparse Softmax 则是通过直接截断而引入的稀疏性,两者皆在某些场景下有更好的解释性或者更好的效果,那么直接通过熵归一化带来的稀疏性有没有效果呢?这可能也是一个值得探究的问题。

另外,在自回归模型的随机采样中,我们经常用 top- 、top- 截断,这种截断本质上也是在降低分布的熵,所以相应地,我们也可以通过熵归一化来使得每步采样的分布熵一致,用以取代 top- 、top- 采样,这也是一种可能的应用。
使用熵归一化的主要问题是“究竟归一化到哪个值”没有明确的标准,笔者目前也没有比较好的思路,暂时只能想到通过观察已有的实验结果来调参,但终归不是一个理想的答案。


文末小结
本文引入了熵归一化(Entropy Normalization)的概念,通过直接的变换使得分布的熵可以为指定值,并构思了一些潜在应用。

参考文献

[1] https://arxiv.org/abs/1602.02068


更多阅读




#投 稿 通 道#

 让你的文字被更多人看到 



如何才能让更多的优质内容以更短路径到达读者群体,缩短读者寻找优质内容的成本呢?答案就是:你不认识的人。


总有一些你不认识的人,知道你想知道的东西。PaperWeekly 或许可以成为一座桥梁,促使不同背景、不同方向的学者和学术灵感相互碰撞,迸发出更多的可能性。 


PaperWeekly 鼓励高校实验室或个人,在我们的平台上分享各类优质内容,可以是最新论文解读,也可以是学术热点剖析科研心得竞赛经验讲解等。我们的目的只有一个,让知识真正流动起来。


📝 稿件基本要求:

• 文章确系个人原创作品,未曾在公开渠道发表,如为其他平台已发表或待发表的文章,请明确标注 

• 稿件建议以 markdown 格式撰写,文中配图以附件形式发送,要求图片清晰,无版权问题

• PaperWeekly 尊重原作者署名权,并将为每篇被采纳的原创首发稿件,提供业内具有竞争力稿酬,具体依据文章阅读量和文章质量阶梯制结算


📬 投稿通道:

• 投稿邮箱:hr@paperweekly.site 

• 来稿请备注即时联系方式(微信),以便我们在稿件选用的第一时间联系作者

• 您也可以直接添加小编微信(pwbot02)快速投稿,备注:姓名-投稿


△长按添加PaperWeekly小编




🔍


现在,在「知乎」也能找到我们了

进入知乎首页搜索「PaperWeekly」

点击「关注」订阅我们的专栏吧



·

登录查看更多
0

相关内容

【数据科学导论书】Introduction to Datascience,253页pdf
专知会员服务
48+阅读 · 2021年11月15日
专知会员服务
16+阅读 · 2021年8月6日
专知会员服务
27+阅读 · 2021年8月2日
【Google】平滑对抗训练,Smooth Adversarial Training
专知会员服务
48+阅读 · 2020年7月4日
【伯克利】再思考 Transformer中的Batch Normalization
专知会员服务
40+阅读 · 2020年3月21日
输入梯度惩罚与参数梯度惩罚的一个不等式
PaperWeekly
0+阅读 · 2021年12月27日
再谈变分自编码器(VAE):估计样本概率密度
PaperWeekly
3+阅读 · 2021年12月23日
WGAN新方案:通过梯度归一化来实现L约束
PaperWeekly
1+阅读 · 2021年12月13日
两概率分布交叉熵的最小值是多少?
PaperWeekly
0+阅读 · 2021年11月6日
如何区分并记住常见的几种 Normalization 算法
极市平台
19+阅读 · 2019年7月24日
神经网络中的权重初始化一览:从基础到Kaiming
大数据文摘
12+阅读 · 2019年4月18日
详解GAN的谱归一化(Spectral Normalization)
PaperWeekly
11+阅读 · 2019年2月13日
可视化循环神经网络的注意力机制
论智
22+阅读 · 2018年9月23日
从最大似然到EM算法:一致的理解方式
PaperWeekly
18+阅读 · 2018年3月19日
Layer Normalization原理及其TensorFlow实现
深度学习每日摘要
32+阅读 · 2017年6月17日
国家自然科学基金
3+阅读 · 2014年12月31日
国家自然科学基金
0+阅读 · 2013年12月31日
国家自然科学基金
0+阅读 · 2013年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
1+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2009年12月31日
国家自然科学基金
0+阅读 · 2009年12月31日
国家自然科学基金
0+阅读 · 2008年12月31日
Arxiv
0+阅读 · 2022年4月18日
ResT V2: Simpler, Faster and Stronger
Arxiv
0+阅读 · 2022年4月15日
Arxiv
12+阅读 · 2018年1月12日
VIP会员
相关资讯
输入梯度惩罚与参数梯度惩罚的一个不等式
PaperWeekly
0+阅读 · 2021年12月27日
再谈变分自编码器(VAE):估计样本概率密度
PaperWeekly
3+阅读 · 2021年12月23日
WGAN新方案:通过梯度归一化来实现L约束
PaperWeekly
1+阅读 · 2021年12月13日
两概率分布交叉熵的最小值是多少?
PaperWeekly
0+阅读 · 2021年11月6日
如何区分并记住常见的几种 Normalization 算法
极市平台
19+阅读 · 2019年7月24日
神经网络中的权重初始化一览:从基础到Kaiming
大数据文摘
12+阅读 · 2019年4月18日
详解GAN的谱归一化(Spectral Normalization)
PaperWeekly
11+阅读 · 2019年2月13日
可视化循环神经网络的注意力机制
论智
22+阅读 · 2018年9月23日
从最大似然到EM算法:一致的理解方式
PaperWeekly
18+阅读 · 2018年3月19日
Layer Normalization原理及其TensorFlow实现
深度学习每日摘要
32+阅读 · 2017年6月17日
相关基金
国家自然科学基金
3+阅读 · 2014年12月31日
国家自然科学基金
0+阅读 · 2013年12月31日
国家自然科学基金
0+阅读 · 2013年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
1+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2009年12月31日
国家自然科学基金
0+阅读 · 2009年12月31日
国家自然科学基金
0+阅读 · 2008年12月31日
Top
微信扫码咨询专知VIP会员