《南溪的目标检测学习笔记》——激活函数的学习笔记

介绍

激活函数的作用是为神经网络提供非线性;

1. Sigmoid

Sigmoid函数的图像如下:
《南溪的目标检测学习笔记》——激活函数的学习笔记_第1张图片
梯度曲线如下:
《南溪的目标检测学习笔记》——激活函数的学习笔记_第2张图片
关于Sigmoid的详细分析请参考《为什么sigmoid会造成梯度消失?》

2. ReLU——最常用的激活函数

我们可以看看ReLU的图像
《南溪的目标检测学习笔记》——激活函数的学习笔记_第3张图片

ReLU比Sigmoid好的原因是因为梯度更加容易更新

可以使用Cockpit来进行实验看看,请参考《Cockpit:深度神经网络的训练调试神器!NeurIPS 2021》

3. SiLU – nn.functional.silu

使用ReLU和Sigmoid的机制改进的激活函数,被用于GiraffeDet[paper]中;
其函数公式如下:
SiLU ( x ) = x ⋅ σ ( x ) \text{SiLU}(x) = x \cdot \sigma(x) SiLU(x)=xσ(x)

2. Swish (同“SiLU”)

Swish函数在PyTorch中没有进行实现,需要自己实现;
其公式与SiLU一样。

3. H-Swish

H-Swish对ReLU函数的高效近似,使用在PicoDet中;

3. SiLU

SiLU可以看作是一种较为平滑的ReLU函数;
可以看看SiLU的图像,
《南溪的目标检测学习笔记》——激活函数的学习笔记_第4张图片

3 PyTorch激活函数

使用nn.ActFunc()来新建一个激活函数层,
(这里我们参考官方ResNet的实现形式,不使用torch.nn.functional.act_func()来进行计算);

你可能感兴趣的:(《南溪的目标检测学习笔记》,激活函数)