网络结构
输入→卷积(C1)→池化(S2)→卷积(C3)→池化(S4)→全连接(F5)→全连接(F6)→输出(Output)
整个网络的输入部分,在图像中,一般就是一个图像的像素矩阵,一般为三维矩阵,其中长宽代表了图像的大小,深度代表了图像的色彩通道(channel),其中,黑白图片的深度为1,彩色采用RGB色彩模式下的深度为3.
卷积层中的输入为上一层中的一小块(一般为33或55的卷积块),通过卷积操作,会使节点矩阵变得更深。
卷积层的计算
深度:如下图
步长:滑动窗口每次移动的长度
填充值(padding):在原有的矩阵外填充(一般为0)一层,以便遍历矩阵的全部像素
卷积操作:
特征图的边长:N = ( W − F + 2 P ) / S + 1
其中,W是输入的图像,F是卷积核大小,P是填充值,S是步长。
池化层可以看作将一张高分辨率的图像转化为低分辨率的图像,通过池化层,可以进一步缩小最后全连接层中节点的个数,以减少神经网络中的参数。
如下图。
LeNet-5共有7层,不包含输入,每层都包含可训练参数;每个层有多个Feature Map,每个FeatureMap通过一种卷积滤波器提取输入的一种特征,然后每个FeatureMap有多个神经元。
在上述图像中,输入层为一个32×32像素的图像,其通道数为1.
使用了6个5×5大小的卷积核,padding=0,stride=1,输出为6个28×28大小的特征图
使用 16 个 5×5xn 大小的卷积核,padding=0,stride=1 进行卷积,得到 16 个 10×10 大小的特征图:14-5+1=10
使用 16 个 2×2 大小的卷积核进行池化,padding=0,stride=2,得到 16 个 5×5 大小的特征图:10/2=5。
参数个数:(1+1)*16=32。
使用 120 个 5×5x16 大小的卷积核,padding=0,stride=1进行卷积,得到 120 个 1×1 大小的特征图:5-5+1=1。即相当于 120 个神经元的全连接层。
参数个数:(5516+1)120=48120。
连接数:481201*1=48120
Output 层共有 10 个节点,分别代表数字 0 到 9。假设x是上一层的输入,y 是 RBF的输出,则 RBF 输出的计算方式是:
参数个数:84*10=840。
连接数:84*10=840