©PaperWeekly 原创 · 作者 | 苏剑林
单位 | 追一科技
研究方向 | NLP、神经网络
在机器学习中,我们经常会碰到不光滑的函数,但我们的优化方法通常是基于梯度的,这意味着光滑的模型可能更利于优化(梯度是连续的),所以就有了寻找非光滑函数的光滑近似的需求。事实上,本博客已经多次讨论过相关主题,比如《寻求一个光滑的最大值函数》[1]、《函数光滑化杂谈:不可导函数的可导逼近》[2] 等,但以往的讨论在方法上并没有什么通用性。
不过,笔者从最近的一篇论文《SAU: Smooth activation function using convolution with approximate identities》[3] 学习到了一种比较通用的思路:用狄拉克函数来构造光滑近似。通用到什么程度呢?理论上有可数个间断点的函数都可以用它来构造光滑近似!个人感觉还是非常有意思的。
狄拉克函数
在很早之前的文章《诡异的 Dirac 函数》[4] 中,我们就介绍过狄拉克函数了。在现代数学中,狄拉克函数被定义为一个“泛函”而不是“函数”,但对于大多数读者来说,将它当作函数来理解是比较容易接受的。
简单来说,狄拉克函数 满足:
1、;
2、;
3、。
直观来看, 可以看成一个连续型的概率密度函数,采样空间为全体实数 ,但是只有 处概率非零,也即均值为 0、方差也为 0,所以从中采样必然只能采样到 0,因此成立如下恒等式:
或者:
这可谓是狄拉克函数最重要的性质,也是我们后面主要用到的恒等式。
光滑近似
如果我们能找到 的一个光滑近似 ,那么根据(2),我们就有