激活函数篇——Relu、Leaky ReLU、SiLU(对比计算量、内存)

今天在优化模型时,发现激活函数对计算量影响还是蛮大的,特地分析下LU系列常用的激活函数之间的区别
在深度学习领域,激活函数是神经网络中不可或缺的组成部分。它们为模型引入非线性特性,使得神经网络能够学习和模拟复杂的函数映射。

ReLU

  • ReLU(Rectified Linear Unit)因其计算简单、ReLU 在很多情况下表现较好,但它可能会导致“神经元死亡”(即 ReLU 激活后的输出恒为0),特别是在初始化不当或学习率过大的情况下
    在这里插入图片描述

Leaky ReLU

  • Leaky ReLU可以缓解 ReLU 的一些问题,通过允许负值部分避免神经元完全“死掉”。通常取值为0.01
    在这里插入图片描述

SiLU

  • SiLU(Sigmoid Linear Unit)近年来提出的激活函数,表现出在一些任务中相较于ReLU更好的性能,尤其在深层网络中更为有效
  • 适用于网络较深、任务较复杂时使用
    在这里插入图片描述

相同层不同激活函数对比(MACs、Memory)

  • Relu
    在这里插入图片描述
    在这里插入图片描述
  • SiLU
    在这里插入图片描述
    在这里插入图片描述
  • Leaky ReLU
    在这里插入图片描述
  • 论文中SiLU和ReLU曲线对比和其导数
    在这里插入图片描述

总结

可以看到激活函数在计算量上影响还是很大的,因为每一次卷积都会跟随一次激活函数,多次使用对整体的计算量、内存都会提升。具体如何选择我认为还是要通过实验来衡量速度与精度。

  • ReLU缺点:当权重更新导致节点输出始终小于0时,该节点的梯度为零,不会再更新,导致网络部分神经元失效,所有负输入直接被置为 0,可能丢失一些重要信息
  • Leaky ReLU缺点:引入了超参数 𝛼,需要手动调整其值(默认一般是 0.01),可能导致不稳定性。计算复杂度略高:相比 ReLU,多了一些系数乘法操作,但仍然较高效
  • SiLU缺点:引入了 sigmoid 函数,导致计算复杂度较高。由于公式的复杂性和非单调性,不容易直观理解其输出对学习的影响。
    在这里插入图片描述
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值