tanh函数在一些语言中可以进行优化,使其比自定义的x/(1+abs(x))更快,这在Julia中是这样的情况。
你也可以使用这个:
y=x / (2 * ((x<0.0)*-x+(x>=0.0)*x) + 2) + 0.5;
y'=y(1-y);
现在的行为类似于Sigmoid函数,因为y(1-y)=y'比1/(2 (1 + abs(x))^2)更加圆滑,更像是快速Sigmoid函数。
我认为你无法比内置的exp()函数更好,但如果你想尝试另一种方法,可以使用级数展开。WolframAlpha可以为您计算。