激活函数Activations
激活函数可以通过设置单独的激活层实现,也可以在构造层对象时通过传递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
def tanh(x):
return K.tanh(x)
model.add(Dense(64, activation=tanh))
model.add(Activation(tanh))
预定义激活函数
-
softmax:对输入数据的最后一维进行softmax,输入数据应形如
(nb_samples, nb_timesteps, nb_dims)
或(nb_samples,nb_dims)
-
elu
-
selu: 可伸缩的指数线性单元(Scaled Exponential Linear Unit),参考Self-Normalizing Neural Networks
-
softplus
-
softsign
-
relu
-
tanh
-
sigmoid
-
hard_sigmoid
-
linear
高级激活函数
对于简单的Theano/TensorFlow/CNTK不能表达的复杂激活函数,如含有可学习参数的激活函数,可通过高级激活函数实现,如PReLU,LeakyReLU等
艾伯特(http://www.aibbt.com/)国内第一家人工智能门户