1. 卷积神经网络
1. 卷积神经网络基础
1.卷积神经网络基础
- 卷积: Convolution,输入信息与核函数(滤波器)的乘积
一维信号的时间卷积:输入x,核函数w,输出时一个连续时间段t的加权平均结果。
二维图像的空间卷积:输入图像I,卷积核K,输出图像O。 - 单个二维图片卷积: 输入为单通道图像,输出为单通道图像。
- 数字图像的表示:图像数据存储,多通道的二维矩阵。通道越多,可以表达的特征越多。
- 特征图:如何表达每一个网络层中高维的图像数据?
特征图(Featuremap):通道× 高度× 宽度,Ci× Hi × Wi。 - 多通道卷积:输出特征图的每一个通道,由输入图的所有通道和相同数量的卷积核先一一对应各自进行卷积计算,然后求和。需要的总的卷积核数量:Ci*Co。
- 填充:padding:给卷积前的输入图像边界添加额外的行/列。
• 控制卷积后图像分辨率,方便计算特征图尺寸的变化;
• 弥补边界信息“丢失”。 - 步长(stride):卷积核在图像上移动的步子。
• stride太小,重复计算较多,计算量大,训练效率降低;
• stride太大,会造成信息遗漏,无法有效提炼数据背后的特征; - 输入输出大小计算
- 池化(pooling):对图像进行下采样,降低图像分辨率。
最大池化(取核的最大值):保留显著特征。
平均池化(取核的平均值):保留总体特征。
• 使特征图变小,简化网络计算复杂度;
• 压缩特征进行逐级抽象; - 感受野(Receptive Field):某一层一个元素对应输入层的一个映射区域大小。感受野越大,得到的全局信息越多。
2.卷积与全连接的比较
全连接的局限性(1、2):
- 参数量有效性:全连接神经网络有巨大的模型参数量。
全连接结构计算量巨大,1000×1000的输入,如果隐藏层也是同样大小(1000×1000个)的神经元,由于神经元和图像每一个像素连接,则会有参数1000×1000×1000×1000,一层网络就已经有10^12个参数,32浮点数,约400MB。 - 特征表达能力:一般需要将人工提取的特征输入神经网络。
• 全连接神经网络的角色只是一个分类器,性能局限于研究人员的经验和特征的表达能力,无法应对各种不变性。
• 如果直接将整个图片输入网络,不仅参数量大,也没有利用好图片中像素的空间特性,增加了学习的难度。 - 局部连接:局部连接可以更好地利用图像中的结构信息,空间距离越相近的像素其相互影响越大。
- 权重共享:1)保证不变性,图像从一个局部区域学习到的信息应用到其他区域。2)减少参数,降低学习难度。
• 全连接结构:1000×1000的图像,隐藏层有1000×1000个神经元,参数量为1000×1000×1000×1000=10^12。
• 局部连接:假如每个神经元只和输入10×10的局部块相连接,且卷积核移动步长为10,则参数为1000×1000×100,降低了4个数量级。 - ANN与CNN比较:传统神经网络为有监督的机器学习,输入为特征;卷积神经网络为无监督特征学习,输入为最原始的图像。
2. 典型卷积神经网络模型
1. 卷积和池化反向传播
- 误差反向传播算法
δ j l = ∑ i w j i l + 1 δ i l + 1 f ′ ( x j l ) \delta_j^l=\sum_iw_{ji}^{l+1}\delta_i^{l+1}f'(x_j^l) δjl