卷积神经网络
卷积神经网络(Convolutional Neural Network,CNN或ConvNet)是一种具有局部连接、权重共享等特性的深层前馈神经网络。卷积神经网络最早是主要用来处理图像信息。如果用全连接前馈网络来处理图像时,会存在以下两个问题:
参数太多
:如果输入图像大小为100×100×3(即图像高度为100,宽度为100,3 个颜色通道:RGB)。在全连接前馈网络中,第一个隐藏层的每个神经元到输入层都有100×100×3 = 30, 000 个相互独立的连接,每个连接都对应一个权重参数。随着隐藏层神经元数量的增多,参数的规模也会急剧增加。这会导致整个神经网络的训练效率会非常低,也很容易出现过拟合。局部不变性特征
:自然图像中的物体都具有局部不变性特征,比如尺度缩放、平移、旋转等操作不影响其语义信息。而全连接前馈网络很难提取这些局部不变特征,一般需要进行数据增强来提高性能。
卷积
卷积(Convolution),也叫摺积,是分析数学中一种重要的运算。在信号处理或图像处理中,经常使用一维或二维卷积。
卷积层
卷积层的作用是提取一个局部区域的特征,不同的卷积核相当于不同的特征提取器。上一节中描述的卷积层的神经元和全连接网络一样都是一维结构。既然卷积网络主要应用在图像处理上,而图像为两维结构,因此为了更充分地利用图像的局部信息,通常将神经元组织为三维结构的神经层,其大小为高度M×宽度N×深度D,有D个M × N 大小的特征映射构成。
特征映射
(Feature Map)为一幅图像(或其它特征映射)在经过卷积提取到的特征,每个特征映射可以作为一类抽取的图像特征。为了提高卷积网络的表示能力,可以在每一层使用多个不同的特征映射,以更好地表示图像的特征。
池化层(汇聚层)
常用网络结构
LeNet-5
LeNet-5[LeCun et al., 1998] 虽然提出的时间比较早,但是是一个非常成功的神经网络模型。基于LeNet-5 的手写数字识别系统在90 年代被美国很多银行使用,用来识别支票上面的手写数字。
Inception 网络
在卷积网络中,如何设置卷积层的卷积核大小是一个十分关键的问题。在Inception 网络中,一个卷积层包含多个不同大小的卷积操作,称为Inception 模块。Inception 网络是由有多个inception 模块和少量的汇聚层堆叠而成。
其它卷积方式
转置卷积
空洞卷积
Text-CNN
卷积神经网络(CNN)利用具有应用于局部特征的卷积滤波器的层(LeCun等,1998)。最初发明用于计算机视觉的CNN模型随后被证明对NLP有效,并且在语义分析(Yih等人,2014),搜索查询检索(Shen et al。,2014),句子建模(Kalchbrenner)方面和其他传统的NLP任务(Collobert等,2011)取得了优异的成果。
Text-CNN就是将卷积神经网络应用于文本方面,下面是一个双通道的一维卷积模型示意图:
Text-CNN 的 tensorflow 代码实现。
参考文献
《神经网络与深度学习》
《Convolutional Neural Networks for Sentence Classification》