平滑最大值是最大值函数\max(x_1,\ldots,x_n),的光滑函数。其是一个参数族,在 m_\alpha(x_1,\ldots,x_n)中,对于每个参数,函数 都是平滑的。参数族内包含最大值函数,并且 当 。 平滑最小值的概念也是类似的。 在大多数情况下,一个族满足两个条件:当参数趋向于正无穷大时为函数变为最大值函数,当参数变为负无穷大时函数变为最小值函数;符号表示为: 当 , 当 。平滑最大值也可以用于描述行为类似于最大值函数的其他平滑函数,而不一定必须在此参数族中。
例子
当正值参数较大时,且\alpha > 0 ,下列公式是最大函数的平滑函数,可微、近似于最大值函数。 对于绝对值较大的负值参数,其近似最小值函数。
:
\mathcal{S}_\alpha (x_1,\ldots,x_n) = \frac{\sum_{i=1}^n x_i e^{\alpha x_i}}{\sum_{i=1}^n e^{\alpha x_i}}
\mathcal{S}_\alpha具有以下属性:
\mathcal{S}_\alpha\to \max当\alpha\to\infty
\mathcal{S}_0是其输入的算术平均值
\mathcal{S}_\alpha\to \min当\alpha\to -\infty
\mathcal{S}_{\alpha}的梯度近似于softmax函数,由以下公式可得:
:
\nabla_{x_i}\mathcal{S}_\alpha (x_1,\ldots,x_n) = \frac{e^{\alpha x_i}}{\sum_{j=1}^n e^{\alpha x_j}} [1 + \alpha(x_i - \mathcal{S}_\alpha (x_1,\ldots,x_n))].
这使softmax函数使用梯度下降的优化时很有用。
LogSumExp
另一个平滑最大值函数例子是LogSumExp :
:
\mathrm{LSE}(x_1, \ldots, x_n) = \log( \exp(x_1) + \ldots + \exp(x_n))
如果x_i都是非负的,可产生定义域是[0,\infty)^n和值域是[0, \infty)的函数 :
:
g(x_1, \ldots, x_n) = \log( \exp(x_1) + \ldots + \exp(x_n) - (n - 1) )
(n - 1)项通过消除除零以外的所有零指数使得\exp(0) = 1,以及\log 1 = 0当x_i为零。
p范数函数
另一个平滑最大值函数是p范数 :
:
|| (x_1, \ldots, x_n) ||_p = \left( |x_1|^p + \cdots + |x_n|^p \right)^{1/p}
当p \to \infty ,收敛到|| (x_1, \ldots, x_n) ||_\infty = \max_{1\leq i\leq n} |x_i| 。
p范数的一个优点是它是一个范数 。 因此,它是“尺度不变”的(同质的): || (\lambda x_1, \ldots, \lambda x_n) ||_p = |\lambda| \times || (x_1, \ldots, x_n) ||_p ,它满足三角不等式。
数值方法
平滑函数的其他例子
:
\mathcal{max}_\alpha (x_1,x_2) = 0.5 \left( (x_1+x_2) + \sqrt{ (x_1-x_2)^2 + \alpha } \right)
参见
- LogSumExp
- Softmax函数
- 广义均值
参考文献
M. Lange, D. Zühlke, O. Holz, and T. Villmann, "Applications of lp-norms and their smooth approximations for gradient based learning vector quantization," in Proc. ESANN, Apr. 2014, pp. 271-276. (https://www.elen.ucl.ac.be/Proceedings/esann/esannpdf/es2014-153.pdf )
评论 (0)