我正在尝试在Keras中实现以下激活功能: custom activation function
这是我的代码:
from keras import backend as K
def melu(x):
alpha = 0.49
a =1-2*alpha; b =-2+(1/alpha)
return K.switch(K.greater(x,0),
((0.5*K.pow(x,2))+(a*x))/(x+b),
(alpha*K.exp(x))-1)
我的网络解决了回归问题,它分为4层:输入层,2个使用自定义激活功能的隐藏层和最终输出层。它接受5个输入参数并返回1个值。
网络的损失函数是MSE,优化器是Adam。
我的问题是,在训练网络时,我会得到NaN损失值。我激活功能的实现一定有问题,因为当我使用其他激活功能时,我会得到结果。
对此非常感谢!