定义
卷积神经网络(Convolutional Neural Network, CNN)表示该网络采用称为卷积的数学运算。卷积是一种特殊的线性运算,卷积网络只是简单的神经网络,在其至少一层中使用卷积代替通用矩阵乘法[1]。
卷积神经网络由一个或多个卷积层和顶端的全连通层(对应经典的神经网络)组成,同时也包括关联权重和池化层(pooling layer)。这一结构使得卷积神经网络能够利用输入数据的二维结构。CNN被广泛应用于图像和视频分类,图像分类,医学图像分析和自然语言处理领域。
结构
图 1 卷积神经网络总体结构示意图
卷积层(Convolutional Layer)
图 2 卷积层中的神经元(蓝色圆球),和其对应的感受野连接(红色方块区域)
卷积层是一组平行的特征图,是卷积操作的结果。卷积是CNN的核心组成部分,这是一种数学运算,通过在输入图像上滑动不同的卷积核,在每一个滑动的位置上,卷积核与对应输入图像的感受野区域会进行元素对应乘积并求和的运算以将感受野内的信息投影到卷积层特征图中的一个元素。这些卷积核的感受野较小,且多个卷积核可以扩展输入数据的深度,形成卷积层。一张特征图中的所有元素都是通过一个卷积核计算得出的,也即一张特征图共享了相同的权重和偏置项。
线性整流层(ReLu Layer)
ReLU(Rectified Linear Unit)代表用于非线性操作的整流线性单元,其作为激活函数,目的是在卷积神经网络中引入非线性,其对应的输出为:
池化层(Pooling Layer)
当图像太大时,池化层部分将减少参数的数量。空间池化也称为子采样或下采样,可在保留重要信息的同时降低数据维度,可以具有不同的类型,如最大值池化(Max Pooling),平均池化(Average Pooling),加和池化(Sum Pooling)。
最常见的是最大值池化,其将输入的图像划分为若干个矩形区域,对每个子区域输出最大值。这种机制能够有效地原因在于,在发现一个特征之后,它的精确位置远不及它和其他特征的相对位置的关系重要。池化层会不断地减小数据的空间大小,能够在一定程度上控制过拟合。通常来说,CNN的卷积层之间都会周期性地插入池化层。
图 3 每隔两个元素进行2*2最大值池化操作示意图
全连接层(Fully Connected Layer)
最后经过几个卷积和最大池化层之后,神经网络中的高层推理是通过全连接层完成的。 如常规(非卷积)人工神经网络所示,全连接层中的神经元与上一层中的所有激活都有联系。 因此,可以将它们的激活计算为仿射变换,通过矩阵相乘再加上偏置得到输出。
最后,通过损失函数(Softmax或Sigmoid等)来执行分类或判断任务。
应用
1、自然语言处理
CNN也已经探索用于自然语言处理,在语义解析[3],检索[4],语句建模[5],分类[6],预测[7]等任务中取得了优异的成绩。
2、图像识别
CNN通常用于图像识别系统。据报道,2012年,MNIST数据库的错误率为0.23%。随后,AlexNet [8]赢得了2012年ImageNet大规模视觉识别挑战赛的冠军。
当应用于面部识别时,CNN的错误率大大降低。在一项应用于超过10个主题的5600张静止图像的识别任务中,识别率为97.6%[9]。
3、围棋
卷积神经网络在计算机围棋领域也被使用。2016年3月,AlphaGo对战李世乭的比赛,展示了深度学习在围棋领域的重大突破。
参考文献
[1] Ian Goodfellow and Yoshua Bengio and Aaron Courville (2016). Deep Learning. MIT Press. p.326.
[2] Collobert, Ronan; Weston, Jason (2008-01-01). A Unified Architecture for Natural Language Processing: Deep Neural Networks with Multitask Learning. Proceedings of the 25th International Conference on Machine Learning.ICML '08. New York, NY, USA: ACM. pp.160–167.
[3] Grefenstette, Edward; Blunsom, Phil; de Freitas, Nando; Hermann, Karl Moritz (2014-04-29). "A Deep Architecture for Semantic Parsing".arXiv:1404.7296.
[4] Mesnil, Gregoire; Deng, Li; Gao, Jianfeng; He, Xiaodong; Shen, Yelong (April 2014). "Learning Semantic Representations Using Convolutional Neural Networks for Web Search – Microsoft Research".Microsoft Research. Retrieved 2015-12-17.
[5] Kalchbrenner, Nal; Grefenstette, Edward; Blunsom, Phil (2014-04-08). "A Convolutional Neural Network for Modelling Sentences".arXiv:1404.2188.
[6] Kim, Yoon (2014-08-25). "Convolutional Neural Networks for Sentence Classification".arXiv:1408.5882.
[7] Collobert, Ronan, and Jason Weston. "A unified architecture for natural language processing: Deep neural networks with multitask learning."Proceedings of the 25th international conference on Machine learning.ACM,2008.
[8] Dave Gershgorn (18 June 2018). "The inside story of how AI got good enough to dominate Silicon Valley".Quartz. Retrieved 5 October 2018.
[9] Matusugu, Masakazu; Katsuhiko Mori; Yusuke Mitari; Yuji Kaneda (2003). "Subject independent facial expression recognition with robust face detection using a convolutional neural network".Neural Networks.16(5):555-559.
参阅:池化、过拟合