由于在看Faster R-CNN中在RPN中用到了1*1的卷积,因此查阅资料观看视频之后作以总结。
1*1卷积核的作用:
1.放缩通道数目
加入现在有一个64*64*128的输入,需要通过卷积之后生成一个32*32*128,那我们直接可以对这个输入坐卷积或者做池化,就可以改变输入的长和宽,因为输入和输出的通道数目都是相同的。但是如果我们需要输出一个64*64*192。那这个时候就必须要用到1*1的卷积。因为input和filter都需要一样的通道数目,因此我们可以用32个1*1*192的filter去做卷积,卷积运算的结果就是28*28*32。如图所示:
2.减少计算成本
很显然使用了1*1的卷积之后,明显比之前未使用的计算量降低了1/10。如果和合理的实现中的瓶颈层,那么可以做到不损失网络的性能而且还降低了计算成本。但是合理的’瓶颈层‘到底什么如何确定呢?
3.增加网络的非线性性
如果我们不用改变通道数目,也不用改变长和宽。那么1*1的卷积还有另外一个好处就是增加网络的非线性。因为从一个28*28*192->28*28*192经过一个1*1的卷积之后,使得网络可以学习到更加复杂的函数形式。这样就此增加了网络的非线性性。