YOLOv5-4.0-activations.py 源代码导读(激活函数)

本文深入解读YOLOv5目标检测算法4.0版本中使用的激活函数,包括Sigmoid、Swish、ReLU系列、Hard-swish以及Mish函数。通过介绍它们的数学表达式和导数,帮助理解这些函数在神经网络中的作用。此外,详细解析了源代码utils/activations.py中对应的实现类。
摘要由CSDN通过智能技术生成

YOLOv5介绍

YOLOv5为兼顾速度与性能的目标检测算法。笔者将在近期更新一系列YOLOv5的代码导读博客。YOLOv5为2021.1.5日发布的4.0版本。
YOLOv5开源项目github网址
源代码导读汇总网址
本博客导读的代码为utils文件夹下的activations.py最后更新日期为2021.1.7

激活函数-数学表达

首先介绍YOLOv5激活函数中涉及到的函数其具体形式:
Sigmoid激活函数:
S i g m o i d ( x ) = 1 1 + e − x = e x e x + 1 Sigmoid(x) = \frac{1}{1+e^{-x} } = \frac{e^{x}}{e^{x}+1 } Sigmoid(x)=1+ex1=ex+1ex
Swish激活函数:
S w i s h ( x ) = x 1 + e − β x Swish(x) = \frac{x}{1+e^{-\beta x}} Swish(x)=1+eβxx
ReLU激活函数:
R e L U ( x ) = { x , if  x   >  0 0 , if  x   ≤  0 = m a x ( 0 , x ) ReLU(x)= \begin{cases} x, & \text {if $x$ $>$ 0} \\ 0, & \text{if $x$ $\leq$ 0} \end{cases} = max(0,x) ReLU(x)={ x,0,if x > 0if x  0=max(0,x)
ReLU6限制上述函数输出在6以内:
R e L U 6 ( x ) = m i n ( 6 , m a x ( 0 , x ) ) ReLU6(x) = min(6,max(0,x)) ReLU6(x)=min(6,max(0,x))
Hard-swish激活函数:
H a r d − s w i s h ( x ) = x ∗ R e L U 6 ( x + 3 ) 6 Hard-swish(x) = \frac{x \ast ReLU6(x+3)}{6 } Hardswish(x)

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值