在 keras 中创建自定义 'non differentiable' 激活函数
Create custom 'non differentiable' activation function in keras
是否可以创建以下形式的自定义激活函数:
def newactivation(x):
if x <= -1:
return -1
elif x > -1 and x <= 1
return x
else :
return 1
所以基本上它是 tanh(x) 的线性化版本。
函数在 -1 和 1 处有两个不可微分的位置是优化过程中的问题吗?
我该如何实现?
这个用clip函数很容易实现:
import keras.backend as K
def activation(x):
return K.clip(x, -1.0, 1.0)
因为梯度永远不会爆炸,所以这应该不是问题,这个函数的形状类似于 ReLU。
是否可以创建以下形式的自定义激活函数:
def newactivation(x):
if x <= -1:
return -1
elif x > -1 and x <= 1
return x
else :
return 1
所以基本上它是 tanh(x) 的线性化版本。
函数在 -1 和 1 处有两个不可微分的位置是优化过程中的问题吗?
我该如何实现?
这个用clip函数很容易实现:
import keras.backend as K
def activation(x):
return K.clip(x, -1.0, 1.0)
因为梯度永远不会爆炸,所以这应该不是问题,这个函数的形状类似于 ReLU。