YOLOv4(四)

Bag of Specials (BoS) for backbone

  • Mish Activation
  • Cross-stage partial connections (CSP), and
  • Multi-input weighted residual connections (MiWRC)

Mish activation

我们假设激活函数是(如下图)

对于一元或二元运算符有不同的候选函数(如余弦函数)。我们可以根据不同的任务(如分类)和数据集对这些函数进行随机猜测,并评估相应的模型性能。最后,我们可以选择一个性能最好的激活函数。

应用强化学习,可以更有效地搜索求解空间。

通过实验使用这种方法,下面新的激活函数Swish比ReLU和许多其他激活函数表现出更好的性能。

Mish是另一个与ReLU和Swish非常相似的激活函数。正如论文所宣称的那样,Mish可以在不同数据集的许多深度网络中胜过它们。

对CSPDarknet53和检测器使用Mish,可以提高YOLOv4中的精确性。

Multi-input weighted residual connections (MiWRC)

在过去的几年里,研究人员对将哪些特征图添加到一个图层上给予了很大的关注。有时,我们打破了只使用前一层的传统。

 

层之间如何连接现在变得更加重要,特别是对于对象检测器来说。我们已经讨论了FPN和PAN作为例子。下面的图(d)显示了另一种被称为BiFPN的颈部设计,根据BiFPN的论文,该设计具有更好的准确性和效率权衡。

在YOLOv4中,它将其性能与YOLOv4认为的最先进技术之一的EfficientDet进行了比较。所以让我们花点时间来研究它。如下图所示,EfficientDet使用EfficientNet作为主干特征提取器,BiFPN作为颈部。

下面的图表是EfficientDet的架构,它建立在由反向残差块组成的MBConv层上。

如文中所述,反向残块由...组成。第一层称为深度卷积,它通过对每个输入通道应用一个卷积滤波器来进行轻量级滤波。第二层是1×1卷积,称为点态卷积,它负责通过计算输入通道的线性组合来构建新的特征。

 

我们假定输入的维度是 hᵢ × wᵢ × dᵢ. 它应用di个k x k大小的过滤器对于每一个通道。然后对所有的层应用1 x 1的卷积产生一个  hᵢ × wᵢ × dⱼ的输出. 所以整体计算复杂度降低:

与传统的卷积层相比,其关键优点是计算量小得多。

 

在许多ML和DL问题中,我们学习输入的低维表示。我们通过创建信息瓶颈来提取数据的核心信息。这迫使我们发现最重要的信息,这是学习的核心原则。根据这一原理,反向残差块以低维表示作为输入,通过卷积(线性操作)和非线性操作对其进行操作。但是对于像ReLU这样的非线性部件有一个主要的问题。非线性操作非比例地拉伸或压缩区域。在这种压缩中,输入可以映射到相同的区域/点。例如,ReLU可能会使这个低维空间中的信道崩溃,从而不可避免地丢失信息。

为了解决这个问题,我们可以暂时扩展这个维度(通道的数量)。希望我们现在有大量的通道,经过非线性操作后,仍然可以在一些通道中保留信息。下面是反向残块的细节:

如图所示,低维表示首先扩展到tk通道。然后,采用轻量的3 - 3深度卷积滤波。随后,在模块的末尾,特征被还原为低维的。当它仍然存在于高维空间时,非线性运算被加入。

从模块的开始到结束添加一个剩余连接。图中左侧为传统残差块,右侧为所述反向残差块。

理解EfficientDet的关键概念是很好的。但EfficientDet对YOLOv4的主要贡献是多输入加权残差连接。在EfficeintDet中,观察不同的输入特征在不同的分辨率下对输出特征的贡献是不相等的。但在前面的讨论中,我们平等地添加了这些特性。在EfficientDet中,输入特征在组成输出时被赋予不同的权重。

其中wᵢ将训练和学习像其他可训练的参数。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值