ImageNet 2017 竞赛 Image Classification 任务的冠军。在chanel维度上做了squeeze and excitation的操作,从而获取了feature map 的权重,再叠加到原来的的网络里。其实就是显式地建模特征通道之间的相互依赖关系。
在空间的维度上
googlenet 多尺度 11 33 5*5 size变小
还能学好的特性resnext 更加的极端 不同的通道group 卷积 最后concat 在一起

可以在任意网络中嵌入该模块

其中 squeeze操作把每个通道变成了一个标量,在空间维度上特征压缩,拥有全局感受野,表征特征通道上响应的全局分布。用的是global average pooling ,为什么用的是avg 而不是max?在其他任务,如检测任务,输入的feature map 大小可能变的,avg 能量保持~max的话 feature map 越大,大的feature map 和小的feature map 的求最大值,训练和测试的时候不等价?全局的卷积,feature map 大的时候参数就很那个了。
excitation操作:为每个通道生成权重,类似于循环神经网络里的门的机制。FC+Relu+FC+sigmoid(度量到0-1之间)
最后在scale起来,ex给每个channel 生成一个weight ,在把weight乘到原先的特征上。
训练。
how to add this block to existed model?

为什么要/r 降维,减少参数在网络后面的部分,channel 数很大的 r的取值16 经验值
add 的参数量:两个全连接c
计算量


3%:是最后一个组 7*7的那个 block去掉的情况下,毕竟channel 有2048,结果

训练上,用自己公司的框架
需要好的初始化?那么先训练一个不带这个的,然后再添加se block,重新微调一下,效果会怎样?
balance :先对类别采样,然后再选样本,结果轻微好一点
实验对比:

r的取值的影响

imagenet 结果比较

是resnext152的改进:
77变成3个33 Loss: label smoth loss 训练最后几个epoch bn固定住(bn和batch相关,一直会变,这么做保持训练和测试一致)
网友评论