天天看点

深度学习_卷积神经网络

卷积神经网络(Convolutional Neural Network, CNN)用于图像识别,在CNN 中有卷积层(Convolution层)、池化层(Pooling层)和全连接层(fully-connected), 随着网络深度的加深,高度和宽度会逐渐减小,信道的数量逐渐增加。

常见的卷积神经网络有两种:

(1)Input -> 卷积层 -> 池化层 -> 卷积层 -> 池化层 -> …… -> 全连接层(几个)-> Softmax -> Output

(2)Input -> 卷积层(一个或多个)-> 池化层 -> 卷积层(一个或多个)-> 池化层 -> …… -> 全连接层(几个)-> Softmax -> Output

1.卷积层

卷积层可以使图像保持形状不变,能正确理解图像等具有形状的数据,避免了全连接层无法利用与形状相关的信息。过滤器大小通常是奇数。

卷积运算:

深度学习_卷积神经网络
深度学习_卷积神经网络

卷积运算加偏置,是把偏置分别加到各个像元上

深度学习_卷积神经网络

三维数据的卷积运算,有几个通道就需要几个滤波器,然后对应通道进行卷积运算,再把各通道计算值相加。

深度学习_卷积神经网络
深度学习_卷积神经网络

把数据看作是方块,进行理解;滤波器与输入数据具有一样的通道,最后输出数据是一维的。

深度学习_卷积神经网络

选择FN个滤波器,会生成FN维的输出数据

深度学习_卷积神经网络

2.填充

填充是在输入数据周围填入固定的数据(比如0),主要是为了调整输出数据的大小。

一般有两种方式:

(1)不填充

(2)填充使图像卷积后大小不变

深度学习_卷积神经网络

3.步幅

步幅就是使用滤波器时的位置间隔。

深度学习_卷积神经网络

输出数据大小计算式:

深度学习_卷积神经网络

H: 输入数据的高

W: 输入数据的宽

FH: 滤波器的高

FW: 滤波器的宽

P: 填充

S: 步幅

OH: 输出数据的高

OW: 输出数据的宽

4.池化层

采用池化层是为了缩小图像,“输出数据大小计算式”也适用于池化层的计算。

有两种池化方式:

(1)Max 池化

(2)Average 池化

深度学习_卷积神经网络

特点:

(1)池化过程中没有要学习的参数

(2)池化前后通道数不发生变化

深度学习_卷积神经网络

(3)对微小的位置变化具有鲁棒性(健壮)

继续阅读