MENU

一个分布在多次 Softmax 后,会趋于相同

July 15, 2021 • Read: 3633 • 数学阅读设置

本文其实是我在知乎上无意中翻到的一条提问:softmax 到底有哪些作用?,其中苏剑林大佬关于第四个问题的回复,给我产生了一些思考。为什么一个分布在多次 Softmax 之后,每个值会趋于相同?例如 [1,100] 在大约 10 次 Softmax 操作后会变成 [0.5,0.5];[1,2,3,4] 大约 5 次 Softmax 操作后会变成 [0.25,0.25,0.25,0.25]

苏剑林大佬的原话是:“这其实是一个没什么实用价值的结果,因为对 Softmax 的结果再次进行 Softmax 没有什么物理意义”。不过我还是本着好奇的心态看完了他对于这个问题的证明,感兴趣的同学直接看原回答即可。实际上由于篇幅限制,苏剑林大佬的证明过程省略了不少步骤,因此这里我给出完整的证明流程

设第 $i$ 次迭代后的向量为 $(p_1^{(i)},p_2^{(i)},...,p_n^{(i)})$,我们先证明 $n\ge 3$ 的情形。不妨设其中最大值、最小值为 $p_{\text {max}}^{(i)},p_{\text {min}}^{(i)}$,则 $\text {Softmax}(p_1^{(i)},p_2^{(i)},...,p_n^{(i)})$ 的最大值为

$$ p_{\text{max}}^{(i+1)}=\frac{e^{p_{\text{max}}^{(i)}}}{\sum_{j=1}^ne^{p_j^{(i)}}}\leq \frac{e^{p_{\text{max}}^{(i)}}}{ne^{p_{\text{min}}^{(i)}}}=\frac{e^{p_{\text{max}}^{(i)}-p_{\text{min}}^{(i)}}}{n} $$

同理,最小值为

$$ p_{\text{min}}^{(i+1)}=\frac{e^{p_{\text{min}}^{(i)}}}{\sum_{j=1}^ne^{p_j^{(i)}}}\ge \frac{e^{p_{\text{min}}^{(i)}}}{ne^{p_{\text{max}}^{(i)}}}=\frac{e^{p_{\text{min}}^{(i)}-p_{\text{max}}^{(i)}}}{n} $$

$$ p_{\text{max}}^{(i+1)} - p_{\text{min}}^{(i+1)} \leq \frac{e^{p_{\text{max}}^{(i)}-p_{\text{min}}^{(i)}} - e^{p_{\text{min}}^{(i)}-p_{\text{max}}^{(i)}}}{n} $$

设 $a_{i}=p^{(i)}_{\text {max}} -p^{(i)}_{\text {min}}$,则 $0\leq a_{i+1}\leq \frac {e^{a_i}-e^{-a_i}}{n}$,所以现在问题转化为证明 $\lim\limits_{i\to \infty} a_{i+1}=0$ 成立

由 $a_{i+1}$ 的定义,即 $p_{\text {max}}^{(i+1)}-p_{\text {min}}^{(i+1)}$(概率的差),所以 $0\leq a_{i+1}$ 很容易想到。接下来如果我们能够证明 $\frac {e^{a_i}-e^{-a_i}}{n}$ 收敛到 0,那么通过夹逼定理就可以证得 $\lim\limits_{i\to \infty} a_{i+1}=0$

因为 $f (x) = \frac {e^x - e^{-x}}{n}$ 是单调递增的,它只有一个不动点,只要初始值不大于 0,那么迭代 $x_{i+1}=f (x_i)$ 必然收敛到 0。所以 $\{a_i\}_{i=1}^\infty$ 也必然收敛到 0

当 $n=2$ 时,上述放缩太宽了,也就是从 1 出发,迭代 $x_{i+1}=f (x_i)$ 不收敛。我们可以直接考虑

$$ p_{\text{min}}^{(i+1)}\ge \frac{e^{p_{\text{min}}^{(i)}-p_{\text{max}}^{(i)}}}{2}=\frac{e^{p_{\text{min}}^{(i)}-(1-p_{\text{min}}^{(i)})}}{2}=\frac{e^{2p_{\text{min}}^{(i)}-1}}{2} $$

基于类似的过程,$g (x)=\frac {e^{2x-1}}{2}$ 单调递增并且只有一个不动点 $x=\frac {1}{2}$,所以从 0 出发,$p_{\text {min}}^{(i)}$ 会收敛到 $\frac {1}{2}$

Reference

Last Modified: September 4, 2021
Archives Tip
QR Code for this page
Tipping QR Code