吴恩达-深度学习笔记《卷积神经网络》
CNN的提出以及优势
简单卷积网络示例
池化层
其他
使用卷积的原因
相比标准神经网络,对于大量的输入数据,卷积过程有效地减少了 CNN 的参数数量,原因有以下两点:
1,参数共享(Parameter sharing):特征检测如果适用于图片的某个区域,那么它也可能适用于图片的其他区域。即在卷积过程中,不管输入有多大,一个特征探测器(滤波器)就能对整个输入的某一特征进行探测。
2,稀疏连接(Sparsity of connections):在每一层中,由于滤波器的尺寸限制,输入和输出之间的连接是稀疏的,每个输出值只取决于输入在局部的一小部分值。
池化过程则在卷积后很好地聚合了特征,通过降维来减少运算量。
由于 CNN 参数数量较小,所需的训练样本就相对较少,因此在一定程度上不容易发生过拟合现象。并且 CNN 比较擅长捕捉区域位置偏移。即进行物体检测时,不太受物体在图片中位置的影响,增加检测的准确性和系统的健壮性。
数据扩增
1,计算机视觉领域的应用都需要大量的数据。当数据不够时,数据扩增(Data Augmentation)就有帮助。常用的数据扩增包括镜像翻转、随机裁剪、色彩转换。
2,其中,色彩转换是对图片的 RGB 通道数值进行随意增加或者减少,改变图片色调。另外,PCA 颜色增强指更有针对性地对图片的 RGB 通道进行主成分分析(Principles Components Analysis,PCA),对主要的通道颜色进行增加或减少,可以采用高斯扰动做法来增加有效的样本数量。具体的 PCA 颜色增强做法可以查阅 AlexNet 的相关论文或者开源代码。
3,在构建大型神经网络的时候,数据扩增和模型训练可以由两个或多个不同的线程并行来实现。
全连接层
在整个卷积神经网络中起到“分类器”的作用。如果说卷积层、池化层和**函数层等操作是将原始数据映射到隐层特征空间的话,全连接层则起到将学到的“分布式特征表示”映射到样本标记空间的作用。