栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

CV基石-ResNeXt论文研读

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

CV基石-ResNeXt论文研读

ResNeXt思想:将VGG、ResNet和Inception中优秀的思想归纳并演绎

VGG:结构简洁, 堆叠使用3*3卷积

ResNet: 堆叠的Building Block采用残差结构

Inception系列:采用多分支结构Split- Transform-Merge

1、分组卷积

(将输入的特征图分为C组,每组内部进行正常卷积,然后按通道拼接,得到输出特征图) 

参数量对比:

注:分组卷积的分组数必须能被输入通道数整除,以及输出通道数整除

逐通道卷积(Depth-wise)-  分组卷积的特例,即分组数等于通道数

2、聚合变换

聚合变换的推导公式:   C:cardinality 基数——分组的组数

Ti的作用:“先把输入分发到(低维)嵌入中,再对第i个嵌入变换”,最后对基数C个变换进行汇总

(1)对于一个神经元的操作:Splitting: X分解为D个元素,可理解为低维嵌入

                                                Transforming:每个元素进行变换,此处仅做乘法                                                                                          Aggregating:对D个变换后的结果进行聚合(求和)

                                                                     

(2)Block中的聚合变换:

Splitting: 通过1*1卷积实现低维嵌入,256通道变成4个通道,总共32个分支(cardinality=32)

Transforming:每个分支进行变换(用网络层对数据操作) Aggregating:对32个分支得到的变换结果——特征图,进行聚合(求和)

                                           

 (3)Block的三种等效形式

卷积参数等价: (a)第三层:4*1*1*256*32 = 32768                           (b)第三层:128*1*1*256 = 32768                           (b)   第一层:256*1*1*4*32 = 32768                                     第二层:4*3*3*4*32 = 4608                           (c)   第一层:256*1*1*128 = 32768                                     第二层:128/32*3*3*128 = 4608 三种结构精度相同,经过层层等价,ResNeXt的模型远比Inception来的简洁优雅,易于实现。 3、ResNeXt结构 整体结构与ResNet一致,即: 划分为6个stage 1. 头部迅速降低分辨率  2. 4阶段残差结构堆叠 3. 池化+FC层输出 唯一不同:Building Block 特点:加入分组卷积,节省了参数量,因此可用更多卷积核

代码复用:ResNeXt与ResNet代码基本相同,不同的是ResNeXt引入分组卷积,增加了两个参数groups和width_per_group的定义

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/701471.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号