CNN学习整理
本文只作为个人学习整理归纳总结,如有侵权请见谅
算法原理
概述
上世纪60年代,Hubel等人通过对猫视觉皮层细胞的研究,提出了感受野这个概念,到80年代,Fukushima在感受野概念的基础之上提出了神经认知机的概念,可以看作是卷积神经网络的第一个实现网络。第一个卷积神经网络模型名为LeNet。卷积神经网络(Convolutional Neural Network,CNN)是一种前馈神经网络,受到猫的视觉系统神经元局部敏感和方向选择特性的启发,加入了局部感知(卷积)和池化等能力,是一种高效识别方法。
(本文面向的读者默认对BP网络有一定认识)
CNN的分类模型与传统模型的不同点在于其可以直接将一幅二维图像输入模型中,接着在输出端即给出分类结果。其优势在于不需复杂的预处理,将特征抽取,模式分类完全放入一个黑匣子中,通过不断的优化来获得网络所需参数,在输出层给出所需分类,网络核心就是网络的结构设计与网络的求解。这种求解结构比以往多种算法性能更高。
该网络由输入层、卷积层、池化层、全连接层、输出层构成,这也是最经典的卷积神经网络结构。输入层输入数据集进行网络训练,卷积池化用于特征提取,全连接层将提取出的特征进行整合,在输出层得到结果。
卷积层
卷积层的作用是并行(多个卷积核分别同时进行卷积,每个卷积核代表从不同的角度进行特征提取)地进行特征提取,根据多个一定的权重(即卷积核W),依次对特征图(Feature Map,每一层的输出称为特征图,输入层的特征图为它本身)内以“块”为单位的像素(该部分像素称为感知野)进行内积(卷积)运算,其输出就是提取的特征之一。
卷积层中各输出计算公式(1)如下:
式中,上角标l表示该神经元在整个神经网络中对应的层数, Xlj