由于在看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。如图所示:

关于网络中的1*1卷积

 

2.减少计算成本

关于网络中的1*1卷积
不使用1*1卷积的网络计算成本(大约是1.2亿次乘法)

 

关于网络中的1*1卷积
使用1*1卷积(大约是1240万次乘法)

 

很显然使用了1*1的卷积之后,明显比之前未使用的计算量降低了1/10。如果和合理的实现中的瓶颈层,那么可以做到不损失网络的性能而且还降低了计算成本。但是合理的’瓶颈层‘到底什么如何确定呢?

3.增加网络的非线性性

如果我们不用改变通道数目,也不用改变长和宽。那么1*1的卷积还有另外一个好处就是增加网络的非线性。因为从一个28*28*192->28*28*192经过一个1*1的卷积之后,使得网络可以学习到更加复杂的函数形式。这样就此增加了网络的非线性性。

 

相关文章:

  • 2021-10-04
  • 2021-05-13
  • 2022-12-23
  • 2021-04-02
  • 2021-05-29
  • 2021-09-24
  • 2021-10-19
猜你喜欢
  • 2021-11-23
  • 2021-06-12
  • 2022-01-01
  • 2021-07-13
  • 2021-11-27
相关资源
相似解决方案