胡韬
摘 要
卷积神经网络是深度学习算法中一个重要组成部分,在深度学习图像识别技术的应用中起到了关键作用,本文先阐述了卷积神经网络的基本概念和结构,然后介绍和对比了几种经典的卷积神经网络,并论述了发展方向。
关键词
卷积神经网络;输入层;卷积层;全连接层;输出层;AlexNet
中图分类号: TP183 文献标识码: A
DOI:10.19694/j.cnki.issn2095-2457.2020.09.058
1 卷积神经网络的基本概念
卷积神经网络基于传统的人工神经网络,它类似于传统的全连接神经网络,但也有自己的不同之处,卷积神经网络把图片转换成二维矩阵格式的数据,输入数据,网络的各层都以二维矩阵的方式处理数据,这样的数据处理方式适用于二维矩阵格式的数字图像,相较于传统的人工神经网络,它能更快更好地把特征值从图像数据中提取出来。
2 卷积神经网络的基本结构
卷积神经网络的基本结构由以下几个部分组成:输入层(input),卷积层(convolution),池化层(pooling),全连接层(full-connection)和输出层(output),如图1所示。
2.1 输入层
在输入层中,主要进行输入数据处理,有两种常用的方法:去均值:把数据的各个维度均中心化为0。归一化:调整输入数据到相同的范围之间,以避免数据之间的差距过大而造成的干扰。
2.2 卷积层
卷积层中对数据进行卷积运算,卷积运算的主要目的是增强原数据的特征信息,并减少噪音。卷积运算一共有三个步骤:
(1)求点积:如图2,将5x5输入矩阵中3x3深蓝色区域中每个元素分别与其对应位置的权值(红色数字)相乘,然后再相加,所得到的值作为3x3输出矩阵(绿色的)的第一个元素。
(2)滑动窗口:如图3,将3x3权值矩阵向右移动一个格(即步长为1)。
(3)重复操作:同样地,将此时深色区域内每个元素分别与对应的权值相乘然后再相加,所得到的值作为输出矩阵的第二个元素;重复上述“求点积-滑动窗口”操作,直至得到输出矩阵所有值。卷积核在2维输入数据上“滑动”,对当前输入部分的元素进行矩阵乘法,然后将结果汇为单个输出像素值,重复这个过程直到遍历整张图像,这个过程就叫作卷积,这个权值矩阵即卷积核,卷积操作后的图像称为特征图。
2.3 池化层
在卷积层之后常常紧接着一个降采样层,主要目的是减小矩阵的长和宽以及减少输入矩阵的参数。计算图像一个区域上的某个特定特征的平均值或最大值,这种聚合操作就叫作池化。常用的池化方法有两种:
(1)均值池化:对池化区域内的像素点取均值,这种方法常用于获取背景信息,因为得到的特征数据对背景信息更敏感。
(2)最大池化: 如图4,对池化区域内所有像素点取最大值,这种方法常用于获取纹理特征信息,因为得到的特征数据对纹理特征信息更加敏感。卷積层的作用是获取上一层的局部特征,而池化的作用是合并相似的特征,目的是降维。
2.4 全连接层
类似于传统的神经网络,全连接层的作用是连接所有的神经元,向下一层神经元传递数据,上一层的每个神经元和下一层的神经元都相互连接,因为用到了所有局部特征,所以叫全连接层。全连接层一般跟在所有的卷积层和池化层之后,在输出层之前,对数据进行分类。
2.5 输出层
输出层一般在全连接层之后,输出层通过全连接层的激活函数输出各个图像类别的概率。
2.6 激活函数
激活函数的作用是选择性地对神经元节点进行特征增强或减弱,增强激活有用的目标特征,减弱无用的特征,从而可以解决非线性问题。常见的激活函数有Sigmoid函数、Tanh函数、ReLu函数和Softmax函数等。Sigmoid函数在传统的全连接神经网络中用得较多,ReLu函数和Softmax函数在卷积神经网络中常用。Sigmoid函数的数学模型如下:
3 经典卷积神经网络模型
在卷积神经网络发展的历程中,有不少经典卷积神经网络模型有着突出的表现,有的在卷积神经网络的发展历程中有重要意义。
AlexNet是一个经典的卷积神经网络模型,它采用了两种方法了避免过拟合,第一种方法是Dropout,即以一定的概率(比如0.6)将神经元的输出设置为0,每一个样本尝试了一种新的神经网络结构,每种神经网络的权重共享,降低了神经元复杂相互依赖的关系。但AlexNet也有缺点,其收敛所需要的迭代次数增加了一倍左右。第二种方法是数据增强,即对样本图像进行缩放、随机裁剪、水平翻转、上下翻转改变对比度和白化处理等。
在AlexNet之后,随后又出现了多种卷积神经网络模型,其中有VGGNet,GoogleNet模型等。VGGNet是加深版本的AlexNet,VGGNet有VGG16和VGG19两种,分别是16层和19层的卷积神经网络模型。而GoogleNet的深度比VGGNet更深,达到了22层,同时在网络不同深度增加了损失函数来避免反向传播梯度消失,GoogLeNet的一大重要的特点就是使用了Inception模块,在Inception 出现之前,大部分流行卷积神经网络仅仅是不断增加卷积层和池化层,使网络越来越深,以此希望能够得到更好的性能,而Inception模块在3x3卷积层和5x5卷积层之外还增加了1x1卷积层,1x1卷积层起到了降维的作用,同时使得网络的宽度和深度都扩大了。这些模型呈现的趋势是网络的深度和宽度不断扩大,并且模型准确率也越来越高,收敛所需要的时间也越来越短。
4 结语
本文从三个不同方面综述了卷积神经网络,分别为:卷积神经网络的基本概念、卷积神经网络的基本结构和经典的卷积神经网络。卷积神经网络的基本结构主要包含以下几个部分:输入层、卷积层、池化层、全连接层、输出层和激活函数,本文详细阐述了每个部分的原理和功能。最后介绍了一些经典的卷积神经网络,对比了它们之间的优缺点并阐述了每种网络的特点以及重要意义。
参考文献
[1]田启川,王满丽.深度学习算法研究进展[J].计算机工程与应用.2016.4.
[2]张亚倩.卷积神经网络研究综述[J].信息通信.2018.11.
[3]黄友文,万超伦.基于深度学习的人体行为识别算法[J].人工智能.2018.10.
[4]俞颂华.卷积神经网络的发展和应用综述[J].信息通信.2019.2.
[5]Simonyan K,Zisserman A.Very deep convolutional networks for large-scale image recognition[J].arXiv preprint arXiv:1409.1556,2014.
[6]Zhang Pengfei,Lan Cuiling,Xing Junliang.View Adaptive Neural Networks for High Performance Skeleton-based Human Action Recognition[C].IEEE.2019.