激活函数的用法

激活函数可以通过设置单独的激活层实现,也可以在构造层对象时通过传递activation参数实现

  1. from keras.layers import Activation, Dense
  2. model.add(Dense(64))
  3. model.add(Activation('tanh'))

等价于

  1. model.add(Dense(64, activation='tanh'))

你也可以通过传递一个逐元素运算的Theano/TensorFlow/CNTK函数来作为激活函数:

  1. from keras import backend as K
  2. model.add(Dense(64, activation=K.tanh))
  3. model.add(Activation(K.tanh))

预定义激活函数

softmax

  1. softmax(x, axis=-1)

Softmax 激活函数.

Arguments

x : 张量.

  • axis: 整数, 代表softmax所作用的维度

Returns

softmax变换后的张量.

Raises

  • ValueError: In case dim(x) == 1.

elu

  1. elu(x, alpha=1.0)

selu

  1. selu(x)

可伸缩的指数线性单元 (Klambauer et al., 2017)。

Arguments

  • x: 一个用来用于计算激活函数的张量或变量。

Returns

x具有相同类型及形状的张量。

Note

  • 与 “lecun_normal” 初始化方法一起使用。
  • 与 dropout 的变种 “AlphaDropout” 一起使用。

References


softplus

  1. softplus(x)

softsign

  1. softsign(x)

relu

  1. relu(x, alpha=0.0, max_value=None)

tanh

  1. tanh(x)

sigmoid

  1. sigmoid(x)

hard_sigmoid

  1. hard_sigmoid(x)

linear

  1. linear(x)

高级激活函数

对于Theano/TensorFlow/CNTK不能表达的复杂激活函数,如含有可学习参数的激活函数,可通过高级激活函数实现,如PReLU,LeakyReLU等