点击上方“AITop100”,选择“星标”公众号
重磅干货,第一时间送达![3b3c1f99a6314019daf6efa2cb4a4fbb.png](https://i-blog.csdnimg.cn/blog_migrate/69ccbbb9874e5031f0d0f48096dfec33.jpeg)
![97f6fa5b472c419d44bae157418ffcb4.png](https://i-blog.csdnimg.cn/blog_migrate/776bed402e0adc87664b5e72886e7459.jpeg)
学过cnn我们都知道神经网络的结构组成中很重要的结构是卷积核,而且我们所熟知的模型中大多数都是奇数x奇数,没有偶数x偶数的。
![7be15ec914d5ad3db7d5aa03b7f58f9c.png](https://i-blog.csdnimg.cn/blog_migrate/7bfbca04f9413003a9f41a8a489aaf85.jpeg)
VGG模型几个变种结构
上图的VGG模型中可以看到都是以3x3的卷积核为特点。"conv3-64”即为卷3x3卷积 ,一共64个。还有熟知的AlexNet模型,有11x11,5x5和3x3。你有见过偶数的吗?没有吧。
![30b4858e6695d4e72a52f7d14c874a35.gif](https://i-blog.csdnimg.cn/blog_migrate/8592d39c9a4df77188351c36aa68366a.gif)
有没有想过为什么没有奇数?这个问题想明白了就是进步。
本人理解的主要原因是2点:
方便做padding,填充时四周同时进行补0。
方便选取卷积核的滑动锚点,奇数有一个中间块方便做锚点。
两点中,我认为最重要的是第一点,很多人可能觉得有点难想明白。
设输入特征图尺寸为
![7f56c80a-bb4a-eb11-8da9-e4434bdf6706.svg](http://p02.5ceimg.com/content/7f56c80a-bb4a-eb11-8da9-e4434bdf6706.svg)
,输出尺寸为
![8256c80a-bb4a-eb11-8da9-e4434bdf6706.svg](http://p02.5ceimg.com/content/8256c80a-bb4a-eb11-8da9-e4434bdf6706.svg)
,卷积核大小K,步长S,padding为p,那么输入和输出之间满足:
![8456c80a-bb4a-eb11-8da9-e4434bdf6706.svg](http://p03.5ceimg.com/content/8456c80a-bb4a-eb11-8da9-e4434bdf6706.svg)
。在一般情形下,S=1,O=i,那么上式可以化为:
![8556c80a-bb4a-eb11-8da9-e4434bdf6706.svg](http://p05.5ceimg.com/content/8556c80a-bb4a-eb11-8da9-e4434bdf6706.svg)
,可以直观地看出K是奇数。
可能还是有人会有疑惑,因为上面有个2p,这是在做卷积填充时在左右(上下)两边同时补0,我们举个反例,输入为4x4的特征图,如果希望得到一个4x4的输出,卷积核为2x2时步长为1该怎么做padding,不做padding 只能得到3x3,还需滑动一次怎么办,是要在左边补0好还是右边补0好呢,太纠结了,而且选择其中一边好像会有一定的含义,所以为了避免“不公平”还是选择奇数3x3卷积核两边上下均补上0来做就很轻松了。
至于锚点,其实个人认为只是一个方式,选择其它非中间点方式也是很可以的,就好像运动会列队行走时,以方正中心为基准更能清晰描述它的位置信息。
还有什么观点欢迎留言评论?
哦,对了,面试的时候这个问题可能会问到。
-完-
最新热文荐读
惊叹!哈工大、哈工程的老师和学生们最近无法使用 MATLAB 了,毕业发论文受到影响!
震惊!IBM宣布放弃人脸识别业务,关停技术研发,人脸识别为什么在美国这么“难”
觉得本文对你有帮助?请分享给更多人
欢迎关注上方右侧我的腾讯视频号
介绍一下我的腾讯视频号以及我自
觉得有用麻烦给个在看啦~ ![1f567e841fb3c324300c2b49763aa696.gif](https://i-blog.csdnimg.cn/blog_migrate/4d5ce68ad2b3363f81ed181bb6864119.gif)