2025年sigmod激活函数(sigmod激活函数的导数)

sigmod激活函数(sigmod激活函数的导数)YOLO v4 中用到的激活函数是 Mish 激活函数 在 YOLO v4 中被提及的激活函数有 ReLU Leaky ReLU PReLU ReLU6 SELU Swish Mish 其中 Leaky ReLU PReLU 难以训练 ReLU6 转为量化网络设计 激活函数使用过程图 函数表达式 Sigmoid 函数图像及其导数图像 优点 是一个便于求导的平滑函数 能压缩数据

大家好,我是讯享网,很高兴认识大家。



relu作为激活函数梯度为1_YOLO v4
讯享网

函数表达式:

relu作为激活函数梯度为1_激活函数_02

relu作为激活函数梯度为1_YOLO v4_03

优点:

  1. 是一个便于求导的平滑函数;
  2. 能压缩数据,使输出保证在relu作为激活函数梯度为1_激活函数_04之间(相当于对输出做了归一化),保证数据幅度不会有问题;(有上下界)
  3. 适合用于前向传播,但是不利于反向传播。

缺点:

  1. 容易出现梯度消失(gradient vanishing),不利于权重更新;
  2. 不是0均值(zero-centered)的,这会导致后层的神经元的输入是非0均值的信号,这会对梯度产生影响。以 f=sigmoid(wx+b)为例, 假设输入均为正数(或负数),那么对w的导数总是正数(或负数),这样在反向传播过程中要么都往正方向更新,要么都往负方向更新,导致有一种捆绑效果,使得收敛缓慢。
  3. 指数运算,相对耗时。

hard-Sigmoid函数时Sigmoid激活函数的分段线性近似。

函数公式:

relu作为激活函数梯度为1_函数表达式_05

relu作为激活函数梯度为1_激活函数_06

relu作为激活函数梯度为1_目标检测_07

优点:

  1. 从公示和曲线上来看,其更易计算,没有指数运算,因此会提高训练的效率。

缺点:

  1. 首次派生值为零可能会导致神经元died或者过慢的学习率。

函数表达式:

relu作为激活函数梯度为1_目标检测_08

Tanh函数图像及其导函数图像:

relu作为激活函数梯度为1_目标检测_09

优点:

  1. 解决了Sigmoid函数的非zero-centered问题
  2. 能压缩数据,使输出保证在relu作为激活函数梯度为1_激活函数_04之间(相当于对输出做了归一化),保证数据幅度不会有问题;(有上下界)

缺点:

  1. 还是容易出现梯度消失(gradient vanishing),不利于权重更新;
  2. 指数运算,相对耗时。

函数表达式:

relu作为激活函数梯度为1_目标检测_11

relu作为激活函数梯度为1_relu作为激活函数梯度为1_12

优点:

  1. ReLu的收敛速度比 sigmoid 和 tanh 快;
  2. 输入为正时,解决了梯度消失的问题,适合用于反向传播。;
  3. 计算复杂度低,不需要进行指数运算;

缺点:

  1. ReLU的输出不是zero-centered;
  2. ReLU不会对数据做幅度压缩,所以数据的幅度会随着模型层数的增加不断扩张。(有下界无上界)
  3. Dead ReLU Problem(神经元坏死现象):x为负数时,梯度都是0,这些神经元可能永远不会被激活,导致相应参数永远不会被更新。(输入为负时,函数存在梯度消失的现象)

函数表达式:

relu作为激活函数梯度为1_relu作为激活函数梯度为1_13

relu作为激活函数梯度为1_函数表达式_14

relu作为激活函数梯度为1_目标检测_15

函数表达式:

relu作为激活函数梯度为1_relu作为激活函数梯度为1_16

relu作为激活函数梯度为1_YOLO v4_17

relu作为激活函数梯度为1_激活函数_18

relu作为激活函数梯度为1_函数表达式_19

  1. 解决上述的dead ReLU现象, 让负数区域也会梯度消失;

理论上Leaky ReLU 是优于ReLU的,但是实际操作中,并不一定。

函数公式:

relu作为激活函数梯度为1_目标检测_20

注意:

  • relu作为激活函数梯度为1_函数表达式_21, relu作为激活函数梯度为1_目标检测_22变为ReLU
  • relu作为激活函数梯度为1_YOLO v4_23, relu作为激活函数梯度为1_目标检测_22变为Leaky ReLU
  • relu作为激活函数梯度为1_激活函数_25是可学习的参数, relu作为激活函数梯度为1_目标检测_22变为PReLU

relu作为激活函数梯度为1_YOLO v4_27

  1. 可以避免dead ReLU现象;
  2. 与ELU相比,输入为负数时不会出现梯度消失。

函数表达式:

relu作为激活函数梯度为1_目标检测_28

ELU函数图像及其导数图像(relu作为激活函数梯度为1_激活函数_29):

relu作为激活函数梯度为1_目标检测_30

优点:

  1. 有ReLU的所有优点,且没有Dead ReLU Problem(神经元坏死现象);
  2. 输出是zero-centered的,输出平均值接近0;
  3. 通过减少偏置偏移的影响,使正常梯度更加接近自然梯度,从而使均值向0加速学习。

缺点:

  1. 计算量更高了。

理论上ELU优于ReLU, 但是真实数据下,并不一定。

SELU就是在ELU的基础上添加了一个relu作为激活函数梯度为1_YOLO v4_31参数,且relu作为激活函数梯度为1_函数表达式_32

函数表达式:

relu作为激活函数梯度为1_relu作为激活函数梯度为1_33

ELU函数图像和SELU函数图像对比(relu作为激活函数梯度为1_目标检测_34):

relu作为激活函数梯度为1_函数表达式_35

SELU函数图像及其导数图像(relu作为激活函数梯度为1_目标检测_34):

relu作为激活函数梯度为1_激活函数_37

  1. 以前的ReLU、P-ReLU、ELU等激活函数都是在负半轴坡度平缓,这样在激活的方差过大时可以让梯度减小,防止了梯度爆炸,但是在正半轴其梯度简答的设置为了1。而SELU的正半轴大于1,在方差过小的时候可以让它增大,但是同时防止了梯度消失。这样激活函数就有了一个不动点,网络深了之后每一层的输出都是均值为0,方差为1.

函数表达式:

relu作为激活函数梯度为1_YOLO v4_38

Swish函数图像(relu作为激活函数梯度为1_函数表达式_39):

relu作为激活函数梯度为1_relu作为激活函数梯度为1_40

Swish函数梯度图像(relu作为激活函数梯度为1_函数表达式_39):

relu作为激活函数梯度为1_函数表达式_42

优点:

  1. 在x > 0的时候,同样是不存在梯度消失的情况;而在x < 0时候,神经元也不会像ReLU一样出现死亡的情况。
  2. 同时Swish相比于ReLU导数不是一成不变的,这也是一种优势。
  3. 而且Swish处处可导,连续光滑。

缺点:

  1. 计算量大,本来sigmoid函数就不容易计算,它比sigmoid还难。

hard = 硬,就是让图像在整体上没那么光滑(从下面两个图都可以看出来)

函数表达式:

relu作为激活函数梯度为1_激活函数_43

hard-Swish函数图像和Swish(relu作为激活函数梯度为1_目标检测_44)函数图像对比:

relu作为激活函数梯度为1_函数表达式_45

hard-Swish函数图像和Swish(relu作为激活函数梯度为1_目标检测_44)函数梯度图像对比:

relu作为激活函数梯度为1_函数表达式_47

  1. hard-Swish近似达到了Swish的效果;
  2. 且改善了Swish的计算量过大的问题,在量化模式下,ReLU函数相比Sigmoid好算太多了;

论文地址:

https://arxiv.org/pdf/1908.08681.pdf

关于激活函数改进的最新一篇文章,且被广泛用于YOLO4中,相比Swish有0.494%的提升,相比ReLU有1.671%的提升。

Mish函数公式:

relu作为激活函数梯度为1_relu作为激活函数梯度为1_48

Mish函数图像和Swish(relu作为激活函数梯度为1_目标检测_44)函数图像对比:

relu作为激活函数梯度为1_激活函数_50

Mish函数图像和Swish(relu作为激活函数梯度为1_目标检测_44)函数导数图像对比:

relu作为激活函数梯度为1_relu作为激活函数梯度为1_52

relu作为激活函数梯度为1_激活函数_53

小讯
上一篇 2025-06-07 09:59
下一篇 2025-05-24 16:29

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/165305.html