用狄拉克函数来构造非光滑函数的光滑近似
?PaperWeekly 原創 ·?作者 | 蘇劍林
單位 | 追一科技
研究方向 | NLP、神經網絡
在機器學習中,我們經常會碰到不光滑的函數,但我們的優化方法通常是基于梯度的,這意味著光滑的模型可能更利于優化(梯度是連續的),所以就有了尋找非光滑函數的光滑近似的需求。事實上,本博客已經多次討論過相關主題,比如《尋求一個光滑的最大值函數》[1]、《函數光滑化雜談:不可導函數的可導逼近》[2] 等,但以往的討論在方法上并沒有什么通用性。
不過,筆者從最近的一篇論文《SAU: Smooth activation function using convolution with approximate identities》[3] 學習到了一種比較通用的思路:用狄拉克函數來構造光滑近似。通用到什么程度呢?理論上有可數個間斷點的函數都可以用它來構造光滑近似!個人感覺還是非常有意思的。
狄拉克函數
在很早之前的文章《詭異的 Dirac 函數》[4] 中,我們就介紹過狄拉克函數了。在現代數學中,狄拉克函數被定義為一個“泛函”而不是“函數”,但對于大多數讀者來說,將它當作函數來理解是比較容易接受的。
簡單來說,狄拉克函數 滿足:
1、;
2、;
3、。
直觀來看, 可以看成一個連續型的概率密度函數,采樣空間為全體實數 ,但是只有 處概率非零,也即均值為 0、方差也為 0,所以從中采樣必然只能采樣到 0,因此成立如下恒等式:
或者:
這可謂是狄拉克函數最重要的性質,也是我們后面主要用到的恒等式。
光滑近似
如果我們能找到 的一個光滑近似 ,那么根據(2),我們就有
由于 是光滑的,所以 也是光滑的,這也就是說, 就是 的一個光滑近似!這便是借助狄拉克函數的光滑近似來構建 的光滑近似的核心思路了,在這個過程中,對 的形式和連續性都沒有太多限制,比如允許 有可數個間斷點(如取整函數 )。
那么狄拉克函數的光滑近似有哪些呢?現成的也有不少,比如:
或:
簡單來說,就是找一個像正態分布那樣鐘形曲線的非負函數,想辦法讓鐘形的寬度逐漸趨于 0,但保持積分為 1。還有另一個思路是留意到:
也就是說,狄拉克函數的積分是“單位階躍函數” ,如果我們能找到 的光滑近似,那么將它求導就得到狄拉克函數的光滑近似。而 的光滑近似,就是所謂的“S形”曲線了,比如 sigmoid 函數 ,所以我們有:
常用的就是式(4)和式(7)兩個近似。
ReLU激活
現在,我們就以上述思路為工具,推導 ReLU 激活函數 的各種光滑近似。
比如利用式(7),得到:
當 時,這便是 SoftPlus 激活函數。
如果換用式(4),那么結果是:
這個 ReLU 的光滑近似貌似還沒被研究過。
當然,如果僅僅是 ReLU 函數的光滑近似,那么還有更簡單的思路,比如留意到 ,這里的 就是前面提到的單位階躍函數,所以問題可以轉變為求 的光滑近似,我們已經知道 sigmoid 便是其中之一,所以很快得到:
當 時,這便是 Swish 激活函數。而如果用(4)進行計算,那么就得到:
當 時,就是 GeLU 激活函數。
▲ ReLU 函數及其幾個光滑近似的圖像
取整函數
可能讀者覺得還不夠意思,畢竟上面推導出來的都是現成的東西,而且不借助狄拉克函數也能推導出來。現在我們就來補充一個不怎么平凡的例子:取整函數的光滑近似。
取整函數分上取整和下取整兩種,它們定義上有所不同,但是沒有本質區別,這里以下取整為例子,我們記為:
假設 為狄拉克函數的某個光滑近似,那么:
設 的原函數為 ,那么 關于 的原函數就是 ,于是有:
對于 我們有 和 ,所以假設我們關心的范圍滿足 ,那么 和 ,所以此時:
用 作為例子,取 ,結果如下:
▲ 取整函數的光滑近似效果
可以看到,確實與 蠻近似的,增大 能進一步提高近似程度。
文章小結
本文介紹了一種利用狄拉克函數來構造光滑近似的方法,其特點是比較通用,對原函數沒有太嚴格的要求。作為例子,我們利用它導出了 ReLU 函數的各種常見近似以及取整函數的一個光滑近似。
參考文獻
[1] https://kexue.fm/archives/3290
[2] https://kexue.fm/archives/6620
[3] https://arxiv.org/abs/2109.13210
[4] https://kexue.fm/archives/1870
特別鳴謝
感謝 TCCI 天橋腦科學研究院對于 PaperWeekly 的支持。TCCI 關注大腦探知、大腦功能和大腦健康。
更多閱讀
#投 稿?通 道#
?讓你的文字被更多人看到?
如何才能讓更多的優質內容以更短路徑到達讀者群體,縮短讀者尋找優質內容的成本呢?答案就是:你不認識的人。
總有一些你不認識的人,知道你想知道的東西。PaperWeekly 或許可以成為一座橋梁,促使不同背景、不同方向的學者和學術靈感相互碰撞,迸發出更多的可能性。?
PaperWeekly 鼓勵高校實驗室或個人,在我們的平臺上分享各類優質內容,可以是最新論文解讀,也可以是學術熱點剖析、科研心得或競賽經驗講解等。我們的目的只有一個,讓知識真正流動起來。
📝?稿件基本要求:
? 文章確系個人原創作品,未曾在公開渠道發表,如為其他平臺已發表或待發表的文章,請明確標注?
? 稿件建議以?markdown?格式撰寫,文中配圖以附件形式發送,要求圖片清晰,無版權問題
? PaperWeekly 尊重原作者署名權,并將為每篇被采納的原創首發稿件,提供業內具有競爭力稿酬,具體依據文章閱讀量和文章質量階梯制結算
📬?投稿通道:
? 投稿郵箱:hr@paperweekly.site?
? 來稿請備注即時聯系方式(微信),以便我們在稿件選用的第一時間聯系作者
? 您也可以直接添加小編微信(pwbot02)快速投稿,備注:姓名-投稿
△長按添加PaperWeekly小編
🔍
現在,在「知乎」也能找到我們了
進入知乎首頁搜索「PaperWeekly」
點擊「關注」訂閱我們的專欄吧
·
總結
以上是生活随笔為你收集整理的用狄拉克函数来构造非光滑函数的光滑近似的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: EMNLP 2021 | PairSup
- 下一篇: china50什么意思