深度学习_卷积神经网络

卷积神经网络(Convolutional Neural Network, CNN)用于图像识别,在CNN 中有卷积层(Convolution层)、池化层(Pooling层)和全连接层(fully-connected), 随着网络深度的加深,高度和宽度会逐渐减小,信道的数量逐渐增加。
常见的卷积神经网络有两种:
(1)Input -> 卷积层 -> 池化层 -> 卷积层 -> 池化层 -> …… -> 全连接层(几个)-> Softmax -> Output
(2)Input -> 卷积层(一个或多个)-> 池化层 -> 卷积层(一个或多个)-> 池化层 -> …… -> 全连接层(几个)-> Softmax -> Output

1.卷积层
卷积层可以使图像保持形状不变,能正确理解图像等具有形状的数据,避免了全连接层无法利用与形状相关的信息。过滤器大小通常是奇数。
卷积运算:
深度学习_卷积神经网络_第1张图片
深度学习_卷积神经网络_第2张图片
卷积运算加偏置,是把偏置分别加到各个像元上
深度学习_卷积神经网络_第3张图片
三维数据的卷积运算,有几个通道就需要几个滤波器,然后对应通道进行卷积运算,再把各通道计算值相加。
深度学习_卷积神经网络_第4张图片
深度学习_卷积神经网络_第5张图片
把数据看作是方块,进行理解;滤波器与输入数据具有一样的通道,最后输出数据是一维的。
深度学习_卷积神经网络_第6张图片
选择FN个滤波器,会生成FN维的输出数据
深度学习_卷积神经网络_第7张图片
2.填充
填充是在输入数据周围填入固定的数据(比如0),主要是为了调整输出数据的大小。
一般有两种方式
(1)不填充
(2)填充使图像卷积后大小不变
深度学习_卷积神经网络_第8张图片
3.步幅
步幅就是使用滤波器时的位置间隔。

输出数据大小计算式:
深度学习_卷积神经网络_第9张图片
H: 输入数据的高
W: 输入数据的宽
FH: 滤波器的高
FW: 滤波器的宽
P: 填充
S: 步幅
OH: 输出数据的高
OW: 输出数据的宽

4.池化层
采用池化层是为了缩小图像,“输出数据大小计算式”也适用于池化层的计算。
两种池化方式
(1)Max 池化
(2)Average 池化
深度学习_卷积神经网络_第10张图片
特点:
(1)池化过程中没有要学习的参数
(2)池化前后通道数不发生变化
深度学习_卷积神经网络_第11张图片
(3)对微小的位置变化具有鲁棒性(健壮)

你可能感兴趣的:(深度学习)