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
2. relu
3.relu6
4.relie
5.linear
6.ramp
7.tanh
8.plse
9.leaky
10.elu
11.loggy
12.stair
13.hardtan
14.lhtan
15.selu
16.swish
https://arxiv.org/abs/1710.05941v1
当时,
,相当于线性激活函数;
当时,
,当
时,
,相当于Relu。
因此Swish函数可以看作是介于线性函数与ReLU函数之间的平滑函数。Swish相比于relu有一个精度上的提升
17.mish
18.hardswish(yolov5-3.0中使用)
https://arxiv.org/abs/1905.02244
hardswish基于ReLU6,因此软硬件、量化支持性好
在做模型量化时,可以将hardswish改写成relu6
19.silu(yolov5-4.0和5.0使用)
https://arxiv.org/abs/1702.03118
等价于时的swish