建模之常见激活函数(Keras,tf2)

序号激活函数表达式优点缺点Kerastf2
1sigmoid y = 1 1 + e − x = tanh ( x / 2 ) + 1 2 y=\frac{1}{1+e^{-x}}=\frac{\text{tanh}(x/2)+1}{2} y=1+ex1=2tanh(x/2)+1属于 ( 0 , 1 ) (0, 1) (0,1),即指定区间,又属于累计概率范围指数计算成本不低;梯度弥散&爆炸keras.activations.sigmoidtf.nn.sigmoid
2elu(指数线性单元) y = x i f x > 0 e l s e α × ( e x − 1 ) y=x \quad if \quad x \gt 0 \quad else \quad \alpha \times (e^x - 1) y=xifx>0elseα×(ex1)避免梯度弥散;能得到负值输出计算成本高;无法避免梯度爆炸;分段函数且线性(导数常值)keras.activations.elutf.nn.elu
3selu(扩展型指数线性单元) y = λ × x i f x > 0 e l s e λ × α × ( e x − 1 ) y=\lambda \times x \quad if \quad x \gt 0 \quad else \quad \lambda \times \alpha \times (e^x - 1) y=λ×xifx>0elseλ×α×(ex1)避免梯度弥散和爆炸新激活函数keras.activations.selutf.nn.selu
4softplus y = log ( e x + 1 ) y=\text{log}(e^x + 1) y=log(ex+1)避免梯度弥散计算成本高;不能避免梯度爆炸keras.activations.softplustf.nn.softplus
5softsign y = x ∣ x ∣ + 1 y=\frac{x}{\mid x \mid + 1} y=x+1x计算成本低梯度弥散keras.activations.softsigntf.nn.softsign
6ReLU(修正线性单元) y = maximum ( x , 0 ) y=\text{maximum}(x, 0) y=maximum(x,0)计算成本低存在梯度为0的情况;
不能避免梯度爆炸
keras.activations.relutf.nn.relu
7tanh y = tanh ( x ) y=\text{tanh}(x) y=tanh(x)输出值y以0为中心梯度弥散&爆炸keras.activations.tanhtf.nn.tanh
8softmaxsigmoid的多分类形式keras.activations.softmaxtf.nn.softmax
9hard_sigmoid y = clip ( x + 1 2 , 0 , 1 ) = maximum ( 0 , min ( 1 , x + 1 2 ) ) y=\text{clip}(\frac{x+1}{2}, 0, 1) = \text{maximum}(0, \text{min}(1, \frac{x+1}{2})) y=clip(2x+1,0,1)=maximum(0,min(1,2x+1))速度比 sigmoid 激活函数更快keras.activations.hard_sigmoid
10exponential y = e x y=e^x y=ex计算成本高keras.activations.exponential
11linear y = x y=x y=x输出等于输入计算成本低keras.activations.linear
12Leaky ReLU(渗漏型修正线性单元) y = maximum ( α × x , x ) y=\text{maximum}(\alpha \times x, x) y=maximum(α×x,x)避免梯度弥散;速度快(计算成本低)分段函数且线性(导数常值);梯度爆炸keras.layers.advanced_activations.LeakyReLU()tf.nn.leaky_relu
13GELU y = 0.5 × x × ( 1 + tanh ( 2 / π × ( x + 0.044715 × x 3 ) ) ) y=0.5 \times x \times (1 + \text{tanh}(\sqrt{2 / \pi} \times(x + 0.044715 \times x^3))) y=0.5×x×(1+tanh(2/π ×(x+0.044715×x3)))似乎是 NLP 领域的当前最佳;尤其在 Transformer 模型中表现最好;避免梯度消失新激活函数
14Swish y = x 1 + e − x y=\frac{x}{1 + e^{-x}} y=1+exx输出可能下降,即使在输入值增大的情况下新函数
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值