目录
预定义激活函数
softmax
elu
selu
softplus
softsign
relu
tanh
sigmoid
hard_sigmoid
exponential
linear
高级激活函数
LeakyReLU
PReLU
ELU
ThresholdedReLU
Softmax
ReLU
keras.activations.softmax(x, axis=-1)
Softmax 激活函数。
参数
x:张量。
axis:整数,代表softmax所作用的维度。
返回
softmax 变换后的张量。
异常
ValueError:如果 dim(x) == 1。
keras.activations.elu(x, alpha=1.0)
指数线性单元。
参数
x:张量。
alpha:一个标量,表示负数部分的斜率。
返回
线性指数激活:如果 x > 0,返回值为 x;如果 x < 0 返回值为 alpha * (exp(x)-1)
参考文献
Fast and Accurate Deep Network Learning by Exponential Linear Units (ELUs)
keras.activations.selu(x)
可伸缩的指数线性单元(SELU)。
SELU 等同于:scale * elu(x, alpha)
,其中 alpha 和 scale 是预定义的常量。只要正确初始化权重(参见 lecun_normal
初始化方法)并且输入的数量「足够大」(参见参考文献获得更多信息),选择合适的 alpha 和 scale 的值,就可以在两个连续层之间保留输入的均值和方差。
参数
x: 一个用来用于计算激活函数的张量或变量。
返回
可伸缩的指数线性激活:scale * elu(x, alpha)。
注意
与「lecun_normal」初始化方法一起使用。
与 dropout 的变种「AlphaDropout」一起使用。
参考文献
Self-Normalizing Neural Networks
keras.activations.softplus(x)
Softplus 激活函数。
参数
x: 张量。
返回
Softplus 激活:log(exp(x) + 1)。
keras.activations.softsign(x)
Softsign 激活函数。
参数
x: 张量。
返回
Softsign 激活:x / (abs(x) + 1)。
keras.activations.relu(x, alpha=0.0, max_value=None, threshold=0.0)
整流线性单元。
使用默认值时,它返回逐元素的 max(x, 0)
。
否则,它遵循:
如果 x >= max_value:f(x) = max_value,
如果 threshold <= x < max_value:f(x) = x,
否则:f(x) = alpha * (x - threshold)。
参数
x: 张量。
alpha:负数部分的斜率。默认为 0。
max_value:输出的最大值。
threshold: 浮点数。Thresholded activation 的阈值值。
返回
一个张量。
keras.activations.tanh(x)
双曲正切激活函数。
sigmoid(x)
Sigmoid 激活函数。
hard_sigmoid(x)
Hard sigmoid 激活函数。
计算速度比 sigmoid 激活函数更快。
参数
x: 张量。
返回
Hard sigmoid 激活:
如果 x < -2.5,返回 0。
如果 x > 2.5,返回 1。
如果 -2.5 <= x <= 2.5,返回 0.2 * x + 0.5。
keras.activations.exponential(x)
自然数指数激活函数。
keras.activations.linear(x)
线性激活函数(即不做任何改变)
keras.layers.LeakyReLU(alpha=0.3)
带泄漏的 ReLU。
当神经元未激活时,它仍允许赋予一个很小的梯度: f(x) = alpha * x for x < 0
, f(x) = x for x >= 0
.
输入尺寸
可以是任意的。如果将该层作为模型的第一层, 则需要指定 input_shape 参数 (整数元组,不包含样本数量的维度)。
输出尺寸
与输入相同。
参数
alpha: float >= 0。负斜率系数。
参考文献
Rectifier Nonlinearities Improve Neural Network Acoustic Models
keras.layers.PReLU(alpha_initializer='zeros', alpha_regularizer=None, alpha_constraint=None, shared_axes=None)
参数化的 ReLU。
形式: f(x) = alpha * x for x < 0
, f(x) = x for x >= 0
, 其中 alpha
是一个可学习的数组,尺寸与 x 相同。
输入尺寸
可以是任意的。如果将这一层作为模型的第一层, 则需要指定 input_shape 参数 (整数元组,不包含样本数量的维度)。
输出尺寸
与输入相同。
参数
alpha_initializer: 权重的初始化函数。
alpha_regularizer: 权重的正则化方法。
alpha_constraint: 权重的约束。
shared_axes: 激活函数共享可学习参数的轴。 例如,如果输入特征图来自输出形状为 (batch, height, width, channels) 的 2D 卷积层,而且你希望跨空间共享参数,以便每个滤波器只有一组参数, 可设置 shared_axes=[1, 2]。
参考文献
Delving Deep into Rectifiers: Surpassing Human-Level Performance on ImageNet Classification
keras.layers.ELU(alpha=1.0)
指数线性单元。
形式: f(x) = alpha * (exp(x) - 1.) for x < 0
, f(x) = x for x >= 0
.
输入尺寸
可以是任意的。如果将这一层作为模型的第一层, 则需要指定 input_shape 参数 (整数元组,不包含样本数量的维度)。
输出尺寸
与输入相同。
参数
alpha: 负因子的尺度。
参考文献
Fast and Accurate Deep Network Learning by Exponential Linear Units (ELUs)
keras.layers.ThresholdedReLU(theta=1.0)
带阈值的修正线性单元。
形式: f(x) = x for x > theta
, f(x) = 0 otherwise
.
输入尺寸
可以是任意的。如果将这一层作为模型的第一层, 则需要指定 input_shape 参数 (整数元组,不包含样本数量的维度)。
输出尺寸
与输入相同。
参数
theta: float >= 0。激活的阈值位。
参考文献
Zero-Bias Autoencoders and the Benefits of Co-Adapting Features
keras.layers.Softmax(axis=-1)
Softmax 激活函数。
输入尺寸
可以是任意的。如果将这一层作为模型的第一层, 则需要指定 input_shape 参数 (整数元组,不包含样本数量的维度)。
输出尺寸
与输入相同。
参数
axis: 整数,应用 softmax 标准化的轴。
keras.layers.ReLU(max_value=None, negative_slope=0.0, threshold=0.0)
ReLU 激活函数。
使用默认值时,它返回逐个元素的 max(x
,
0)
。
否则:
如果 x >= max_value,返回 f(x) = max_value,
如果 threshold <= x < max_value,返回 f(x) = x,
否则,返回 f(x) = negative_slope * (x - threshold)。
输入尺寸
可以是任意的。如果将这一层作为模型的第一层, 则需要指定 input_shape 参数 (整数元组,不包含样本数量的维度)。
输出尺寸
与输入相同。
参数
max_value: 浮点数,最大的输出值。
negative_slope: float >= 0. 负斜率系数。
threshold: float。"thresholded activation" 的阈值。