Я пытаюсь реализовать следующую функцию активации в Keras: пользовательская функция активации
Это мой код:
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, а оптимизатором - Адам.
Моя проблема в том, что при обучении сети я получаю потерю NaNценности.Должно быть, это проблема с моей реализацией функции активации, поскольку при использовании других функций активации я получаю результаты.
Любая помощь по этому вопросу очень ценится!