yolov4 darknet 源码学习笔记(七) 激活函数公式汇总

darknet中的激活函数公式

在darknet.h的105行,ACTIVATION枚举了darknet中的激活函数名称

// activations.h
typedef enum {
    LOGISTIC, RELU, RELU6, RELIE, LINEAR, RAMP, TANH, PLSE, LEAKY, ELU, LOGGY, STAIR, HARDTAN, LHTAN, SELU, SWISH, MISH, NORM_CHAN, NORM_CHAN_SOFTMAX, NORM_CHAN_SOFTMAX_MAXVAL
}ACTIVATION;

1.Logistic

y=\frac{1}{1+e^{-x}}

2. relu

y=x*(x>0)

3.relu6

y=min(max(x,0),6)

4.relie

y=(x>0)*x+(x<=0)*0.01*x

5.linear

y=x

6.ramp

y=(x>0)*x+0.1*x

7.tanh

y=\frac{2}{1+e^{(-2*x)})}-1

8.plse

y=(x>4)*(0.01*(x-4)+1) + (x<-4)*(0.01*(x+4)) + (-4<=x<=4)*(0.123*x+0.5)

9.leaky

y=(x>0)*x+(x<=0)*0.1*x

10.elu

y=(x>=0)*x+(x<0)*(e^{x}-1)

11.loggy

y=\frac{2}{1+e^{-x}}-1

12.stair

y=(floor(x)%2==0)*floor(\frac{x}{2})+(floor(x)%2!=0)*((x-floor(x))+floor(\frac{x}{2}))

13.hardtan

y=(x>=1)*1+(x<-1)*(-1)

14.lhtan

y=(x>1)*(0.001*(x-1)+1)+(x<0)*(0.001*x)+(0<=x<=1)*x

15.selu

y=(x>=0)*1.0507*x+(x<0)*1.0507*1.6732*(e^{x}-1)

16.swish

https://arxiv.org/abs/1710.05941v1

y=x*sigmoid(\beta *x)

\beta \rightarrow 0时,​y\rightarrow \frac{x}{2},相当于线性激活函数;

\beta \rightarrow +\infty时,y\rightarrow x,当\beta \rightarrow -\infty时,y\rightarrow 0,相当于Relu。
因此Swish函数可以看作是介于线性函数与ReLU函数之间的平滑函数。Swish相比于relu有一个精度上的提升

17.mish

y=x*tanh(ln(1+e^{x}))

18.hardswish(yolov5-3.0中使用)

https://arxiv.org/abs/1905.02244

y=x*\frac{ReLU6(x+3)}{6}

hardswish基于ReLU6,因此软硬件、量化支持性好

在做模型量化时,可以将hardswish改写成relu6

19.silu(yolov5-4.0和5.0使用)

https://arxiv.org/abs/1702.03118

y=x*sigmoid(x)

等价于\beta =1时的swish

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: MATLAB是一种功能强大的数学计算软件,支持深度学习和计算机视觉开发。而YOLOv4是一种在计算机视觉领域被广泛使用的目标检测算法,并且是当前性能最好的目标检测算法之一。而Darknet则是一个由YOLOv4作者开发的开源深度学习框架,它支持YOLOv4等多种神经网络模型。 在MATLAB中,通过使用深度学习工具箱,可以轻松地训练和测试YOLOv4神经网络模型。此外,MATLAB还提供了很多辅助工具,如数据分析、图像预处理、图像增强等,这些工具可以帮助用户更好地处理图像数据,提高模型的精度和效率。此外,MATLAB还支持可视化工具,以便用户更直观地了解模型的性能和结果。 使用Darknet可以轻松地搭建YOLOv4神经网络模型,并进行训练和部署。Darknet提供了可视化工具来检查神经网络结构和各种层的输出,这有助于用户理解模型和以更好的方式进行训练和优化。此外,Darknet还提供了广泛的文档和示例代码,使用户可以逐步了解如何使用这个框架来进行深度学习开发。 总之,MATLAB和Darknet都是非常强大的工具,可以帮助用户轻松地开发和优化YOLOv4模型。通过结合这两个工具,可以实现更高效、准确和稳定的目标检测功能。 ### 回答2: Matlab YOLOv4 Darknet是基于深度学习的目标检测算法和工具,可用于图像分析和计算机视觉应用。该工具基于循环神经网络实现的YOLOv4模型和开源神经网络框架Darknet,可以检测和识别多个物体类型,包括人、车、动物、建筑物等。与传统的目标检测算法相比,YOLOv4具有更高的准确性和速度,对于大规模数据和复杂场景的处理效果更加优秀。 Matlab YOLOv4 Darknet不仅提供了基于预训练模型的目标检测功能,还支持用户自定义数据集和模型训练。用户可以通过提供图像数据集和标注信息,进行训练模型并优化模型参数,以满足特定应用场景的要求。此外,Matlab YOLOv4 Darknet还具备可视化功能,可以直观地展示神经网络的结构、模型训练和测试结果等。 总之,Matlab YOLOv4 Darknet是一种功能强大的目标检测工具,可以满足研究、开发和生产等不同领域的需求。它的应用范围包括智能交通、安防监控、医学影像等多个行业,对于提高数据处理和视觉分析的可靠性和效率有着重要作用。 ### 回答3: Yolov4是一种基于深度学习技术的目标检测算法,它能够快速且准确地识别图像中的不同物体,并对它们进行分类。同时,利用深度卷积神经网络的优点,Yolov4能够处理复杂的图像场景,完成精准的目标检测任务。 在实现Yolov4算法时,Matlab和Darknet是两个常用的工具。Matlab是一种面向科学计算的高级编程语言,拥有强大的图像处理和深度学习库,可以快速开发复杂的算法。Darknet则是一个轻量级的深度学习框架,适用于处理大量的图像数据,具有优秀的性能和高效的计算速度。 使用Matlab和Darknet来实现Yolov4算法能够带来多方面的好处。这两个工具都拥有许多可用的函数和库,可以快速构建和训练深度卷积神经网络。Matlab还可以通过可视化的方式来展示算法的结果和性能,帮助用户更好地理解和分析数据。而Darknet则具有高效的并行计算能力,可以处理大量的图像数据,适用于需要高效处理数据的场景。 总之,使用Matlab和Darknet来实现Yolov4算法是一种高效且准确的方式,可以支持大量的图像处理和深度学习任务,并能够在不同的场景中获得优秀的性能表现。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值