CNN-卷积神经网络

【原理】常用卷积-1x1与3x3卷积

作者 : 老饼 发表日期 : 2024-01-18 11:16:15 更新日期 : 2024-03-07 16:13:54
本站原创文章,转载请说明来自《老饼讲解-深度学习》www.bbbdata.com



在CNN卷积神经网络中,虽然卷积的设置可以很灵活,但最终使用的往往都只有1x1与3x3卷积

本文介绍CNN卷积神经网络中的1x1与3x3卷积的意义,以及为什么往往只使用1x1与3x3卷积




     01. CNN的1x1卷积      




本节讲解CNN中常用的1x1卷积的作用与意义




     CNN中的1x1卷积      


在CNN中,卷积层主要是为了综合像素周边的信息,
但是,1x1卷积是不能综合周边信息的,它有着更特殊的意义
 
1x1卷积的意义
如下所示,1x1(步幅为1)卷积的输出是将各个通道的对应元素进行加权
 
单个1x1卷积核可以理解为以通道为单位,将各个通道的信息加权合并为一个通道
而多个1x1卷积核则是以不同的权重,将输入通道加权合并出成多个输出通道
  
总的来说,1x1卷积以通道为加权单位,它的意义就是将通道进行加权合并
1x1卷积的作用
1x1卷积一般用于将输入的通道进行升维或降维,更多时候是用于降维
总之,只希望单纯改变通道个数时,就使用1x1卷积,需要输出多少个通道,就使用多少个1x1卷积核






     02. CNN的3x3卷积      




本节讲解3x3卷积在CNN中的意义和作用




     CNN中的3x3卷积    


在CNN模型中,3×3卷积层是最常用的卷积层,而很少使用其它更大的卷积
因为在CNN中,大的卷积一般可以使用多个小卷积来替换,
如下,虽然单层3x3卷积只有3x3的视野,但2层3x3卷积叠加后就能获得5x5的视野
 
由于可以通过叠加多层小卷积来获得更大的视野,因此只需使用小卷积就可以了
而3×3卷积是最小的能综合周边信息的卷积,所以其它大卷积基本都被3×3卷积所替代
 如下,一个7×7的卷积层可用三个3×3的卷积层进行替换:
 
   
   这种用3×3卷积替代大卷积是VGG提出的,自VGG之后,就很少见到大卷积的身影了
总的来说,如非特殊,在CNN中基本不会直接使用比3×3更大的卷积,
只要想使用比3×3更大的卷积,就会直接用多层3×3的卷积进行替换
用多少层3×3的卷积由原卷积的接受野大小来决定,
2层3×3卷积的接受野为5,3层3×3卷积的接受野为7...如此类推





     为什么喜欢用3×3的卷积替代大卷积    


以"用三个3×3的卷积层替换一个7×7的卷层"为例,它的好处如下:
👉1. 替换前后的接受野是一致的                                                                     
           一层3×3卷积层的接收野是3,两层之后的接收野就是5,三层的收接野就是7
 这样与一个7×7的卷积层的接收野是一致的                       
 👉2. 三层小核卷积层的参数更少                                                                      
 假设卷积核的输入和输出都是C个通道                                              
三个3×3卷积层的权重参数个数为:      
单个7*7卷积层的权重参数个数为:               
 可以明显看到,三个小核卷积层的总参数更少                      
  👉3.三层小卷积核的拟合能力更强                                                                    
由于卷积层后会跟随一个非线性激活函数(不妨假设为ReLu)               
  单个大卷积层的输出对原始X进行了一次非线性转换                            
                                              
而三个小卷积层的输出对原始X进行了三次非线性转换                      
 
 明显地,三层结构拥有三次非线性变换,它的拟合能力更强         
总的来说,就是用多层小核换单层大核,不仅保持了原有的视野,而且参数更少,拟合能力更强








     1x1与3x3卷积总结     


总的来说,虽然CNN的卷积可以设置得很灵活,但最常用的只有1x1和3x3卷积,它们的作用分别如下:
👉1. 1x1卷积:1x1卷积用于对通道进行升降维                                      
👉2. 3x3卷积:3x3卷积用于每个像素融合周边信息                               
 1x1与3x3虽然同为卷积,但它们的作用与目的是不同的,
某种程度上来说,3x3卷积更具有"卷积"的意义,1x1卷积更偏向于"通道加权"











 End 







联系老饼