【激活函数】SELU 激活函数

 1、介绍

        SELU (Scaled Exponential Linear Unit) SELU是对ELU激活函数的改进,通过引入自动标准化机制,使得神经网络的隐藏层在训练过程中可以自动地保持输出的均值和方差接近于1。

# 定义 SELU 激活函数
def selu(x, alpha=1.67326, lambda_=1.0507):
    return lambda_ * torch.where(x > 0, x, alpha * (torch.exp(x) - 1))

2、公式

$f(x)=\lambda \cdot\left\{\begin{array}{ll}x & \text { if } x>0 \\ \alpha \cdot\left(e^x-1\right) & \text { if } x \leq 0\end{array}\right.$

其中,\lambda\alpha 是两个常数,通常设置为:

\lambda = 1.0507 和 \alpha = 1.67326

3、图像

4、特点 

  • 自归一化:SELU激活函数引入了自标准化机制,使得神经网络的输出在训练过程中保持均值和方差接近于1。这有助于解决神经网络中的梯度爆炸和梯度消失问题,从而使得深层网络更容易训练。

  • 适用范围: SELU对于输入的取值范围有一定的要求,通常在应用SELU时需要对输入进行归一化。       

  • 激活范围:SELU激活函数在输入为负数时具有指数增长,而在输入为正数时近似于线性。这种非线性特性使得SELU在某些情况下比ReLU等激活函数表现更好。

需要注意的是,SELU 激活函数在某些情况下可能并不适用于所有任务和网络结构。在使用 SELU时,还需要注意初始化参数的设置,因为它对于网络的输出分布有严格的要求。如果不合适地使用SELU,可能会导致网络输出的均值和方差不稳定,从而影响模型的性能。

论文链接:

[1706.02515] Self-Normalizing Neural Networks (arxiv.org)

更多深度学习内容请翻阅本人主页,下列是快速链接:

【激活函数】深度学习中你必须了解的几种激活函数 Sigmoid、Tanh、ReLU、LeakyReLU 和 ELU 激活函数(2024最新整理)-CSDN博客

  • 6
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值