googlenet中inception层的理解

之前比较googlenet和VGG的时候,提到过googlenet比起VGG来说要更加轻量,googlenet之所以模型小参数少主要就是inception的功劳。直白地讲,inception本质上就是说两个小卷积的叠加可以用很少的参数得到跟大卷积相同的效果。举例说明,5*5的卷积可以用两个3*3的叠加卷积替代,而参数由5*5*depth减少为了2*3*3*depth,从某种意义上,这也可以解释,VGG16都是用3*3的小卷积,通过层数的加深得到了良好性能的原因。更进一步3*3的卷积我们甚至可以用1*3和3*1来代替,这样参数可以进一步的减少。而鉴于pooling层在CNN中的成功应用,在inception层中也增加了pooling层来方便训练,最后将各个不同尺度下的feature map通过深度上的concatenation得到该层的输出,为下一层输入做准备。

而为什么要用两个小卷积来替代一个大卷积呢,当然是为了减少参数,防止过拟合。早前就有人用稀疏化来减少参数,但是在训练时,并没有加快,主要是由于硬件的限制,大多数硬件还是用来计算稠密矩阵,而inception的这种思路也是为了将稀疏矩阵稠密化,方便处理,从而加快训练速度。

inception 会在开始先加入1X1的卷积,主要的目的是为了降维,整合不同通道的特征,通过卷积核的个数控制输出的通道数,使输出的通道数减少,从而减少下一次的参数数量

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值