ResNeXt与分组卷积

ResNeXt与分组卷积ResNeXt 两点 1 Inceptionv4 的所有分支结构统一 2 inceptionblo 前后增加 shortcut 分支分支结构统一与 shortcut 左边是 Inception 结构 不同分支用不同的结构 右边是 ResNeXt 的 Block 每个分支都是 1×1 3×3 1×1 的 BottleNeck 结构 所以叫统一分支 1 为什么要统一分支 因为左边的结构是人为设计的 所以想用稍微自然一点的结构 有 ablationstud 吗 增加 shortcut 发现效果更好具体实现看右边的

分支结构统一与shortcut

在这里插入图片描述
左边是Inception结构,不同分支用不同的结构。
右边是ResNeXt的Block,每个分支都是1×1,3×3,1×1的BottleNeck结构,所以叫统一分支。
(1)为什么要统一分支?因为左边的结构是人为设计的,所以想用稍微自然一点的结构。(有ablation study吗?)
增加shortcut发现效果更好








具体实现

class ResNeXtBottleneck(nn.Module): def __init__(self, in_channels, out_channels, stride, cardinality, base_width, widen_factor): super(ResNeXtBottleneck, self).__init__() width_ratio = out_channels / (widen_factor * 64.) D = cardinality * int(base_width * width_ratio)#32*4 32组,每组通道数为4 self.conv_reduce = nn.Conv2d(in_channels, D, kernel_size=1, stride=1, padding=0, bias=False) self.bn_reduce = nn.BatchNorm2d(D) self.conv_conv = nn.Conv2d(D, D, kernel_size=3, stride=stride, padding=1, groups=cardinality, bias=False) self.bn = nn.BatchNorm2d(D) self.conv_expand = nn.Conv2d(D, out_channels, kernel_size=1, stride=1, padding=0, bias=False) self.bn_expand = nn.BatchNorm2d(out_channels) self.shortcut = nn.Sequential() if in_channels != out_channels: self.shortcut.add_module('shortcut_conv', nn.Conv2d(in_channels, out_channels, kernel_size=1, stride=stride, padding=0, bias=False)) self.shortcut.add_module('shortcut_bn', nn.BatchNorm2d(out_channels)) 

值得注意的是

在这里插入图片描述
这里第一块并不是把256维的特征降维到4维的意思,而是降维到32×4维,然后分发给32个分支,每个分支4维的意思
为什么这么说?且看论文中的推导ResNeXt详解 – 大师兄的文章 – 知乎
https://zhuanlan.zhihu.com/p/51075096






ResNeXt的思想其实是由全连接神经网络来的
在这里插入图片描述
实际上可以分为3个步骤
(1)拆分:将 x \bold{x} x拆分为 x i x_i xi
(2)映射:对于每个 x i x_i xi乘上对应的权重
(3)聚合:将所有分支映射后的结果相加
实际上可以用一个公式表示:
在这里插入图片描述
如果将映射推广,这里只不过是内积(乘法),如果是神经网络呢?
在这里插入图片描述


















版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/222231.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月17日 下午4:16
下一篇 2026年3月17日 下午4:16


相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号