当前位置:网站首页>[iccv 2019] acnet: using asymmetric convolution blocks to enhance CNN's convolution kernel skeleton
[iccv 2019] acnet: using asymmetric convolution blocks to enhance CNN's convolution kernel skeleton
2022-07-22 06:41:00 【Binary artificial intelligence】
ACNet: Strengthening the Kernel Skeletons for Powerful CNN via Asymmetric Convolution Blocks
This article proposes ACNet, It uses a method that can replace the original CNN Normal square in model d × d d\times d d×d Asymmetric convolution block of convolution kernel ( Asymmetric Convolution Block,ACB). Asymmetric convolution block is formed by convolution kernel into square ( d × d d×d d×d)、 level ( 1 × d 1×d 1×d) And vertical ( d × 1 d×1 d×1) Three parallel layers of , The addition of horizontal and vertical convolution kernels and square convolution kernels can enhance the skeleton of square convolution kernels , Improve accuracy :
explain :
Top-5 Accuracy rate : To an image , If the first five predicted probabilities contain the correct answer , That is to say, it is believed that .
Top-1 Accuracy rate : To an image , If the most probable prediction is the correct answer , That is to say, it is believed that .
Use the enhanced convolution kernel parameters to initialize and deploy the original model , The accuracy of the original model can be improved without additional calculation costs .
for instance . about 3 × 3 3×3 3×3 Convolution kernel , We can use convolution kernel as 3 × 3 3×3 3×3、 1 × 3 1×3 1×3 and 3 × 1 3×1 3×1 Three parallel layers of ACB Replace it .ACB The output is the sum of the outputs of the three parallel layers , Pictured :
that , Given the ready-made convolution network ( The original network ), We use it ACB Replace each square convolution kernel layer to construct an asymmetric convolution network (ACNet), And train it until it converges .
After training , We will ACB The three convolution kernels in are added at the corresponding positions , Get the skeleton (skeleton, The central intersection of the square convolution kernel ) Enhanced convolution kernel parameters :
Finally, the weight parameters of the skeleton enhanced convolution kernel are initialized and deployed to the original network .
By the additivity of convolution ( Input I I I For two of the right size 2D Convolution kernel K ( 1 ) \boldsymbol{K}^{(1)} K(1) and K ( 2 ) \boldsymbol{K}^{(2)} K(2) Yes :
, ⊕ \oplus ⊕ Add element by element for the corresponding position ), The original model can be generated and trained ACNet Same output :
That means only one 3 × 3 3×3 3×3 The computation of convolution kernel can reach 3 × 3 3×3 3×3、 1 × 3 1×3 1×3 and 3 × 1 3×1 3×1 The effect of three convolution kernels .
This way,
- Do not introduce other super parameters , It can be easily combined with some networks .
- Compared with the original network obtained by direct training , Only the weights of convolution kernel are different , Therefore, no additional calculation cost is required during deployment .
Recommended reading :
Alchemy God trick,nb Of BN Algorithm is summarized
Convolution networks are often used to BN layer . The experiment of this article shows , First BN The post fusion effect is the best :
If you use BN Then fuse , After training ACNet after , Convolution layer of the original model and BN Layer pass BN fusion、branch fusion Simplify to get expression substitution :
among
b = − μ γ σ − μ ˉ γ ˉ σ ˉ − μ ^ γ ^ σ ^ + β + β ˉ + β ^ b=-\frac{\mu \gamma}{\sigma}-\frac{\bar{\mu} \bar{\gamma}}{\bar{\sigma}}-\frac{\hat{\mu} \hat{\gamma}}{\hat{\sigma}}+\beta+\bar{\beta}+\hat{\beta} b=−σμγ−σˉμˉγˉ−σ^μ^γ^+β+βˉ+β^
The mean and standard deviation are the moving average during training .
ACNet Why it works ?
This paper observed through experiments , The weight on the skeleton of the nucleus is usually large :
And at a certain sparsity rate (sparsity ratio) Put the convolution kernel in the corner (corner)、 skeleton (skeleton)、 overall situation (global) The weight of is randomly set to zero :
skeleton (skeleton) The impact on accuracy is the most obvious , This shows the importance of the skeleton .
The skeleton is so important , therefore ACB Adding horizontal and vertical kernels to the skeleton of square kernels to enhance them can promote network learning .
in addition , square 、 The weights on the horizontal and vertical nuclei may be negative , So adding them together may make the skeleton weaker . However , According to the experiment, the author observed that the skeleton of each layer is always enhanced during model learning .
边栏推荐
- Node项目中使用jsonwebtoken实现JWT认证
- 大厂干掉 OOM 的套路,你知道几个 !
- DOM Series event object
- 固收类的理财产品收益是确定的吗?
- Preparation method of polyether / polyacrylamide monomethyl / Polyacrylamide / granular poly (N-isopropylacrylamide) chitosan hydrogel
- Leetcode brush question: circular linked list and circular linked list II
- Leetcode skimming: using stack to realize queue and string decoding
- IP地址分类及范围
- Some questions about the interview
- 吉时利Keithley软件2400|2401|2410|2420|2425|2430 NS-SourceMeter源表软件
猜你喜欢
OSPF experimental demonstration (Huawei router device configuration)
Behind the popularity of prefabricated vegetables in qudian, there is a slow-paced long-term ism
聚醚/聚丙烯酰胺-竣甲基/聚丙烯酰胺/粒状聚N-异丙基丙烯酰胺壳聚糖水凝胶的制备方法
leetcode 225. 用队列实现栈(简单)
Dom4j parsing XML (detailed)
懒癌福音!可替代LabVIEW的软件—ATECLOUD智能云测试平台
232. Implement queue with stack (simple)
携手HMS Core分析服务,以数据助力游戏高效增长
Dynamics CRM 365 OP版的经典模式,选项卡是滚动查看的,是否可以调成和UCI界面一样,通过Tab展示呢
Style of table form
随机推荐
射频线缆自动测试系统,让你的测试效率提高60倍
PLC串级PID控制详解(炉膛和中央空调系统控温)
设置背景颜色,背景范围等,雪碧图,渐变色,放射渐变
Node实现批量修改文件名(文件重命名)
Xiaodaoxian blog [open source personal blog]
unity 设置物体不能被穿透
CAD对象的夹点被编辑完成后调用事件(com接口VB语言)
表格表单的样式
DOM系列之DOM事件流
Achievements in science and Technology (30)
unity GetAxis(string axisName); axisName 值怎么来的
Question 2 about interview
void 0 有什么意义?undefined竟然是可变的?
西农大 C plus
3D coordinate system of 3D conversion, perspective rotation and other basic knowledge
化合物修饰壳聚糖水凝胶:丙烯酸接枝/聚乙烯醇/温敏淫羊藿苷/醛-亚胺-壳聚糖水凝胶的制备
浮动简介和浮动特点
232. Implement queue with stack (simple)
Is the income of fixed income financial products certain?
动画,及动画的基本使用