1. 卷积神经网络概念
卷积神经网络(CNN)是一种前馈神经网络,它由若干卷积层和池化层组成,尤其在图像处理方面CNN的表现十分出色。
1962年,Hubel和Wiesel通过对猫脑视觉皮层的研究,首次提出了一种新的概念“感受野”,感受野是卷积神经网络每一层输出的特征图(feature map)上的像素点在输入图片上映射的区域大小。再通俗点的解释是,特征图上的一个点对应输入图上的区域。
1989年,LeCun结合反向传播算法与权值共享的卷积神经层发明了卷积神经网络,并首次将卷积神经网络成功应用到美国邮局的手写字符识别系统中。1998年,LeCun 提出了卷积神经网络的经典网络模型LeNet-5,并再次提高手写字符识别的正确率。
CNN的基本结构由输入层、卷积层、池化层、全连接层及输出层构成。卷积层和池化层一般会取若干个,采用卷积层和池化层交替设置,即一个卷积层连接一个池化层,池化层后再连接一个卷积层,依此类推。
2. 卷积神经网络的特点
卷积神经网络由多层感知机(MLP)演变而来,由于其具有局部连接、权值共享、降采样的结构特点,使得卷积神经网络在图像处理领域表现出色。卷积神经网络相比于其他神经网络的特殊性主要在于权值共享与局部连接两个方面。
2.1 局部连接
在传统的神经网络结构中,神经元之间的连接是全连接的,即 n-1 层的神经元与 n 层的所有神经元全部连接。但是在卷积神经网络中,n-1 层与 n 层的部分神经元连接。
图1:全连接(左图)与局部连接(右图)的对比示意图
“局部连接”的意思实际就是,可以使用卷积核来获得一个局部(如 3 × 3 3 \times 3 3×3区域)的特征:
2.2 权值共享
在卷积神经网络中,卷积层中的卷积核类似于一个滑动窗口,在整个输入图像中以特定的步长来回滑动,经过卷积运算之后,从而得到输入图像的特征图,这个特征图就是卷积层提取出来的局部特征,而这个卷积核是共享参数的。在整个网络的训练过程中,包含权值的卷积核也会随之更新,直到训练完成。
其实权值共享就是整张图片在使用同一个卷积核内的参数。比如一个 3 × 3 × 1 3 \times 3 \times 1 3×3×1的卷积核,这个卷积核内9个的参数被整张图片共享,而不会因为图像内位置的不同而改变卷积核内的权系数。
权值共享的优点:
- 大大减少了卷积核中的参数数量(因为只需要一个相同的卷积核来回移动),降低了网络的复杂度。
- 传统的神经网络和机器学习方法需要对图像进行复杂的预处理提取特征,将得到特征再输入到神经网络中。而加入卷积操作就可以利用图片空间上的局部相关性,自动的提取特征。
一般情况,卷积层会有多个卷积核,对应多个通道。这是因为权值共享意味着每一个卷积核只能提取到一种特征,为了增加CNN的表达能力,需要设置多个卷积核。
2.3 降采样 (池化)
降采样是卷积神经网络的另一重要概念,通常也称之为池化(Pooling)。最常见的方式有最大值池化(max pooling)、最小值池化(min pooling)、平均值池化(average pooling)。池化的好处是降低了图像的分辨率,整个网络也不容易过拟合。
3. 卷积神经网络的结构
一个卷积神经网络模型一般由若干个卷积层、池化层和全连接层组成。
- 卷积层的作用是提取图像的特征;
- 池化层的作用是对特征进行抽样,可以使用较少训练参数,同时还可以减轻网络模型的过拟合程度。
- 网络的最后一般为1~2层全连接层,全连接层负责把提取的特征图连接起来
- 最后通过分类器得到最终的分类结果。
4. NLP中的卷积神经网络
4.1 一个简单的例子
对于一个句子"tentative deal reached to keep government op