B站视频地址: 【戳我】
课件地址: 【戳我】
SELU论文地址:【Self-Normalizing Neural Networks】.
1. ReLu 变体
- Leaky ReLU
- Parametric ReLU
- Exponential Linear
2 SELU
- 形式
其中超参 α
和 λ
的值是 证明得到 的(而非训练学习得到):
α = 1.6732632423543772848170429916717
λ = 1.0507009873554804934193349852946
- 特点
即:
-
不存在死区
-
存在饱和区(负无穷时, 趋于 -
αλ
) -
输入大于零时,激活输出对输入进行了放大
-
证明
记输入 [ a1..ak...aK]
各维独立同分布, 每一维的分布均值为零,方差为 1
, 注意: 该分部不一定是高斯分布,只需满足均值为零,方差为 1
即可。
我们的目标是: 寻找一个激活函数,使得神经元输出的激活值 a
也满足均值为零,方差为 1
.
根据 ppt
得出一个不严谨的观察:为了满足输出 a
符合 均值为 0
, 标准差为 1
, 权重向量 [w1, w2,...wk, wK]
需满足均值为 0
, 标准差为 1/K
.
3、tensorflow 实现
def selu(x):
with ops.name_scope('elu') as scope:
alpha = 1.6732632423543772848170429916717
scale = 1.0507009873554804934193349852946
return scale*tf.where(x>=0.0, x, alpha*tf.nn.elu(x))