6.9 高级激活层 Advanced Activations Layers
LeakyReLU
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。负斜率系数。
参考文献
PReLU
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]
。
参考文献
ELU
keras.layers.ELU(alpha=1.0)
指数线性单元。
形式: f(x) = alpha * (exp(x) - 1.) for x < 0
, f(x) = x for x >= 0
.
输入尺寸
可以是任意的。如果将这一层作为模型的第一层, 则需要指定 input_shape
参数 (整数元组,不包含样本数量的维度)。
输出尺寸
与输入相同。
参数
- alpha: 负因子的尺度。
参考文献
ThresholdedReLU
keras.layers.ThresholdedReLU(theta=1.0)
带阈值的修正线性单元。
形式: f(x) = x for x > theta
, f(x) = 0 otherwise
.
输入尺寸
可以是任意的。如果将这一层作为模型的第一层, 则需要指定 input_shape
参数 (整数元组,不包含样本数量的维度)。
输出尺寸
与输入相同。
参数
- theta: float >= 0。激活的阈值位。
参考文献
Softmax
keras.layers.Softmax(axis=-1)
Softmax 激活函数。
输入尺寸
可以是任意的。如果将这一层作为模型的第一层, 则需要指定 input_shape
参数 (整数元组,不包含样本数量的维度)。
输出尺寸
与输入相同。
参数
- axis: 整数,应用 softmax 标准化的轴。
ReLU
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" 的阈值。