首页 > 解决方案 > 周期性激活函数

问题描述

为什么像 sin(x)、cos(x) 这样的周期函数在神经网络中不用作激活函数?

relu = max(0, f(x)) is used

f(x) = sin(x) is not used

标签: machine-learningneural-networkactivation-function

解决方案


从我的角度来看,问题是这些函数为许多输入提供相同的输出,如果神经元获得输入 0,1 输出将与

0,1 + 2kpi

所以你的神经元会对大范围的输入值做出完全相同的反应。普通的 relu 剪辑负值,仅此而已。Sigmoid 或双曲正切剪裁了大值和小值,但 sin 或 cosine 为您提供了 0,1 的值;0,1 + 2pi;0,1 + 4pi 和 0,5 完全不同的东西;0,5 + 2pi;0,5 + 4pi...

如果神经元饱和并且值大或小以一些常数响应是有道理的,但是认为神经元对 pi/2 和 999 + pi/2 的响应相同对我来说似乎很糟糕,因为下一层的神经元也会将这些结果视为相同,但来源完全不同(pi/2 vs 999 + pi/2)。


推荐阅读