探究Softmax的替代品:exp(x)的偶次泰勒展开式总是正的
刚看到一个有意思的结论:

对于任意实数 x 及偶数 n,总有 ,即  的偶次泰勒展开式总是正的。
下面我们来看一下这个结论的证明,以及它在寻找 softmax 替代品中的应用。

证明过程

看上去这是一个很强的结果,证明会不会很复杂?其实证明非常简单,记:

当 n 是偶数时,我们有 ,即整体是开口向上的,所以我们只需要证明它的最小值大于 0 就行了,又因为它是一个光滑连续的多项式函数,所以最小值点必然是某个极小值点。那么换个角度想,我们只需要证明它所有的极值点(不管是极大还是极小)所对应的函数值都大于 0。

求极值点的方法自然是求导,而  的一个美妙之处在于,它的导函数满足:

极值点满足 ,那也就是满足 ,此时有:

因此我们就证明了  的所有极值点对应的函数值都非负了,所以恒有 ,并且还可以检验  并不是极值点,所以  可以改为 >。证毕。

应用场景

事实上,笔者是在 Arxiv 的新文章 

Exploring Alternatives to Softmax Function

 
[1] 看到这个结论的。原论文给出了一个基于数学归纳法的比较复杂的证明,上述证明则是笔者自己构思的,相对来说更加简单明了一些。

那么原论文为什么要得到这个结论呢?顾名思义,是为了探究 softmax 的替代品。我们知道,在机器学习中常用的将输出变为概率分布的方法是加上 softmax:

而由于 n 是偶数是 ,并且  在一定范围内还是  的近似,所以将  换成  也可以作为合理的归一化函数:

原论文做了几个实验,表明  比常规的 softmax 有一定的提升:

▲ softmax与其泰勒展开近似的效果比较

稍加评述

然而,在笔者看来,这个实验结果很难有什么说服力,毕竟所用的 baseline 效果太低了(都 2020 年了,你好歹跑个 ResNet 吧?)。此外,原论文也没有提供关于这个替代品的一些直观理解,纯粹是做了简单的实验然后说它 work 了,实在是过于粗糙。

不过,尽管原论文有诸多不足之处,笔者认为其提出的  倒是真的有可能是有效的。从 softmax 到  的过程,实际上是将激活函数从指数函数换成了多项式函数,这两者有什么区别呢?
我们知道 |x| 比较大的时候, 会增加/衰减得很快,这直接导致了 softmax 经常给出的置信度过高的现象(概率值非 0 即 1),而相对来说,多项式函数的增长没有那么猛,不容易出现置信度过高问题,从而没那么容易过拟合。
类似的改动也出现在经典的降维方法 t-SNE 中,t-SNE 的前身是 SNE,SNE 就是构造了类似 softmax 的指数形式的概率分布,然后被发现有“Crowding 问题”(参考最小熵原理:“物以类聚”之从图书馆到词向量),最后 t-SNE 将指数换成二次函数就好很多了,感觉  跟 t-SNE 的思想有一定的相通之处。


文章小结

本文的主要目的是介绍“ 的偶次泰勒展开式总是正的”这个颇有意思的结论,并且顺带介绍了它在寻找 softmax 替代品中的应用
参考文献
[1] https://arxiv.org/abs/2011.11538


登录用户可以查看和发表评论, 请前往  登录 或  注册
SCHOLAT.com 学者网
免责声明 | 关于我们 | 用户反馈
联系我们: