【卷积核的大小一般为奇数*奇数】 1*1,3*3,5*5,7*7都是最常见的。这是为什么呢?为什么没有偶数*偶数?

简介: 【卷积核的大小一般为奇数*奇数】 1*1,3*3,5*5,7*7都是最常见的。这是为什么呢?为什么没有偶数*偶数?

【卷积核的大小一般为奇数奇数】 11,33,55,77都是最常见的。这是为什么呢?为什么没有偶数偶数?



(1)更容易padding


在卷积时,我们有时候需要卷积前后的尺寸不变。这时候我们就需要用到padding。假设图像的大小,也就是被卷积对象的大小为nn,卷积核大小为kk,padding的幅度设为(k-1)/2时,卷积后的输出就为(n-k+2*((k-1)/2))/1+1=n,即卷积输出为n*n,保证了卷积前后尺寸不变。但是如果k是偶数的话,(k-1)/2就不是整数了。


(2)更容易找到卷积锚点


在CNN中,进行卷积操作时一般会以卷积核模块的一个位置为基准进行滑动,这个基准通常就是卷积核模块的中心。若卷积核为奇数,卷积锚点很好找,自然就是卷积模块中心,但如果卷积核是偶数,这时候就没有办法确定了,让谁是锚点似乎都不怎么好。

上述例子都只包含一个输入通道。实际上,大多数输入图像都有 RGB 3个通道。


图像卷积池化后的尺寸


卷积操作

image.png

池化操作


image.png

1、卷积层(Conv Layer)的输出张量(图像)的大小 定义如下: O=输出图像的尺寸。 I=输入图像的尺寸。 K=卷积层的核尺寸 N=核数量 S=移动步长 P =填充数 输出图像尺寸的计算公式如下: 在这里插入图片描述


上述公式的 分式部分 向下取整


公式推导:画出图片,将卷积核顶在图片的最左上角,从卷积核的右边缘开始考虑。

卷积核的右边缘位于第K个位置,还剩下L-K+2*P个位置可以去移动,一次向右移动S步。


所以,卷积核还能移动(I-K+2P)\S (向下取整)步。再加上本身就处在的位置,所以总共是(I-K+2P)\S(下取整)+1


如果需要保持原来的尺寸:通常S = 1,K = 2P+1, 如padding为0, kernel为1,padding为1,kernel为3


如果需要尺寸减小为原来的一半(DCGAN实现的discriminator有):通常S = 2,K = 2P+2, 如padding为0kenerl为2,padding为1,kernel为4


2、池化层(MaxPool Layer)的输出张量(图像)的大小 定义如下: O=输出图像的尺寸。 I=输入图像的尺寸。 S=移动步长 PS=池化层尺寸 输出图像尺寸的计算公式如下: 在这里插入图片描述


有了上述公式以后,我特地跑到b站看了相关视频,套入公式后,发现和我们的理解一样。


公式推导:和上面卷积层的推导十分相似,把pooling移动类比kernel移动即能明白。

如果需要尺寸减小为原来的一半: stride = 2, kernel = 2, 也即是maxpool的默认参数


目录
相关文章
|
1月前
|
Python
判断一个数字是否为奇数或偶数:
判断一个数字是否为奇数或偶数:
|
1月前
给定一个长度为n的数组,请将数组中元素按照奇偶性重新划分,所有奇数靠左边,所有偶数靠右边,然后分别对奇数、偶数部分进行排序
给定一个长度为n的数组,请将数组中元素按照奇偶性重新划分,所有奇数靠左边,所有偶数靠右边,然后分别对奇数、偶数部分进行排序
29 1
|
1月前
求0—7所能组成的奇数个数
求0—7所能组成的奇数个数。
45 0
|
10月前
求一个数是几位数并输出逆序数
求一个数是几位数并输出逆序数
43 0
|
11月前
1177:奇数单增序列
1177:奇数单增序列
|
11月前
位运算判断奇数or偶数
位运算判断奇数or偶数
|
1月前
求100以内偶数之和
求100以内偶数之和
30 0
02:奇数单增序列
02:奇数单增序列
116 0
【算法练习】两个偶数
1.题目描述 小洛找了2个偶数x,y,想请你找一个数n,使得n % x = y % n
【算法练习】两个偶数

热门文章

最新文章