版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
深度学习的理论基础综述目录TOC\o"1-3"\h\u30383深度学习的理论基础综述 178581.1卷积神经网络 195561.2生成对抗网络 6217871.3生成对抗网络的变体网络 10316681.4生成器和判别器理论 1290391.5损失函数 131.1卷积神经网络卷积神经网络(ConvolutionalNeuralNetwork,CNN)源于KunihikoFukushima提出的一种具有深度结构的模型[56],为以后卷积神经网络发展奠定了基础。1989年,AlexanderWaibel等人提出了一种卷积神经网络,这个网络主要由一维卷积核构成。该网络的作用领域主要是语音识别,同时被称为时间延迟网络(TimeDelayNeuralNetwork,TDNN)[57]。1998年,YannLeCun等人提出了LeNet-5网络[58],现代CNN都是在LeNet-5进行升级和发展,2003年微软公司运用CNN开发了高性能的光学字符识别(OpticalCharacterRecognition,OCR)系统[59]。CNN迅速向各类图像处理应用领域拓展,尤其是在2012年随着ImageNet竞赛的推出,各种卷积神经网络算法如雨后春笋不断创新,产生了GoogLeNet、ResNet、VGGNet等优秀算法。图1.4、1.5分别展示了常见的CNN网络结构以及全连接神经网络(FullyConnectedFeedforwardNeuralNetwork)结构,对比两种网格结构可以发现,节点(神经元)是其主要构造。然而,CNN仅仅是节点部分连接,而全连接神经网络每个节点都有连接。在CNN网络中,部分神经连接可以有效缓解过拟合现象的发生,同时也能减小参数数量,加快训练速度。图1.4常用卷积神经网络结构图Fig.1.4ThestructureofcommonCNN图1.5全连接神经网络结构图Fig.1.5ThestructureoffullyconnectedneuralnetworkCNN包括输入层、卷积层、池化层、全连接层和输出层(图1.4),各部分的功能简要介绍如下:(1)输入层输入层会以矩阵的方式进行输入比如图像会转换成三维矩阵(depth,width,height),其中depth表示彩色通道。一般情况下会标准化处理输入特征,比如当像素作为输入数据时,则将数据归一化,将数据映射至(0,1)区间。(2)卷积层卷积层在CNN中占据非常重要的地位,通过卷积层示意图(图1.6)可知输入层通过和卷积核发生卷积运算可以得到输出矩阵,其中卷积核的宽度、长度和数量应人工设置,其常见大小为3×3或5×5。图1.6卷积层示意图Fig.1.6Thedisplaydiagramofconvolutionallayer前向传播为输入层到输出层整个过程,定义如下所示: (1.1)上式中h表示输出,g表示激活函数,mx,y,z是输入某一点的具体值,dx,y,z表示卷积核相应位置上的值,p表示节点对应参数,j表示卷积核的长度,k表示卷积核宽度,卷积核数量用l表示。卷积的前向计算如图1.7所示。mm(0,0)m(1,0)m(2,0)m(3,0)m(0,1)m(1,1)m(2,1)m(3,1)m(0,2)m(1,2)m(2,2)m(3,2)m(0,3)m(1,3)m(2,3)m(3,3)d(0,0)d(0,1)d(1,0)d(1,1)*gh(0,0)h(1,0)h(2,0)h(0,1)h(1,1)h(2,1)h(0,2)h(1,2)h(2,2)图1.7卷积运算示意图Fig.1.7Thediagramofconvolutionoperation图中原始数据是4×4的矩阵,与其进行卷积运算的卷积核为2×2的矩阵,经过运算输出尺寸大小会发生改变,改变规则如式(1.2)和(1.3)所示。 (1.2) (1.3)式(1.2)和(1.3)中OA和OB分别表示输出矩阵的长度和宽度,A和B分别表示输入矩阵的长度和宽度,FA和FB表示卷积核大小,K为卷积步长。卷积核大小通常是固定的,输入数据共用一个卷积核,参数无需改变。通常情况下,卷积核的尺寸大于1时,输出矩阵尺寸小于输入矩阵,若想要输出矩阵大小保存不变,就要采取补0操作。如图1.8所示,在输入矩阵的一侧补上0,输出矩阵尺寸大小仍然是4×4,补0之后卷积运算公式如下: (1.4) (1.5)式中D表示补0层数。0000000m(0,0)m(1,0)m(2,0)m(3,0)0m(0,1)m(1,1)m(2,1)m(3,1)0m(0,2)m(1,2)m(2,2)m(3,2)0m(0,3)m(1,3)m(2,3)m(3,3)K=1d(0,0)d(0,1)d(1,0)d(1,1)*h(0,0)h(1,0)h(2,0)h(2,0)h(0,1)h(1,1)h(2,1)h(2,0)h(0,2)h(1,2)h(2,2)h(2,0)h(2,0)h(2,0)h(2,0)h(2,0)图1.8补零后卷积运算示意图Fig.1.8Thediagramofconvolutionoperationafterzeropadding(3)池化层一般情况下,卷积层后面会增加一个池化层。池化层的引入通常具备两个效果:一是提高了计算速度,二是避免产生过拟合。池化层的计算通过局部区域取最大值或平均值的方法完成计算。maxpooling266maxpooling266020000006060000-20图1.9最大值池化层示意图Fig.1.9ThediagramofmaxpoolingMaxPooling(最大值池化运算)如图1.9所示,设滤波器大小为2×2,目标区域是4个区域块,输出为4个区域块的最大值,即图1.9中16个区域块经过最大值池化输出变成4个区域块。图1.10为AveragePooling(平均池化运算)示意图,区别在于在目标区域中运用平均值方法作为输出。211211-2averagepooling80000004040000-80图1.10平均值池化层示意图Fig.1.10Thediagramofaveragepooling(4)全连接层卷积神经网络的全连接层是一个多层感知器,与模式识别中的分类器的作用相同。通常情况下全连接层可以用1×1卷积核替代,它将经过池化层的数据展开成一维向量,如图1.11所示[60]。1110021041Flattening110021041图1.11经过全连接层的特征向量图Fig.1.11Featurevectordiagramafterfullyconnectedlayer全连接层中的反向传播运用误差传播算法,传播图和图1.5类似,第k−1层第s个神经元到第k层第t个神经元传播路线为: (1.6)上式中f为激活函数,和是偏置项和权重。使代价函数越来越小是反向传播的目的,一般通过梯度下降的方式优化网络参数,最终求解合适的偏置项和权重使模型输出接近真实值。调整偏置项和权重首先要计算输出层单位误差,由链式法则可得第K层第t个单位误差为: (1.7)在上式中,代价函数用C表示,表示代价函数的变化速度大小;表示激活函数的变化速度大小。当他们任意一个趋近于0,迭代学习会停止。计算前一层的误差,由链式法则可得: (1.8)由式(1.8)可以发现反向误差贯穿整个网络结构,当前层误差可以利用后一层误差反向求解,促进了网络的学习能力。(5)softmax层softmax层的作用就是将输入值映射为0-1的实数,且所以输出值相加等于1,可以用于表示属于每个类别的概率,因此它可以作为分类器的输出。如图1.12为结构图计算公式如下所示: (1.9)式中yi表示softmax层的输出;i表示类别数,zi表示全连接层最后再进行一次全连接的输出。1.2生成对抗网络生成对抗网络(GenerativeAdversarialNetworks,GAN)是无监督机器学习的一种网络模型,主要由两部分构成:生成网络和判别网络。在2014年,Goodfellow正式提出生成对抗网络[61],迅速风靡深度学习领域。近几年,出现了很多GAN的变体,例如深度卷积生成对抗网络(DeepConvolutionalGenerativeAdversarialNetworks,DCGAN)、半监督生成对抗网络(Semi-supervisedGenerativeAdversarialNetworks,SGAN)、条件生成对抗网络(ConditionalGenerativeAdversarialNetworks,CGAN)等,在不同的领域均取得较好的效果。图1.12生成对抗网络基本结构Fig.1.12ThebasicstructureofGAN图1.12是GAN的结构图,在GAN中生成网络模型通过学习并模拟真实数据的分布,从而生成与真实数据有相同分布或者相似特征的数据G(t)。判别网络则是对收到的数据进行真假判别。根据公式推导,判别网络的代价函数如下: (1.10)式中表示判别网络的期望值。可以看出生成网络模型和判别网络模型是密不可分的,这个过程可以看作零和博弈,在博弈中使得代价综合为零。因此生成网络模型中,它的代价函数为: (1.11)设置一个价值函数V表示和,如下所示: (1.12) (1.13) (1.14)从上式中可以看出对于判别网络越大其越优,而对于生成网络则是相反,越小越优,从而形成了两者的差异,这种差异导致它们产生博弈关系。在博弈关系中会形成一个纳什平衡点,在纳什平衡点之下博弈的任何一方不能通过自身的行为增加自身的收益。在GAN中,若要获得纳什平衡点需要使得各自的代价函数最小,即真实损失和生成损失达到最优。用以下公式求出理想的判别网络,令G(t)=x: (1.15)对于上式中积分项,无论x取任何值都能最大。因此,假设x固定,f(x)对D(x)求导为零,可得: (1.16)理想的判别网络形式如下: (1.17)从上式可以看到它是一个0到1的范围,正如图1.11中当数据来自真实数据D(x)时,应该判断为1,而来自G(t)时应该判断为0。当生成数据分布和真实数据分布非常接近时,应该输出结果是0.5。图1.13生成对抗网络训练过程Fig.1.13TrainingprocessofGAN图1.14判别网络训练过程Fig.1.14Trainingprocessofdiscriminantnetwork图1.13展示了GAN的具体训练过程。图中下方的直线表示随机变量z(白噪声)的域空间,中间黑色直线表示真实样本数据的域空间。黑色点线和绿色实线均表示空间分布,黑色指真实样本数据,绿色则是生成样本数据,红色虚线是判别网络的输出结果。(a)图中的状态是训练开始的情况,此时生成数据和真实数据差别较大,生成样本不足以欺骗判别器。(b)图中开始训练判别器,训练过程如图1.14所示。从图中可以看出,在判别网络训练的时候首先固定生成网络的参数不变,将生成样本G(z)和真实样本x都传送到判别网络D中,根据判别网络对输入样本数据的预测分布概率(D(G(z))或D(x))与真实数据分布概率的不同计算误差。最后将误差反向传播到神经网络中的每个节点,达到更新判别网络参数的目的。随着训练次数的增多,判别网络逐渐向一个较为完善的方法发展,最后判别网络可以分类出大部分真实样本数据和生成样本数据。当判别网络逐渐优化好后,然后开始训练生成网络模型,1.13(c)图中开始训练生成网络模型,训练过程如图1.15所示。图1.15生成网络训练过程Fig.1.15Trainingprocessofgenerativenetwork同样,图1.15在训练生成网络模型的时候,首先要保持判别网络模型参数不变,将生成数据样本G(z)输入到判别网络模型中,根据判别网络模型对输入数据样本的预测分布概率D(G(z))和真实数据分布概率的不同计算误差。然后采用反向传播算法通过误差,达到更新生成网络模型参数的目的。随着训练次数的增多,生成数据分布逐渐向真实数据靠近,让生成数据样本更容易被判别器判断为真实数据分布。经过一系列的训练之后,最终会达到图1.13(d)的状态。在这个状态下的网络已经达到收敛状态,因此(d)图中生成的数据大体上和真实数据一致,判别网络模型对输入无法区分这个输入是来自生成数据还是真实数据。1.3生成对抗网络的变体网络生成对抗网络有很多变体,比如DCGAN、CGAN、SGAN、AGAN等,下面主要介绍DCGAN和CGAN网络。①DCGANDCGAN由Radford等人在2015年将CNN和GAN结合在一起提出的一种GAN的变体网络[62]。DCGAN有如下优点:一是增强了网络训练的稳定性;二是生成数据样本的质量有很大提升。在原来生成对抗网络基础上,DCGAN网络主要进行如下几点改进:(1)池化层被步长卷积代替:一般情况下卷积神经网络利用卷积和池化的操作进行特征提取,在这里运用池化的目的在于提取样本数据的主要特征,达到减小特征尺寸的效果,从而减小计算量和防止过拟合现象。但是GAN中生成网络是为了模拟数据分布,从而生成数据,池化层的引入会丢失数据部分细节特征。因此用步长卷积代替池化层,进而能够将大量的信息传递给下一层,保证了提取特征的完整性和生成数据样本的真实性。(2)去除全连接层:当神经网络层数较多时,全连接层的参数过于冗余,容易导致网络出现训练速度缓慢的问题,甚至出现网络过拟合的现象。因此在DCGAN网络中通常采用反卷积层代替全连接层,以此来提高网络运行速度。(3)在DCGAN中加入了批量归一化(BatchNormalization,BN)操作:一般数据预处理就是对输入数据进行求方差、去均值等处理操作,但由于在训练过程中数据不断更新,即在网络每一层中数据的分布是不一样的,因此网络训练过程中容易出现梯度弥散的现象。批量归一化主要针对这种情况进行改进,改进的方法就是对训练中的网络每一层数据进行归一化处理,从而解决了每一层数据参数分布不一致的问题,达到了加快训练速度的目的,同时也有效防止了梯度弥散的发生。BN操作如下公式所示: (1.18) (1.19) (1.20)上式中,定义输入批次A={x1,x2…xm},最后最终的输入为,其中在批量归一化过程中需要学习的参数为。②CGAN传统生成对抗网络训练时往往会出现两种问题:一是当网络自由度很大时,导致生成数据样本太杂乱;二是生成网络模型倾向于生成单一的样本数据,其原因在于GAN模型生成错误的样本数据惩罚很高,但生成单一且正确的数据样本惩罚很小,因此倾向于生成比较单一的数据样本。显然,这两种问题导致生成网络模型生成的数据样本都不满足要求。CGAN的出现,则有效的解决了上述问题。CGAN和传统生成对抗网络不同之处在于在CGAN网络中加入了条件机制。图1.16为CGAN模型示意图,图中x表示输入为真实数据,z为随机噪声。G(z|y)为假样本,该假样本是生成网络模型根据真实数据生成的样本。当生成器网络模型和判别器网络模型都适用于某些条件时,将这个条件作为生成网络模型和判别网络模型的输入,调整生成的样本数据以避免训练出现的上述两个问题。图1.16条件生成对抗网络模型示意图Fig.1.16ThedisplaydiagramofcGAN1.4生成器和判别器理论(1)生成器理论图1.17生成网络模型Fig.1.17Themodelofgenerativenetwork如图1.17所示生成网络示意图,包括输入层、隐藏层和输出层。生成网络的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年甘肃省临夏市高一化学上册期末考试模拟测试卷【基础题】附答案
- 制造业成本核算与管理实务操作手册
- 护理工作中的护理记录与文档管理
- 护理技能实操教学课件资源
- 团结友爱快乐成长-小学主题班会课件
- 2026年福建省龙海市高一化学上册期末考试模拟试卷及完整答案【易错题】
- 物联网设备维护与升级服务指南
- 护理护理实践中的疼痛管理
- 2026年广东省陆丰市高一化学上册期末考试模拟试卷及完整答案(有一套)
- 医护人员防疫感染防控指南
- 【MOOC】原子物理学-杭州师范大学 中国大学慕课MOOC答案
- 免疫检验技术学习通超星期末考试答案章节答案2024年
- 苏教版(2024新版)七年级上册生物期末复习全册知识点提纲
- 新能源发电技术 课件 第4章 太阳能发电
- 城市合伙人协议 城市合伙人方案(协议)范本
- DL∕T 1917-2018 电力用户业扩报装技术规范
- 广东省深圳市宝安区2023-2024学年五年级下学期期末英语试题
- 退费账户确认书
- 第9课 共同弘扬中华传统美德 《中华民族大团结》(初中 精讲课件)
- 人教版高中化学必修第二册《第一节认识有机化合物》教学设计
- LNG仪表调试方案
评论
0/150
提交评论