基本概念的理解
原图片有几个通道,卷积核就有几个通道
例如原图有3个通道分别为x1,x2,x3矩阵,卷积核也有对应的3个通道分别为w1,w2,w3
x1*w1得到一个数,x2*w2得到一个数,x3*w3得到一个数,三个数之和为原图通过这个卷积核卷积后得到的一个feature map 矩阵中的一个元素,按此类推,卷积核在原图上滑动就会得到这个feature map的其他元素。
所以,不管原图有几个通道,一个卷积核对原图卷积后,都会得到一个二维的feature map.
多个卷积核对原图卷积就会得到多个feature map,这些feature map 重叠在一起后就又变成了一个立体,深度就是前面卷积核的个数。
效果见链接:图片的通道数和卷积核的深度
上面的原理可以用下面的数学公式实现:
每张图片x不管有几个通道,都转换为一个列向量(图片是个矩阵,按行取),如果有多个通道,按通道排列下去,例如rgb图按red,green,blue排列。
卷积核也是转换成一个列向量(卷积核是个矩阵,按行取)
卷积核转置(下图为转置例子)即变成一个行向量
卷积可以用下面公式表示,W为卷积核的列向量,x为被卷积区域对应的列向量,这儿没有通道的概念,因为有多个通道是按通道排下去的,例如卷积核大小为3*3,如果图片为rgb图片,那么x为3*3*3=27个元素的列向量,w是27个元素的行向量
疑问?原图是根据卷积核大小转换为列向量的?只把被卷积的部分变成列向量?否则和上面的原理对不上了?
同一个卷积核对多张图片进行卷积,然后再换卷积核?
同一个卷积核对一张图片卷积后得到一个数,对多张图组成的矩阵卷积后得到一个行向量
全连接层是上一层卷积池化后的结果是多少,就用相同大小深度的图片进行卷积,然后得到1个数,全连接层的输出结果为多少个数,就需要多少个这种卷积核。例如:上一层的结果是5*5大小20层,全连接层需要输出100个数,那需要100个5*5*20的卷积核,也就是100*20张5*5的矩阵。
因为是全连接,所以就没说卷积核的情况,默认就是和上一层图片相同大小的卷积核。
网友评论