版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第四章:卷积神经网络20世纪60年代,生物学家胡伯(Hubel)和威塞尔(Wiesel)在研究猫脑皮层中用于局部敏感和方向选择的神经元时,发现其独特的网络结构可以有效地降低神经网络的复杂性,这些神经结构对视觉输入空间的子区域非常敏感,称之为感受野(ReceptiveField)。2006年,Hinton和博士生Salakhutdinov受这个生物学发现的启发,提出了卷积神经网络(ConvolutionalNeuralNetworks,CNN)。CNN是深度学习的重要内容,已经成为当前众多科学研究领域的热点之一,由于该网络避免了对图像的前期复杂预处理,可以直接输入原始图像,同时避免了传统识别算法中复杂的特征提取和数据重建过程,从而得到了更为广泛的应用,成为当前计算机视觉和语音分析领域的主流方法。本章将首先介绍数字图像的特征,然后重点介绍卷积运算、卷积神经网络的结构和训练,接着介绍当前的卷积神经网络类型和各领域的应用。在此基础上,读者可以进一步学习更多更有用的深度学习网络模型。引言第四章
卷积神经网络第四章
卷积神经网络4.1数字图像的特征4.2卷积运算4.3CNN的结构4.4CNN的训练4.5CNN的特点4.6CNN的类型4.7CNN的应用4.1数字图像的特征4.1.1图像特征的概念4.1.2图像特征的提取4.1.1
图像特征的概念在学习CNN之前,先来看一下图像在计算机中是如何表示的。如图4.1所示,如果将一幅图像放大,可以看到它是由一个个的小格子组成的,每个小格子是一个色块。如果用不同的数字来表示不同的颜色,图像就可以表示为一个由数字组成的矩形阵列,即图像是以矩阵的形式在计算机中存储。这里的小格子称之为像素(Pixel),而格子的行数与列数,统称为分辨率(Resolution)。比如,某幅图像的分辨率是1280*720,指的就是这张图是由1280行、720列的像素组成的。一般分辨率越高,图像质量越好;分辨率越低,图像质量越差,甚至会出现棋盘模式。反过来,如果给出一个由数字组成的矩阵,将矩阵中的每个数值转换为对应的颜色,并在电脑屏幕上显示出来,就可以复现这张图像图4.1计算机中图像的表示4.1.1
图像特征的概念通常计算机中的图像分为灰度图像和彩色图像。对于灰度图像,由于只有明暗的区别,因此只需要一个数字就可以表示出不同的灰度,一般用0表示最暗的黑色,255表示最亮的白色,介于0和255之间的整数则表示不同明暗程度的灰色。对于彩色图像,根据人眼结构,所有颜色可以看成是红(R)、绿(G)、蓝(B)三种基本颜色叠加后的颜色,这三种基本颜色是相互独立的,其中任何一种颜色都不能由其他两种颜色合成。彩色图像中每个像素都可以用(R,G,B)三个数字来表示,每种基本颜色用介于0到255之间的整数表示这个颜色分量的明暗程度,如图4.2所示。三个数字中对应某种基本颜色的数字越大,表示该基本颜色的比例越大,例如(255,0,0)表示纯红色,(0,255,0)表示纯绿色,(135,206,255)是天蓝色。图4.2色彩的表示4.1.1
图像特征的概念通过上述分析可知,一张彩色图像可以用一个由整数组成的立方体阵列来表示,称这样按立方体排列的数字阵列为三阶张量(Tensor)。张量是一个多维数组,现实中有很多特殊张量形式,如图4.3所示,标量属于零阶张量,矢量是一阶张量,而矩阵则是二阶张量。这个三阶张量的长度与宽度即为图像的分辨率,高度3,表示三种基本色。图4.3张量的表示对数字图像而言,三阶张量的高度也称为通道(Channel)数,因此也说彩色图像有三个通道。如图4.4所示,一幅原始的彩色图像,可以分解成RGB三幅图像,对应三个通道。对于灰度图像而言,只有一个通道。4.1.1
图像特征的概念4.1数字图像的特征4.1.1图像特征的概念4.1.2图像特征的提取4.1.2图像特征的提取图像特征的提取是图像处理过程中的一个重要步骤,它的作用是从图像中获得并提取关键的特征信息,特征的好坏对图像处理能力有至关重要的影响。这些特征可能是全局性的(如颜色直方图)或者特定于某些特征(如人脸的眼睛位置)。在图像处理中,特征提取是指使用计算机提取图像中属于特征性信息的方法及过程,其本质就是对图像中某一模式的测量值进行变换,以突出该模式具有代表性特征的一种方法。那么怎样从图像中提取特征呢?对于人类而言,这个过程非常简单,只要看一眼图片,大脑就可以获取这些特征信息。但是对于计算机而言,一幅图像就是以特定方式存储的一串数据。让计算机通过一系列计算,从这些数据中提取有辨识度特征是一件极其困难的事情。4.1.2图像特征的提取图像在计算机中可以表示成二阶张量即矩阵,那么从图像中提取特征便是对这个二阶张量进行运算的过程,其中非常重要的一种运算是卷积。以灰度图为例,我们知道在计算机中一幅灰度图像可以表示为一个由整数组成的矩阵。如果用一个形状较小的矩阵和这个图像矩阵做卷积运算,就可以得到一个新的矩阵,这个新的矩阵可以看作是一幅新的图像,也就是说,通过卷积运算可以将原图像变换为一幅新图像,整个过程如图4.5所示。图4.5图像特征的提取过程这幅新图像有时候比原图像更清楚地表示了某些性质,因而可以把它当作原图像的一个特征。这里用到的小矩阵就称为卷积核(Convolutional
Kernel),在图像处理领域又称滤波器(Filter)。通常,图像矩阵中的元素都是介于0到255的整数,但卷积核中的元素可以是任意实数。第四章
卷积神经网络4.1数字图像的特征4.2卷积运算4.3CNN的结构4.4CNN的训练4.5CNN的特点4.6CNN的类型4.7CNN的应用4.2.1卷积运算的概念前面已经看到卷积在图像处理中的运算结果,那么什么是卷积呢?卷积和加减乘除一样,是一种数学运算。在信号处理领域,卷积是两个变量(其中一个变量经过翻转、位移)在某范围内相乘后求和的过程。深度学习中卷积的概念与之相似(只是深度学习的卷积在运算过程中卷积核不经过翻转),卷积核以一定的步长在输入图片上滑动,每一步都将对应元素相乘后再求和。参与卷积运算的可以是向量、矩阵或三阶张量。接下去先从向量的卷积入手,讲解卷积的基本步骤,再将其推广到矩阵和三阶张量。4.2.2卷积运算的过程两个向量卷积的结果仍然是一个向量,它的计算过程如图4.6所示。首先将两个向量的第一个元素对齐,并截去长向量中多余的元素,然后,我们计算这两个维数相同的向量的内积,并将算得的结果作为结果向量的第一个元素。接下来,我们将短向量向下滑动一个元素,从原始的长向量中截去不能与之对应的元素,并计算内积。重复“滑动-截取-计算内积”这个过程,直到短向量的最后一个元素与长向量的最后一个元素对齐为止,这样就可以得到这两个向量卷积的结果向量。特殊地,当两个向量的长度相同时,不需要进行滑动操作,卷积结果是长度为1的向量,结果向量中这个元素就是两个向量的内积。图4.6向量的卷积运算4.2.2卷积运算的过程从上面的定义可知,卷积结果的维数通常比长向量低。有时候为了使得卷积之后维数和长向量一致,会在长向量的两端补上一些0。比如,对于图4.6中的例子,可以把长向量的两端各补一个0,变成(0,5,4,3,2,1,0),再进行卷积运算,就可以得到维数仍然为5的结果向量。类似地,可以定义矩阵的卷积。在此之前,首先需要将内积运算拓展到矩阵上,如图4.7所示,将卷积核与输入矩阵一一匹配,并做相乘相加运算,放到生成矩阵的对应位置。将这个过程在所有位置都进行一遍,就可以得到矩阵卷积运算的输出。4.2.2卷积运算的过程图4.7矩阵的卷积运算类似地,可以定义矩阵的卷积。在此之前,首先需要将内积运算拓展到矩阵上,如图4.7所示,将卷积核与输入矩阵一一匹配,并做相乘相加运算,放到生成矩阵的对应位置。将这个过程在所有位置都进行一遍,就可以得到矩阵卷积运算的输出。注意进行向量的卷积时(图4.6),只需要沿着一个方向进行滑动,而进行矩阵的卷积时(图4.7),则需要沿着横向和纵向两个方向进行滑动。4.2.2卷积运算的过程在前面的例子中,卷积核的尺寸为3×3,即行数×列数。在实际应用中,常见的卷积尺寸有1×1卷积、3×3卷积、5×5卷积、7×7卷积等。下面对部分卷积核进行适当的介绍:1×1卷积:通常用于输出维度的升维或降维。如图4.8所示,若特征图的尺寸是H×W×D,卷积核尺寸是1×1×D,则输出通道尺寸是H×W×1。如果将N次1×1卷积结果连接在一起时,就可以得到H×W×N的输出,当N>D时,实现升维,反之,则为降维;图4.8
1×1卷积运算示例4.2.2卷积运算的过程4.2.2卷积运算的过程3×3卷积:由于大尺寸卷积核的参数量较大,研究发现两个3×3卷积的堆叠,感受野等同于一个5×5卷积,但是参数量比5×5卷积的要少很多,所以大多数深度网络都离不开它的身影;5×5卷积:卷积核越大,感受野越大,看到的图像信息越多,所获得的全局特征越好。但是这样参数很多,会导致计算量暴增,所以一般将大尺寸卷积放在对输入图片的初始操作过程中(7×7同理)。4.2.2卷积运算的过程在前面的例子中,可以看到每次卷积都是向右移动一个单位,这里用来控制移动几个单位的参数称之为步长(Stride)。卷积核的步长定义了卷积核在图像中移动的每一步的大小,代表特征提取的精度。比如步长为2,那么在进行卷积运算时,当第一个矩阵部分运算完毕,就向右移动两格子,进行下一次运算,如图4.9所示。图4.9步长为2的卷积运算4.2.2卷积运算的过程另外,当卷积核与输入图像的尺寸不匹配时,就需要填充(Padding)图像。例如输入图像尺寸为5×5,卷积核的大小为3×3,如果不进行填充且步长为1的话,当卷积核沿着图像滑动后只能滑动出一个3×3的特征图出来,即卷积后的图像越变越小,且输入图像的边缘像素只被计算过一次,而中间像素会被卷积计算多次,意味着丢失图像角落信息。所以为了避免这种情况,往往需要先对原始图像做边界填充处理,这样可以保证边缘的信息能够得到充分的利用,而且输出的矩阵的大小可以得到控制。更进一步,可以通过控制填充的大小,使得输入矩阵和输出矩阵的大小维度一致,如图4.10所示,图中用虚线表示填充,并省略了填充的内容“0”。图4.10卷积运算的填充处理4.2.2卷积运算的过程类似地,可以定义三阶张量之间的卷积,其卷积过程如图4.11所示。三阶张量的卷积核可以在输入图像的3个方向,即图像的高度、宽度、深度上移动。计算过程与矩阵卷积类似,在每个位置各元素先相乘再相加,最后输出一个三阶张量数据,如图4.12所示提供了三阶张量卷积例子及计算顺序。相比于普通的二阶矩阵卷积,三阶张量卷积多了一个维度(深度),可以把这个深度看作视频中的连续帧,或者是立体图像中的不同的切片。因此,三阶张量卷积常应用在视频分类、医学影像、点云处理等领域。图4.11三阶张量的卷积示例图4.12三阶张量卷积的计算顺序第四章
卷积神经网络4.1数字图像的特征4.2卷积运算4.3CNN的结构4.4CNN的训练4.5CNN的特点4.6CNN的类型4.7CNN的应用4.3CNN的结构一个CNN通常由多个顺序连接的层(Layer)组成。第一层一般为输入层,就是输入图像信息并通过特定的运算从图像中提取特征。接下来每一层以前一层提取出的特征输入,对其进行特定形式的变换,便可以得到更复杂一些的特征。这种层次化的特征提取过程可以累加,从而赋予神经网络强大的特征提取能力。经过很多层的变换之后,神经网络就可以将原始图像变换为高层次的抽象特征。这种由简单到复杂、由低级到高级的抽象过程可以通过生活中的例子来体会。例如,在英语学习过程中,通过字母的组合,可以得到单词;通过单词的组合,可以得到句子;通过句子的分析,可以了解语义;通过语义的分析,可以获得表达的思想或目的。而这种语义、思想等,就是更高级别的抽象内容。4.3CNN的结构CNN的结构示例如图4.13所示,图中C表示特征提取层,也称为卷积层(ConvolutionalLayer),代表对输入图像进行卷积处理后得到的层。S表示特征映射层,也称为池化层(PoolingLayer),又称为下采样层(SubsamplingLayer),代表对输入图像进行池化得到的层。网络的每个计算层由多个特征映射组成,每个特征映射为一个平面,平面上所有神经元的连接权值相等。CNN中的每一个卷积层C都紧跟着一个用来求局部平均与二次提取的池化层S。C、S中的每一层都由多个二维平面组成,每一个二维平面是一个特征图。这种特有的两次特征提取结构能够容许识别过程中输入样本有较严重的畸变。图4.13CNN的结构示例4.3CNN的结构在图4.13中,输入图像首先和三个卷积核进行卷积,卷积后在C1层产生三个特征图。然后C1层的三个特征图分别通过池化,即对特征图中每一个区块取最大值或取平均值,得到S2层的三个特征图。这三个特征图再通过一个卷积核卷积得到C3层的三个特征图。与前面类似,池化得到S4层的三个特征图。最后,S4层的特征图矢量化后,变成向量。这个向量输入到传统的全连接神经网络中进行进一步的分类,得到输出。根据数字图像特征可知,图4.13中的C1、S2、C3、S4层中的所有特征图都是由像素定义图像的大小。由于这些特征图组成了神经网络的卷积层和池化层,这些特征图中的每一个像素恰恰就代表了一个神经元。每一层所有特征图的像素个数,就是这层网络的神经元个数。图4.13CNN的结构示例4.3CNN的结构如图4.14所示,这是2012年ImageNet挑战赛冠军的AlexNet神经网络。这个神经网络的主体部分由五个卷积层和三个全连接层组成,包括了卷积层、ReLU非线性激活层、池化层、全连接层、Softmax归一化指数层等。总体上,五个卷积层位于网络的最前端,依次对图像进行变换以提取特征。每个卷积层之后都有一个ReLU非线性激活层完成非线性变换。第一、二、五个卷积层之后连接有最大池化层,用以降低特征图的分辨率。经过五个卷积层以及相连的非线性激活层与池化层之后,特征图被转为4096维的特征向量,再经过两次全连接层和ReLU层的变换之后,成为最终特征向量。再经过一个全连接层和一个Softmax归一化指数层之后,就得到了对图片所属类别的预测。图4.14AlexNet卷积神经网络例子4.3CNN的结构4.3.1卷积层4.3.2池化层4.3.3非线性激活层4.3.4全连接层4.3.5归一化指数层4.3.1卷积层卷积层是深度神经网络在处理图像时常用的一种结构,当一个深度神经网络以卷积层为主体时,我们称之为卷积神经网络。神经网络中的卷积层就是卷积运算对原始图像或者上一层的特征进行变换的层。在4.2节中已经学习了用卷积运算来提取边缘特征,知道特定的卷积核可以对图像进行特定的变换,从而提取出某种特定的特征,如横向边缘或纵向边缘。在一个卷积层中,为了从图像中提取出多种形式的特征,通常使用多个卷积核对输入图像进行不同的卷积操作。一个卷积核可以得到一个通道为1的二阶张量,多个卷积核就可以得到多个通道为1的二阶张量。如果把这些结果作为不同的通道组合起来,就可以得到一个三阶张量,这个三阶张量的通道数就等于使用的卷积核的个数。由于每一个通道都是从原图像中提取的一种特征,这个三阶张量称为特征图(FeatureMap)。这个特征图就是卷积层的最终输出。特征图与彩色图像都是三阶张量,也都有若干个通道构成,因此卷积层不仅可以作用于图像,也可以作用于其他层输出的特征图。通常,一个深度神经网络的第一个卷积层会以图像作为输入,而之后的卷积层会以前面层输出的特征图为输入。4.3CNN的结构4.3.1卷积层4.3.2池化层4.3.3非线性激活层4.3.4全连接层4.3.5归一化指数层4.3.2池化层在计算卷积时,会用卷积核滑过图像或特征图的每一个像素,如果图像或特征图的分辨率很大,那么卷积层的计算量就会很大。为了解决这个问题,通常在几个卷积层之后插入池化层,以降低特征图的分辨率。对每一个区块取最大值的池化层,称之为最大池化层(MaxPoolingLayer),而取平均值的池化层称为平均池化层(AveragePoolingLayer)。最大池化层的池化操作步骤如图4.15所示。首先,将特征图按通道分开,得到若干个矩阵。对于每个矩阵,将其切割成若干个大小相等的正方形小块。以图4.15为例,将一个4×4的矩阵分割成4个正方形区块,每个区块的大小为2×2。接下来,对每一个区块取最大值,并将结果组成一个新的矩阵。最后,将所有通道的结果矩阵按原顺序堆叠起来形成一个三阶张量,这个三阶张量就是池化层的输出。一般来说,池化的窗口大小会和步幅设定成相同的值。比如3×3的窗口的步幅会设为3,4×4的窗口的步幅会设为4,这样有利于池化操作。图4.15
最大池化操作4.3.2池化层图4.15
最大池化操作在图4.15中,经过池化后,特征图的长和宽都会减小到原来的1/2,特征图中的元素数目减小到原来的1/4。通常会在卷积层之后增加池化层,这样在经过若干卷积、池化层的组合之后,在不考虑通道数的情况下,特征图的分辨率就会远小于输入图像的分辨率,大大减小了对计算量和参数数量的需求。4.3CNN的结构4.3.1卷积层4.3.2池化层4.3.3非线性激活层4.3.4全连接层4.3.5归一化指数层4.3.3非线性激活层通常需要在每个卷积层和池化层后面都连接一个非线性激活层。为什么呢?其实不管是卷积运算还是池化层中的运算,它们都是关于自变量的一次函数,即所谓的线性函数。线性函数有一个性质:若干线性计算的复合仍然是线性的,只是斜率和截距不同。换句话说,如果只是将卷积层和池化层直接堆叠起来,那么它们对输入图像产生的效果就可以被一个全连接层替代。这样一来,虽然网络堆叠了很多层,但每层的变换效果实际上被合并到了一起,加深神经网络的层数就没有什么意义了。为了稍微直观地理解这一点,考虑下面一个简单的例子,存在一个线性函数
作为激活函数,假设有三层线性网络
,很明显可以想到同样的处理可以由
得到。为了解决这个问题,网络引入非线性激活函数来提高神经网络的非线性拟合能力,增强网络的表达能力。即在每次线性运算后,再进行一次非线性运算,那么每次变换的效果就可以得以保留。在神经网络表述过程中,在没有明确指明的情况下,激活函数为非线性激活函数。非线性激活层的形式有许多种,它们的基本形式是先选定某种非线性函数,然后再对输入特征图或特征向量的每一个元素应用这种非线性函数,得到输出。
4.3.3非线性激活层常用的非线性激活函数有:1、逻辑函数(SigmoidFunction)(图4.16左)2、双曲正切函数(HyperbolicTangentFunction)(图4.16中)3、线性整流函数(RectifiedLinearFunction)(图4.16右)接下来以线性整流函数构成的非线性激活层(简称为ReLU层)为例,从ReLU函数及其表达式可以看出,ReLU其实就是一个取最大值的函数,在输入是负值的情况下,其输出为0,表示神经元没有被激活。这意味着在网络的前向传播过程中,对于输入的特征向量或特征图,它会将其中小于0的元素变成0,而保持其余元素的值不变,就得到了输出,从而使得网络很稀疏。同时因为ReLU是分段线性函数,且每段的导数要么为0,要么为常数,因此其计算也非常简单,计算速度也往往比其他非线性激活层快很多,在训练过程中能够大幅加快训练速度。另外,ReLU函数相比于Sigmoid函数和Tanh函数具有更强的非线性拟合能力,能够最大化地发挥神经元的筛选能力,是目前为止默认最好的非线性激活函数,因此在深度神经网络中被广泛使用。4.3.3非线性激活层4.3CNN的结构4.3.1卷积层4.3.2池化层4.3.3非线性激活层4.3.4全连接层4.3.5归一化指数层4.3.4全连接层在经过多轮卷积层和池化层的处理之后,图像中的信息已经被抽象成了信息含量更高的特征。全连接层(Fully-ConnectedLayer)通常出现在最后几层,将特征图组合为特征向量,以帮助计算最终的分类概率,向量的维数等于类型数。具体地,在全连接层中的第一层,将高度抽象的特征图与1*1积核做内积操作,其目的是将特征图转换成一维向量,然后将所有通道的结果拼接成一个更全面的向量作为输出,如图4.17所示。接下去将该一维向量送入到下一层的全连接中进行分类或回归操作,该过程与普通神经网络的操作一样,这里不再阐述。图4.17
全连接层操作4.3.4全连接层全连接层神经元全部互相连接,其参数量占整个网络模型的80%以上。由于全连接层中的各个神经元输出的特征信息基本都是重复的,这使得网络在训练过程中容易过拟合,这时往往在全连接层后额外添加
Dropout层的方法来避免这种情况。图4.18
Dropout层操作Dropout层的基本思想如图4.18所示,在网络训练时可以随机使部分神经元失活,这样可以降低神经元之间的相关性,避免网络过拟合,提高网络的泛化能力。具体地,在训练过程中,每个神经元被保留下来的概率是p,即有1-p的概率不工作,同时每次前向传播保留的神经元都不尽相同,即两个神经元不一定同时有效,这样做可以使模型不太依赖于某些局部特征,减少了特征之间的依赖,迫使网络学习有更好的鲁棒性。4.3CNN的结构4.3.1卷积层4.3.2池化层4.3.3非线性激活层4.3.4全连接层4.3.5归一化指数层4.3.5归一化指数层归一化指数层(SoftmaxLayer)一般是分类网络的最后一层,其作用就是完成多类线性分类器中的归一化指数函数的计算。具体来说,对于输入向量
,计算每个标量值
,并将它们拼接成向量
作为输出。归一化指数层通常以一个长度和类别个数相等的特征向量作为输入(这个特征向量通常来自一个全连接层的输出),然后输出图像属于各个类别的概率。第四章
卷积神经网络4.1数字图像的特征4.2卷积运算4.3CNN的结构4.4CNN的训练4.5CNN的特点4.6CNN的类型4.7CNN的应用4.4CNN的训练CNN也像全连接神经网络一样,需要经过训练才能学习出有效的图像特征。大家知道,训练本质上就是寻找最佳参数的过程,包括卷积层中所有卷积核的元素值、全连接层中所有内积运算的连接权值。但对于CNN而言,其训练参数数量要远远多于全连接神经网络,比如在AlexNet网络中,需要训练的参数多达六千万个,其难度远高于一般网络的训练。CNN是一种前馈神经网络,它从二维图像中提取拓扑结构,同样采用反向传播算法来优化参数,从而达到求解网络中未知参数的目的,其训练过程可分为前向传输和反向传播两个过程。在前向传输过程中,原始输入图像依次与卷积核的元素值矩阵进行卷积运算并与偏移量相加,经过非线性激活函数处理后生成新的特征图,其特征图的生成过程如下式所示:式中,Mi代表第i层的特征图,若i为0则代表原始图像,Wi和bi代表第i层卷积核的权值矩阵和偏移量,运算符⊗代表卷积运算,f(x)代表激活函数。4.4CNN的训练特征图在进入池化层后通过相应的池化操作进行降维处理,并进入下一层卷积层进行卷积处理;在多次卷积和池化操作后,网络在全连接层计算基于输入图像的概率分布,得到新的特征映射。该过程中,网络通过损失函数计算输出与实际值的差异,用来指导模型的训练。在反向传播中,模型利用相应的优化算法如梯度下降法对神经网络各层的参数进行逐层更新,通过不断最小化损失函数完成模型的训练工作,其整体流程如图4.19所示,这个过程有时也称之为超参数设置。图4.19
模型训练流程图4.4CNN的训练在设置过程中,需要注意以下几点:(1)参数初始化如果参数太小,会导致神经元输入过小,经过多层之后信号就慢慢消失,参数过小还会使得Sigmoid型函数丢失非线性能力(参考Sigmoid函数曲线,在靠近0的位置接近于线性)。如果参数取得太大,会导致输入状态过大,对于Sigmoid型激活函数来说,激活值变得饱和,从而导致梯度接近于0。(2)学习率学习率作为监督学习以及深度学习中的重要超参数,决定着目标函数能否收敛到局部最小值以及何时收敛到最小值。合适的学习率能够使目标函数在合适的时间内收敛到局部最小值,一般刚开始训练时,学习率设置为0.1~0.001为宜,一定轮数过后,逐渐减缓,接近训练结束,学习率的衰减应该在100倍以上。第四章
卷积神经网络4.1数字图像的特征4.2卷积运算4.3CNN的结构4.4CNN的训练4.5CNN的特点4.6CNN的类型4.7CNN的应用4.5CNN的特点核心思想:神经元仅连接输入区域的局部窗口,而非与上一层全部神经元连接。核心原理生物学基础:模拟视觉皮层的局部感受野机制。数据基础:图像中相邻像素关联性强,处理局部信息更高效。全局理解:通过堆叠多层,深层神经元可间接整合全局信息。核心优势:极大降低参数量举例对比:处理一张1000x1000的图像,若隐藏层有10⁶个神经元:全连接:参数高达10¹²个。局部连接(10×10窗口):参数仅为10⁸个。效果:参数减少4个数量级,大幅降低计算负担与内存消耗。图4.20
局部感知(1)局部感知4.5CNN的特点核心思想:在同一个特征图上,所有神经元共享同一组权值参数(同一个卷积核)。来源与目的来源:借鉴视觉皮层中神经元共享相同处理模式的结构特性。目的:进一步大幅降低模型参数数量,解决神经元增多导致的训练难题。工作原理使用同一个卷积核,在整个输入图像上滑动进行卷积运算,提取相同类型的特征。这意味着,无论隐藏层有多少神经元,提取同一种特征的连接权值始终只有一组。效果与理解参数量的极致压缩:沿用局部连接的例子(10x10窗口),参数从10⁸个降至10²个。位置无关性:共享的权值意味着所学习的特征(如边缘、纹理)是图像的固有属性,与位置无关,图像任何区域都适用。(2)权值共享第四章
卷积神经网络4.1数字图像的特征4.2卷积运算4.3CNN的结构4.4CNN的训练4.5CNN的特点4.6CNN的类型4.7CNN的应用4.6CNN的类型4.6.1VGG网络4.6.2GoogLeNet网络4.6.3ResNet网络4.6.4DenseNet网络4.6.1VGG网络VGG是牛津大学计算机视觉组(VisualGeometryGroup)和谷歌DeepMind一起研究出来的被广泛使用的CNN,因而冠名为VGGNet(也称为VGG)。该网络曾在2014年的ImageNet大规模视觉识别挑战赛中获得了亚军,因此被广泛应用于各种计算机视觉场景中。通常人们说的VGG是指VGG-16,如图4.21所示。
由图可见,整个网络包含13层卷积层(紫色方块)和3层全连接层(蓝色方块),合并为5个VGG-block块和5个最大池化层,并逐个相连,然后进入全连接层,直到最后归一化指数层1000路输出。该网络主要特点是VGG-block内的卷积层都是同结构的,池化层都是在上一卷积层特征缩减一半。由于VGG网络规律的设计、简洁可堆叠的卷积块,且在多个数据集上都有着很好的表现,从而被人们广泛使用。
图4.21VGG网络4.6CNN的类型4.6.1VGG网络4.6.2GoogLeNet网络4.6.3ResNet网络4.6.4DenseNet网络GoogLeNet是人工智能企业xAI联合创始人塞格迪(Szegedy)等人在2014年ImageNet大规模视觉识别挑战赛上所使用的一种全新CNN结构。在这之前的AlexNet、VGG等结构都是通过增大网络的深度(层数)来获得更好的训练效果,但层数的增加会带来很多负作用。GoogLeNet专注于如何建立更深的网络结构,同时引入新型的基本结构Inception模块,以增加网络的宽度,同时能更高效地利用计算资源,在相同的计算量下能提取到更多的特征,从而提升训练结果。4.6.2GoogLeNet网络4.6.2GoogLeNet网络GoogLeNet是一种卷积层、池化层和Inception模块堆叠的新模型,其关键在于使用了Inception模块,如图4.22所示,每个原始Inception模块由前摄入层、并行处理层和过滤拼接层组成。从图中可以看出,对于原始Inception模块的输入来说从左到右并行有4条路径选择,分别对应了不同大小卷积核的卷积操作和池化操作。进一步,将不同路径下运算得到的结果在通道这一维度上进行堆叠便得到了Inception模块的输出。最终,通过以Inception模块来代替传统卷积的方式便能够在同一层获取到不同卷积尺度的计算结果,这便是Inception块的核心思想。图4.22Inception模块4.6.2GoogLeNet网络由于Inception块并行处理层中的5×5卷积分支即使使用中等规模的卷积核个数,在计算代价上也可能是无法承受的,而且这个问题在混合池化后会更为突出,这就导致输出单元规模不可避免地增加,并很快出现计算量的暴涨。为了克服原始Inception模块上的上述困难,一种可行的策略是利用前面提到的1×1卷积进行降维,由此得到降维Inception模块,其同样包括前摄入层、并行处理层和过滤拼接层。但与原始Inception模块相比,降维模块的结构更深,总体上有望获得更强的非线性表达能力,同时包含更少的参数,如图4.23所示。图4.23降维Inception模块4.6CNN的类型4.6.1VGG网络4.6.2GoogLeNet网络4.6.3ResNet网络4.6.4DenseNet网络4.6.3ResNet网络深度残差网络(ResNet)是2015年由何凯明团队开发的网络,是在前面介绍过的VGG网络基础上,引入快捷结构以加深层数。由于在深度学习中,在过度加层的情况下学习将不能顺利进行,有可能导致最终性能不佳。ResNet为了解决这类问题,导入了“快捷结构”,称之为残差块(ResidualBlock)。正是由于残差块结构的出现使得深度神经网络模型的层数可以不断加深到100层、1000层甚至更深,从而使得该团队在当年的ImageNet大规模视觉识别挑战中取得卓越成绩,深刻地影响了后续的很多深度神经网络的结构设计。4.6.3ResNet网络ResNet的残差块如图4.24所示,快捷结构通过短路横跨(跳过)了输入数据的卷积层,将输入x合计到输出。因为快捷结构只是原封不动地传递输入数据,所以网络反向传播时会将来自上游的梯度原封不动地传向下游。通过这个快捷结构,之前因为加深层数而导致的梯度消失问题(将在第5章详细介绍)就有望得到缓解,使网络深度提高一个数量级,到达上百、上千层。图4.24ResNet残差块4.6CNN的类型4.6.1VGG网络4.6.2GoogLeNet网络4.6.3ResNet网络4.6.4DenseNet网络4.6.4DenseNet网络DenseNet网络是在ResNet基础上出现的更为优秀的一种网络结构,由康威大学、清华大学、Facebook的三位作者共同提出。CNN可以在深度上不断延伸,但是随着网络的不断变深,对于输入信息或者是计算梯度,在经过很多网络层之后,会出现梯度逐渐消失的情况。ResNet是利用残差的设计结构缓解这一问题,GoogLeNet是利用Inception结构把不同大小卷积核所扫描过的特征图给拼接起来。总的一个规律是:这些网络都是通过设计某种方法来减少层和层之间信息流动的距离,来增加信息流;同时,把不同网络层学到的信息给拼接起来为后续层的输入增加数据的多样性,从而进一步提高网络效率。4.6.4DenseNet网络DenseNet网络结构如图4.25所示,图中把一个基本单位BN-ReLU-Conv叫作稠密层(DenseLayer),由多个稠密层组成稠密块(DenseBlock)。DenseNet的核心为稠密块,其继承和发扬了ResNet中短路横跨这一设计使得层之间可以“稠密”互联;同时,正如其名,不只是层与层间的简单连接,而且是稠密连接(也借鉴了Inception模块的思想),即DenseNet对于稠密块中的每一层,都以前面的所有层作为输入(而其自身也用作后续所有层的输入),层和层之间则是通过ResNet中的短路横跨方式进行连接。这种稠密连接的优点:网络模型减轻了梯度消失的问题,增强了特征传播,鼓励特征重复利用,并大大减少了参数数量。图4.25DenseNet网络第四章
卷积神经网络4.1数字图像的特征4.2卷积运算4.3CNN的结构4.4CNN的训练4.5CNN的特点4.6CNN的类型4.7CNN的应用4.7CNN的应用CNN为图像而生,但应用不限于图像。在图像处理任务上,CNN可以用来识别位移、缩放及物体形态扭曲的二维图形。一方面,由于网络模型中的特征是通过训练数据集进行图像特征学习,从而避免了显式地特征抽取;另一方面,由于图像上同一特征映射面上的神经元权值相同,所以CNN可以并行训练,极大地减少神经网络的训练时长。此外,与神经元相连的神经网络(如传统的人工神经网络)相比,CNN模型的组织方式特殊
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 角磨机安全知识测试题及答案
- 期货实习报告总结
- 有机无机面试高频问题和答案
- 统考课试题及答案
- 职高plc试题及答案
- 2025届七台河市勃利县四年级数学第二学期期末教学质量检测试题含答案解析
- 2026年初中物理电磁学综合测试题
- 2026年四川省北师大版高二地理选择性必修综合练习题
- 2026年金融投资决策与风险控制测试卷
- 2026年重庆市湘教版初中化学下册第7章能力提升测试卷
- 2025年医疗保障局职位遴选模拟题及答案解析
- 神木煤炭核心指标解析
- 《那么旧那样新》(2024年江苏常州中考满分作文26篇附审题指导)
- 2025年眼镜定配工(高级)理论知识培训题库(含答案)
- 实验室生物安全管理年度工作计划
- 外研版2019高中英语必修一单词表
- 污水处理厂智能控制系统-深度研究
- 土石方机械设备安全培训
- 混凝土结构与砌体结构高职完整全套教学课件
- NB/T 11446-2023煤矿连采连充技术要求
- GB/T 13077-2024铝合金无缝气瓶定期检验与评定
评论
0/150
提交评论