0、卷积核
-
对于一个channel的图像,卷积计算很简单
例如:若有10个卷积核,则卷积输出10个feature map
一个卷积核得到的特征提取是不充分的,我们可以添加多个卷积核,比如32个卷积核,从而可以学习32种特征。 -
对多个channel的图像
与单channel卷积有个共同点需要记住:有几个卷积核,就会输出几个Feature map
简而言之,在某个卷积层中,可以有多个卷积核:下一层需要多少个feather map,本层就需要多少个卷积核举例:
输入图片尺寸:高度 H ,宽度 W,图片channel C,一般使用RGB三通道。
卷积核: 卷积核大小 K * K,由于输入图片的channel是 C,因此卷积核就是 K * K * C 大小的(C指的是卷积核的维度,不是个数)。这里需要记住,卷积核的最后一维一定跟输入图片的channel是相同的。
对于RGB三通道图像,在指定kernel_size的前提下,真正的卷积核大小是kernel_size*kernel_size * 3。
卷积过程:对一个卷积核kernel_size*kernel_size * 3,在各个channel上分别执行二维卷积,然后将各个channel的相加,最终得到的是一个 二维卷积结果。
举例:对7x7x3这种RGB三通道的输入是如何卷积的?
7x7x3的张量,卷积核W0也必须最后一维是3的张量,这里卷积核W0的单个子矩阵维度为3x3。那么卷积核W0实际上是一个3x3x3的张量。卷积过程:这里是张量的卷积,即两个张量的3个子矩阵卷积后,再把卷积的结果相加后再加上偏倚b。得到一个卷积结果。步幅Stride为2、有两个卷积核W0和W1,则卷积结果为:卷积的结果是一个3x3x2的张量(有两个卷积核)。
一. 单通道图像的卷积计算过程
下面各图中所有数学符号的说明如下:
n:图片的宽度和高度
n_c:表示图片的通道数
f: 过滤器的尺寸大小
m: 过滤器的数量
Q: 卷积运算后的输出图像的尺寸大小
p:所要填充的像素值,padding=0称为Valid Convolution;为了得到与原始输入图像相同尺寸的输出图像而加入的padding,称为Same Convolution
s:卷积步长stride
[]:表示卷积运算后的结果是向下取整运算,如93.6经过[93.6]运算后是93
Q的计算公式如下:
基本计算原理
动态过程:
多通道图像的卷积计算过程
3.1 单个卷积核/过滤器(filters)的3D卷积运算
3.2 多个卷积核/过滤器(filters)的3D卷积运算
上述卷积过程关系总结
1)卷积后得到图片的通道数n_c等于卷积过程中使用的卷积核/过滤器个数
2)卷积后的输出图片尺寸大小根据上面的公式计算出Q
二、1*1卷积核的作用
单通道图片上使用1*1的卷积核
只会在原来的输入图片的像素上乘以一个系数,没有什么直接的效果
多通道图片上使用11的卷积核
输入是6632的图片,经过1132的卷积核进行卷积运算后,得到的输出图片是66*卷积过程中使用的卷积核个数。这样就将输入图片的通道数32改变了,相当于给输入图片进行降维或升维操作。注:输出图片的尺寸,还是根据最开始的公式计算,即Q值的大小。