激活函数的用法
激活函数可以通过设置单独的激活层实现,也可以在构造层对象时通过传递activation
参数实现
from keras.layers import Activation, Dense
model.add(Dense(64))
model.add(Activation('tanh'))
等价于
model.add(Dense(64, activation='tanh'))
你也可以通过传递一个逐元素运算的Theano/TensorFlow/CNTK函数来作为激活函数:
from keras import backend as K
model.add(Dense(64, activation=K.tanh))
model.add(Activation(K.tanh))
预定义激活函数
softmax
softmax(x, axis=-1)
Softmax 激活函数.
Arguments
x : 张量.
- axis: 整数, 代表softmax所作用的维度
Returns
softmax变换后的张量.
Raises
- ValueError: In case
dim(x) == 1
.
elu
elu(x, alpha=1.0)
selu
selu(x)
可伸缩的指数线性单元 (Klambauer et al., 2017)。
Arguments
- x: 一个用来用于计算激活函数的张量或变量。
Returns
与x
具有相同类型及形状的张量。
Note
- 与 “lecun_normal” 初始化方法一起使用。
- 与 dropout 的变种 “AlphaDropout” 一起使用。
References
softplus
softplus(x)
softsign
softsign(x)
relu
relu(x, alpha=0.0, max_value=None)
tanh
tanh(x)
sigmoid
sigmoid(x)
hard_sigmoid
hard_sigmoid(x)
linear
linear(x)
高级激活函数
对于Theano/TensorFlow/CNTK不能表达的复杂激活函数,如含有可学习参数的激活函数,可通过高级激活函数实现,如PReLU,LeakyReLU等