CNN-卷积核大小是奇数的原因
创始人
2024-03-31 15:38:39
0

绝大多数卷积核的大小尺寸都是奇数,类似最常见的3×3、5×5等,那么为什么不会出现2×2或者4×4大小的卷积核呢?

卷积核的最大作用就是将输入的图像数据提取成特征的形式并输出,关键就是提取操作。我们假设输入的图像数据是n×nn\times nn×n的,且不是彩色图片,也就是它的通道数为1。设卷积核的大小为m×mm \times mm×m,这里我们可以看到,卷积核和输入都是方阵。设卷积核在输入数据上的移动步长sss,padding操作的大小为ppp,由此我们能得到经过卷积操作后输入的特征大小为qqq,qqq满足:
q=floor(n+2p−ms+1)q = floor(\frac{n+2p-m}{s}+1)q=floor(sn+2p−m​+1)
floor是向下取整函数,使用此公式我们可以计算输出矩阵的大小。

padding的中文意思是填充,这个操作是在卷积前的数据周围填充数据,从而改变卷积后的数据大小。一般情况下,这个操作可以分为三种,他们分别是same convolution、valid convolution、full convolution,他们在中文中分别叫:相同连接、有效连接和全连接,这个是deep learning中给出的。
valid convolution指的是不对卷积前的数据做padding操作,即给什么数据,卷积什么数据。这种操作不能无限卷积,因为每次卷积后的数据大小都会缩小。
same convolution是对卷积前的数据做padding操作,添加一些数据,使得添加后的数据经过卷积操作后大小和卷积前的数据大小相同。这种操作支持无限次数的卷积。
full convolution也是对卷积前的数据做padding操作,但是它添加数据的目的不是为了使得卷积前后数据大小相同,而是让原数据中每个像素点都能在每个方向上都能被访问k次,同时,输出的图像宽度为n+m-1。
通常最优的填充数量在same 和valid之间。

padding操作是在原数据的两端补充0元素,从而使得经过卷积后的数据规模不会变小。一般情况下步长sss取值都是1,而我们想要的卷积前的数据大小和卷积后的数据大小一样,那么就有:
n=n+2p−m+1p=2m−12n=n+2p-m+1\\ p = \frac{2m-1}{2}n=n+2p−m+1p=22m−1​
所以,要想在原数据的两端都补充数据,那么必须要让卷积核的大小mmm是一个奇数才行。只有mmm是奇数时,ppp才能是一个整数,这样才能在卷积前数据的两端都补充同样的数据。

第二个原因就是卷积核作为一个特殊的结构,当大小为奇数的时候,方便我们确定卷积核的位置,一般情况下,卷积核在源数据上的移动是以卷积核的中心点作为基准的,这个中心点非常重要。
其实这个解释感觉很牵强,因为当卷积核是偶数大小的时候,我们完全可以使用左上角或者右上角的数据作为基准来移动。至于为什么这个解释存在,个人认为应该是从实验中可以找到答案,卷积核大小为奇数的时候的学习效果会比卷积核大小为偶数的时候的学习效果好。

相关内容

热门资讯

保存时出现了1个错误,导致这篇... 当保存文章时出现错误时,可以通过以下步骤解决问题:查看错误信息:查看错误提示信息可以帮助我们了解具体...
汇川伺服电机位置控制模式参数配... 1. 基本控制参数设置 1)设置位置控制模式   2)绝对值位置线性模...
不能访问光猫的的管理页面 光猫是现代家庭宽带网络的重要组成部分,它可以提供高速稳定的网络连接。但是,有时候我们会遇到不能访问光...
表格中数据未显示 当表格中的数据未显示时,可能是由于以下几个原因导致的:HTML代码问题:检查表格的HTML代码是否正...
本地主机上的图像未显示 问题描述:在本地主机上显示图像时,图像未能正常显示。解决方法:以下是一些可能的解决方法,具体取决于问...
表格列调整大小出现问题 问题描述:表格列调整大小出现问题,无法正常调整列宽。解决方法:检查表格的布局方式是否正确。确保表格使...
不一致的条件格式 要解决不一致的条件格式问题,可以按照以下步骤进行:确定条件格式的规则:首先,需要明确条件格式的规则是...
Android|无法访问或保存... 这个问题可能是由于权限设置不正确导致的。您需要在应用程序清单文件中添加以下代码来请求适当的权限:此外...
【NI Multisim 14...   目录 序言 一、工具栏 🍊1.“标准”工具栏 🍊 2.视图工具...
银河麒麟V10SP1高级服务器... 银河麒麟高级服务器操作系统简介: 银河麒麟高级服务器操作系统V10是针对企业级关键业务...