【发布时间】:2020-06-20 11:32:28
【问题描述】:
为什么像 sin(x)、cos(x) 这样的周期函数在神经网络中不用作激活函数?
relu = max(0, f(x)) is used
但是
f(x) = sin(x) is not used
【问题讨论】:
标签: machine-learning neural-network activation-function
为什么像 sin(x)、cos(x) 这样的周期函数在神经网络中不用作激活函数?
relu = max(0, f(x)) is used
但是
f(x) = sin(x) is not used
【问题讨论】:
标签: machine-learning neural-network activation-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)。
【讨论】: