CNN主要结构

        CNN(卷积神经网络),是一类包含卷积计算且具有深度结构的前馈神经网络是深度学习的代表算法之一,常常被应用于图像分类与识别、自然语言处理、图像着色、视频内容分类和视频标注等等,以下将介绍卷积神经网络的主要结构。

1.1卷积层

        卷积层主要是由一些卷积单元一起组成,并且为了优化该神经网络,还须使用反向传播算法。为了获得输入图片数据的一些特征,要对其进行卷积操作。一般来说,位于第一层的卷积层得到的特征都相对比较低级,比如边、角和线等特征,层数多的网络可以通过低层特征的迭代来获得更加复杂的特征 。卷积层其实就是对输入的数据卷积,也可以理解为图像处理中进行的滤波器处理。如下图所示:

        当数据被输入时,滤波器的窗口以固定的间隔进行滑动,滤波器上的 9 个格子 上对应的数字与输入数据上数字重合时,将重合的数字相乘并依次相加,会得到一 个求和结果。最后将求和结果当作输出,保存到与之对应的位置,在整个输入数据 中将此流程遍历,最终得到的数据即为输出。具体流程如下:

卷积层的两个特点分别是局部连接和权值共享。

1.2 池化层

        池化层 ,在卷积神经网络中非常常见,它也常常被叫做子采样层。这一层网络中最常用的池化操作为最大池化,即取其中最大的数值。具体过程如图所示:

        经过池化后,整个数据空间大大减小,并且其中的一 些参数也相对减少,计算量也就变轻了许多,这样可以有效地防止拟合过度 。一 般来说,两个卷积层之间都会有池化层的存在。

 池化层的三个主要作用分别是:特征不变性、特征减维、防止过拟合。

1.3 全连接层

       全连接层主要特点是全相连,该特性导致全连接层的参数比其他网络层都多。如果说卷积层、池化层和激活函数层等操作是将原始数据映射到隐层特征空间的话,全连接层则起到将学到的“分布式特征表示映射到样本标记空间的作用。换句话说,就是将所有要素合并为一个要素,以便轻松传递到最后一个分类器或回归。

        如图 所示,对于前一层和后一层,前一层中的任何节点都连接到后一层中 的所有节点,也就是说每一层的节点会与前一层所有的节点连接在一起。这就是所谓的全相连特性。

 1.4 激活函数

        激活函数的作用主要是提供解决非线性问题的能力。目前卷积神经网络中常见的激活函数如下:

(1)Sigmoid 函数

        该函数及其反函数都具有单增性质,所以它常被当作激活函数使用。其因变量只会维持在 0 1 之间。表达式为:

函数图像为: 

(2)Tanh 函数
        tanh 函数的图像与 sigmoid 函数极为类似,不一样的地方在于该 函数的导函数的极值为 1 ,这种特性使得它利于解决卷积神经网络中梯度消失的问题。表达式为:

函数图像为:

(3) ReLU 函数
        ReLU 函数与前两种一样,都是非线性的。它的导函数在大于 0 的时候始终为 1 ,因此在神经网络中该函数就可以有效地避免梯度消失和爆炸。表达式为:

 

 函数图像:

猜你喜欢

转载自blog.csdn.net/m0_63156697/article/details/125675784