Neural-Networks
能罪(𝑥)罪(X)sin(x)在深度學習中用作激活?
$ \sin(x) $ 似乎以零為中心,這是激活函數的理想屬性。甚至漸變也不會在任何時候消失。我不確定函數的振盪性質或其梯度是否會在反向傳播期間引起任何問題。
這是一篇專門針對這個問題的論文:
Parascandolo 和 Virtanen (2016)。馴服波浪:正弦作為深度神經網絡中的激活函數。
論文中的一些關鍵點:
- 正弦激活函數在很大程度上被忽略了,並且被認為難以訓練。
- 他們回顧了過去使用正弦激活函數的工作。其中大部分是早期的工作(在現代“深度學習”熱潮之前)。但是,最近有幾篇論文。
- 正弦激活函數的周期性會導致局部最小值不佳的“漣漪”成本函數,這可能會使訓練變得困難。
- 當數據由低頻分量(許多現實世界的數據集所預期的)主導時,問題可能不會那麼糟糕。在這種情況下學習更容易,但對網絡參數的初始化方式很敏感。
- 他們表明,具有正弦激活函數的網絡可以在幾個真實世界的數據集上表現得相當好。但是,在訓練之後,網絡並沒有真正使用激活函數的周期性。相反,他們只使用接近零的中心區域,其中正弦曲線幾乎等同於更傳統的 $ \tanh $ 激活函數。
- 他們在一項預計週期性結構會有所幫助的合成任務上訓練循環網絡。網絡學習更快,使用更準確 $ \sin $ 相比 $ \tanh $ 激活函數。但是,vanilla RNN 的差異比 LSTM 大。
這是另一篇相關論文:
Ramachandran, Zoph, Le (2017)。搜索激活函數。
他們對激活函數進行了大規模的自動搜索,以找到表現良好的新變體。他們發現的一些激活函數使用正弦分量(但它們不是純正弦——它們也往往具有單調分量)。這篇論文沒有過多地討論這些變體,只是說它們是一個有趣的未來研究方向。