目标检测中的数学原理

从数学方面重新学习目标检测的相关算法和优化原理。可以有助于我们更深刻的理解算法,找到优化方向。这样做当然是一个极为艰难的过程,但是一定要坚持做下去。主要参考吴恩达老师的深度学习课程。

首先对于最近在学的网络就要这样学起,所以每次更新的内容可能都不一样,有的可能看不到什么关联性,我会一边更新一边整理的,参考的内容和博文也会一一列在每一部分内容之后。之所以选择这种手打的方式,一面是在打字的过程中进行思考,另一面是整理后易于查询补充,废话不多说了,开始学习。

 

1.分组卷积

分组卷积主要用于轻量化网络结构,其着手点在于在相同计算量下尽可能的增加通道数量,最直接的做法是将通道进行稀疏连接。分组卷积就是一种非常有效的稀疏连接方式。

标准卷积操作,输入特征图尺寸为 ,进行卷积操作时,卷积核尺寸为h×w,卷积核在整个特征图上进行滑动,并对所有通道c1进行卷积,之后将卷积结果进行加和,就得到了该卷积核的输出。计算卷积计算量时只考虑了乘法的计算量。卷积核的个数=输出的通道数,所以假设有个卷积核,则输出图像尺寸为,最终的计算量为

采用分组卷积时,每个卷积核不对上一个c1通道中的所有进行卷积,而是将其分为g份,每个卷积核对个通道数进行卷积,所以单个卷积的计算量变为,有个卷积核,则最终的计算量为,可以看到计算量是原来的.

这就是分组卷积,可以看到分组卷积的每一个卷积核没有学习上一层的所有特征,降低了通道之间的信息流通和表示能力,于是在shufflenet中提出了通道混洗,通道混洗是允许卷积能够得到不同组的输入,尽量关联各个通道,如下图所示:

所以如果单独使用一层通道混洗应该是没有效果的,因为还是各自独立的,但是几层连用就可以起到信息流通交互的作用。

通道混洗的操作实现如下:

Shufflenet使用大量的分组卷积,由于优化的原因,分组卷积的效率很低。理论计算的复杂度往往和实际的执行速度不完全对等。提出了4个指导原则:卷积的输入和输出通道数应尽可能的一致,谨慎使用分组卷积,减少网络碎片,逐元素运算的开销不能忽视。总的来说就是通道混洗放在了concat的连接之后,放一个v1和v2的对比图:

将分组卷积做到极致,产生了

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值