做收费类网站站长,湖北建设厅政务网站,中地海外路桥建设有限公司网站,免费空间怎么搞网站ILSVRC 是一个比赛#xff0c;全称是ImageNet Large-Scale Visual Recognition Challenge#xff0c;平常说的ImageNet比赛指的是这个比赛。 使用的数据集是ImageNet数据集的一个子集#xff0c;一般说的ImageNet#xff08;数据集#xff09;实际上指的是ImageNet的这个子…ILSVRC 是一个比赛全称是ImageNet Large-Scale Visual Recognition Challenge平常说的ImageNet比赛指的是这个比赛。 使用的数据集是ImageNet数据集的一个子集一般说的ImageNet数据集实际上指的是ImageNet的这个子集总共有1000类每类大约有1000张图像。完整的 ImageNet有大约1.2million的训练集5万验证集15万测试集。ILSVRC从2010年开始举办到2017年是最后一届。ILSVRC-2012的数据集被用在2012-2014年的挑战赛中VGG论文中提到。ILSVRC-2010是唯一提供了test set的一年。 ImageNet可能是指整个数据集15 million也可能指比赛用的那个子集1000类大约每类1000张也可能指ILSVRC这个比赛。需要根据语境自行判断。 12-17年期间在ImageNet比赛上提出了一些经典网络比如AlexNetZFNetVGG GoogLeNet ResNetDenseNetSENet。我之前的博文都有相应模型及其变体的介绍。 13 年 ZFNet16 年 DenseNet
SENET简介 提出背景卷积核通常被看做是在局部感受野上在空间上和通道维度上同时对信息进行相乘求和的计算。现有网络很多都是主要在空间维度方面来进行特征的融合如Inception的多尺度。 通道维度的注意力机制在常规的卷积操作中输入信息的每个通道进行计算后的结果会进行求和输出这时每个通道的重要程度是相同的。而通道维度的注意力机制则通过学习的方式来自动获取到每个特征通道的重要程度即feature map层的权重以增强有用的通 道特征抑制不重要的通道特征。 说起卷积对通道信息的处理有人或许会想到逐点卷积即kernel大小为1X1的常规卷积。与1X1卷积相比SENet是为每个channel重新分配一个权重即重要程度。而1X1卷积只是在做channel的融合计算顺带进行升维和降维也就是说每个channel在计算时的重要程度是相同的。 SENet 模块 X经过一系列传统卷积得到U对U先做一个Global Average Pooling输出的1x1xC数据即上图梯形短边的白色向量这个特征向量一定程度上可以代表之前的输入信息论文中称之为Squeeze操作。 再经过两个全连接来学习通道间的重要性用sigmoid限制到01的范围这时得到的输出可以看作每个通道重要程度的权重即上图梯形短边的彩色向量论文中称之为Excitation操作。 最后把这个1x1xC的权重乘到U的C个通道上这时就根据权重对U的channles进行了重要程度的重新分配。 效果
与SE模块可以嵌入到现在几乎所有的网络结构中而且都可以得到不错的效果提升用过的都说好。在大部分模型中嵌入SENet要比非SENet的准确率更高出1左右而计算复杂度上只是略微有提升具体如下图所示。而且SE块会使训练和收敛更容易。CPU推断时间的基准测试224×224的输入图 像ResNet-50 164ms SE-ResNet-50 167ms。
代码
class SqueezeExcite(nn.Module):def __init__(self,input_c: int, # block input channelexpand_c: int, # block expand channelse_ratio: float 0.25):super(SqueezeExcite, self).__init__()squeeze_c int(input_c * se_ratio)self.conv_reduce nn.Conv2d(expand_c, squeeze_c, 1)self.act1 nn.SiLU() # alias Swishself.conv_expand nn.Conv2d(squeeze_c, expand_c, 1)self.act2 nn.Sigmoid()def forward(self, x: Tensor):scale x.mean((2, 3), keepdimTrue)scale self.conv_reduce(scale)scale self.act1(scale)scale self.conv_expand(scale)scale self.act2(scale)return scale * x总结
SE block 可以理解为 channel维度上的注意力机制即重分配通道上 feature map对后续计算的权重与Stochastic Depth Net一样本论文的贡献更像一种思想而非模型。在之后的模型中会经常看见SE block 的身影。例如SKNetMobileNet等等。