问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

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

创作时间:
作者:
@小白创作中心

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

引用
CSDN
1.
https://blog.csdn.net/qq_40938217/article/details/145026736

在深度学习模型优化过程中,激活函数的选择对计算效率和模型性能有着重要影响。本文将从计算量和内存使用角度,对比分析三种常用的激活函数:ReLU、Leaky ReLU和SiLU,帮助读者更好地理解它们的优缺点和适用场景。

在深度学习领域,激活函数是神经网络中不可或缺的组成部分。它们为模型引入非线性特性,使得神经网络能够学习和模拟复杂的函数映射。

ReLU

ReLU(Rectified Linear Unit)因其计算简单、在很多情况下表现较好而被广泛使用。但是,它可能会导致“神经元死亡”(即 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 函数,导致计算复杂度较高。由于公式的复杂性和非单调性,不容易直观理解其输出对学习的影响。
© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号