卷积原理
概念与参数
Input Volume:输入,通常是像素矩阵,(7 * 7 * 3个通道)
Filter:卷积核,是一个矩阵(3 * 3 * 3个通道),可以有多个
Output Volume:输出
pad:空洞,在输入矩阵周围增加一圈0,目的是更好地提取边缘特征
stride:步长,卷积核每次移动的长度
卷积核个数:一个卷积核对应一个特征图
神经元:输出特征图中一个元素叫做神经元
感受野:输出特征图中一个神经元在原始图像上能感知的大小
偏置:一个卷积核对应一个偏置,在卷积完之后给输出特征图每个加上
卷积结果计算公式
P是pad厚度,H1是输入矩阵长度,
$$
P:pad厚度,F_H:卷积核长度,F_w:卷积核宽度,S:步长,H_1:输入长度,W_1:输入宽度
$$
长度:
$$
H_2 = \frac{H_1 - F_H + 2P}{S} + 1
$$
宽度:
$$
W_2 = \frac{W_1 - F_W + 2P}{S} + 1
$$
卷积层
所谓“层数”,是连续做卷积操作的次数。通常控制一次卷积的输入输出维度是不变的,因此层数无限制。
池化层
把卷积层得到的特征图缩小,目的是为了提高运算速度,会损失一些特征。为了弥补这部分特征,往往在池化后会将特征图的个数翻倍
池化需要一步一步去做,一次性不要缩的太小
224 * 224 * 64 -> 112* 112 * 64
最大池化 MAX POOLING
特征图某区域内取出最大值来代表这个区域的特征
全连接层
把特征图拉长成向量,wx+b,得到分类结果
全连接层通常只用于最后的输出,而不用于提取特征
其它细节
标准化:在最初预处理数据和每次卷积操作后进行,和卷积层是绑定的,不加的话可能导致深度学习出现严重偏离。
经典网络
Resnet网络:残差学习
解决深层网络效果反而减弱的问题,在卷积后加上原来的权重参数,“至少不比原来差”