Loading

学习shufflenet

论文链接:https://arxiv.org/pdf/1707.01083.pdf

(瓶颈单元:先1x1卷积降维,再3x3卷积,再1x1卷积升维)

shufflenet提出使用逐点分组卷积以减少1×1卷积的计算复杂度的方法。

为了克服组卷积带来的副作用,采用了一种新颖的通道混洗操作,以帮助信息流过特征通道。

突显了分组卷积在运算效率上的优势。

 

实现思想如下图:

        

 分组卷积以减少计算量,通道混洗增加相关性。

 

对于这个混洗操作,有一个有效高雅(efficiently and elegantly)的实现:

 

对于一个卷积层分为g gg组,

 

  • 1.有g × n g×ng×n个输出通道
  • 2.reshape为( g , n ) (g,n)(g,n)
  • 3.再转置为( n , g ) (n,g)(n,g)
  • 4.平坦化,再分回g gg组作为下一层的输入

 

示意图如下:

                                        

(好家伙,妙啊,解决了由于存储不连续问题导致卷积计算慢)

 

 

 在实际过程中我们构建了一个ShuffleNet unit,便于构建实际模型。

 

figure b)的示意图如下:

                       

 

figure c)的示意图如下:

                          

 

 

 

 

参考:

一、https://delphifan.blog.csdn.net/article/details/79200559?utm_medium=distribute.pc_relevant.none-task-blog-OPENSEARCH-2.channel_param&depth_1-utm_source=distribute.pc_relevant.none-task-blog-OPENSEARCH-2.channel_param

https://blog.csdn.net/sun_28/article/details/78170878?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522160532300619724835813359%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id=160532300619724835813359&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~first_rank_v2~rank_v28-8-78170878.pc_search_result_cache&utm_term=shufflenet&spm=1018.2118.3001.4449     (CNN网络优化学习总结——从MobileNet到ShuffleNet

三、https://blog.csdn.net/sun_28/article/details/78170878?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522160532300619724835813359%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id=160532300619724835813359&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~first_rank_v2~rank_v28-8-78170878.pc_search_result_cache&utm_term=shufflenet&spm=1018.2118.3001.4449

posted @ 2020-11-12 23:13  kyshan  阅读(113)  评论(0编辑  收藏  举报