第5章-深度学习模型

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

高级大数据人才培养丛书之一,大数据挖掘技术与应用刘鹏主编赵海峰副主编BIGDATA刘鹏张燕总主编深度学习第五章深度学习主流模型5.15.2卷积神经网络5.3循环神经网络习题全国高校标准教材《xxx》姊妹篇,剖析xxx技术和实战应用绪论of4725.1神经网络技术的历史与发展第五章深度学习模型早期的神经网络是一个浅层的学习模型(包含一个输入层、一个隐层及一个输出层),它有大量的参数,在训练集上有较好的表现,但实际应用时其识别率并没有比其他模型(如支持向量机、Boosting等)体现出明显的优势神经网络在训练时采用误差反向传播算法(BackPropagation,简称BP算法),使用梯度下降方法在训练过程中修正权重减少网络误差。在层次深的情况下性能变得很不理想,传播时容易出现所谓的梯度弥散GradientDiffusion或称之为梯度消失(VanishingGradientProblem),根源在于非凸目标代价函数导致求解陷入局部最优,且这种情况随着网络层数的增加而更加严重,即随着梯度的逐层不断消散导致其对网络权重调整的作用越来越小。所以只能转而处理浅层结构(通常小于等于3),从而限制了神经网络的大范围应用。of4735.1概述--浅层神经网络5.1神经网络技术的历史与发展第五章深度学习模型2006年Hinton提出深度学习[11]后才被打破,深度神经网络的复兴存在多方面的原因其一,大规模的训练样本可以缓解过拟合问题;其二,网络模型的训练方法也有了显著的进步;其三,计算机硬件的飞速发展(如英伟达显卡的出现)使得训练效率能够以几倍、十几倍的幅度提升。此外,深度神经网络具有强大的特征学习能力,过去几十年中,手工设计特征一直占据着主导地位,特征的好坏直接影响到系统的性能。of4745.1概述--深度学习模型5.1神经网络技术的历史与发展第五章深度学习模型面对一个新的任务,如果采用手工设计的方式,往往需要很长时间,而深度学习能很快提取到具有代表性的特征。另一方面,随着分类任务复杂性的增加,需要用到越来越多的参数及样本,虽然浅层神经网络也能模拟出与深度学习相同的分类函数,但其所需的参数要多出几个数量级,以至于很难实现。of4755.1概述--深度学习模型5.1神经网络技术的历史与发展第五章深度学习模型学术界已经提出了多种深度学习模型,其中影响力较大的有以下几种(1)卷积神经网络:该网络一般包含三种类型的层,分别是卷积层、下采样层及全连接层。通过卷积核与上一层输出进行卷积作为卷积层的输出,这样可以达到权值共享的目的;下采样是在卷积层的基础上,在一个固定区域中采样一个点,使得整个网络具有一定的缩放、平移及形变不变性。(2)循环神经网络:该网络与传统前馈网络的区别在于,隐层的输入不仅包括输入层的数据,还包括前一时刻的隐层数据。这种结构的网络能有效处理序列数据,如自然语言处理。(3)深度置信网络:该网络由若干层受限玻尔兹曼机及一个反向传播网络组成。of4765.1概述--深度学习模型第五章深度学习主流模型5.15.2卷积神经网络5.3循环神经网络习题全国高校标准教材《xxx》姊妹篇,剖析xxx技术和实战应用绪论of4775.2卷积神经网络第五章深度学习模型卷积神经网络(Convolutionalneuralnetworks,CNN)已在图像理解领域得到了广泛的应用,特别是随着大规模图像数据的产生以及计算机硬件(特别是GPU)的飞速发展,卷积神经网络以及其改进方法在图像理解中取得了突破性的成果,引发了研究的热潮。of4785.2卷积神经网络5.2卷积神经网络第五章深度学习模型卷积神经网络(Convolutionalneuralnetworks,CNN)已在图像理解领域得到了广泛的应用,特别是随着大规模图像数据的产生以及计算机硬件(特别是GPU)的飞速发展,卷积神经网络以及其改进方法在图像理解中取得了突破性的成果,引发了研究的热潮。of4795.2卷积神经网络5.2卷积神经网络第五章深度学习模型of4710图5.1卷积神经网络整体结构图5.2卷积神经网络第五章深度学习模型of4711图5.2卷积层图5.3图像卷积效果示意图5.2卷积神经网络第五章深度学习模型of4712卷积计算的输出值通常需要通过激励函数,实现非线性变换。•Sigmoid函数(SigmoidFunction),Sigmoid是常用的非线性的激活函数,它的数学形式如下:xe11=f(x)Sigmoid函数,它能把实数(-∞,+∞)压缩到区间(0,1)之间5.2卷积神经网络第五章深度学习模型of4713ReLU(RectifiedLinearUnits)函数,它的数学表达式如下:1维的情况下,当x0的时候,输出为0;当x0时,输出为输入。ReLU激励函数变的越来越受欢迎。ReLU的有效性体现在两个方面:1)克服梯度消失的问题;2)加快训练速度。5.2卷积神经网络第五章深度学习模型of4714在深层卷积神经网络中,可以通过设计多个卷积层,不同层可以提取到不同类型的特征用于最终分类任务。5.2卷积神经网络第五章深度学习模型of4715池化层:池化层也属于中间层,也称采样层或抽样层,为特征映射层池化包括:•最大池化•或平均池化。5.2卷积神经网络第五章深度学习模型of4716输出层:卷积神经网络的输出层与其他神经前馈神经网络一样,为全连接方式。5.2卷积神经网络第五章深度学习模型of4717输出层:卷积神经网络的输出层与其他神经前馈神经网络一样,为全连接方式。全连接方式中输出值的计算:5.2卷积神经网络第五章深度学习模型of4718神经网络有两类基本运算模式:前向传播和反向传播。前向传播是指输入信号通过前一层中一个或多个网络层之间传递信号,然后在输出层得到输出的过程。反向传播算法是神经网络有监督学习中的一种常用方法,其目标是根据训练样本和期望输出来估计网络参数。卷积神经网络的训练卷积神经网络的训练要复杂一些。但训练的原理是一样的:利用链式求导计算损失函数对每个权重的偏导数(梯度),然后根据梯度下降公式更新权重。5.2卷积神经网络第五章深度学习模型of4519反向传输调整权重反向传输过程是CNN最复杂的地方,虽然从宏观上来看基本思想跟BP一样,都是通过最小化残差来调整权重和偏置,但CNN的网络结构并不像BP网络那样单一,而且因为权重共享,使得计算残差变得很困难。输出层的残差和BP一样,CNN的输出层的残差与中间层的残差计算方式不同,输出层的残差是输出值与类标值的误差值,而中间各层的残差来源于下一层的残差的加权和。本章以平方误差损失函数的多分类问题为例介绍反向传播算法算法。对于一个c个类和和N个训练样本的例子,总误差可以如下给出。5.2卷积神经网络第五章深度学习模型of4520首先介绍网络第l层的灵敏度的计算方法(Sensitivity),描述了总误差E怎样随着净激活值而变化反向传播算法实际上通过所有网络层的灵敏度来计算总误差对所有网络参数的偏导数从而计算使得训练误差减小的方向。5.2卷积神经网络第五章深度学习模型of4521卷积层l的灵敏度需要用下一层池化层l+1的灵敏度表示卷积层l的灵敏度,然后计算总误差E对卷积层参数(卷积核参数k、偏置参数b)的偏导数。通过链式求导可得第l层中第j个通道的灵敏度:其中,表示每个向量与矩阵相乘。若池化层采样因子为n,则将每个像素在水平和垂直方向上复制n次,于是就可以从l+1层的灵敏度上采样成卷积层l的灵敏度5.2卷积神经网络第五章深度学习模型of4522使用灵敏度计算卷积层l中的参数(卷积核参数k、偏置参数b)的偏导,分两种情况。情况1:对于总误差E对偏移量的偏导,可以对卷积层l的灵敏度中所有结点进行求和运算:情况2:对于总误差关于卷积核参数的偏导,使用链式求导时需要用所有与该卷积核相乘的特征图元素来求偏导:5.2卷积神经网络第五章深度学习模型of4523池化层(downsampling):为计算池化层l的灵敏度,需要用下一层卷积层l+1的灵敏度表示池化层l的灵敏度,然后计算总误差E对池化层参数(权重系数、偏置参数b)的导数。此处的down()表示池化层的下采样(downsampling)函数。一般来说将l层中nxn块进行最大池化或平均池化操作,使得输出的图像维度在两个方向上都要小n倍。此处我们假设池化层的上一层和下一层都是卷积层。如果下一层开始是全连接层,那么可以使用BP神经网络中的反向传播算法来计算灵敏度矩阵。5.2卷积神经网络第五章深度学习模型of4524全连接层:在全连接网络中,如果使用l表示当前层,使用L表示输出层,那么可以使用如下式子来计算输入当前层的输出,此处输出激活函数一般选sigmoid函数或者ReLU函数,常称为当前神经单元的净激活值。全连接层l的灵敏度可通过下式计算:输出层的神经元灵敏度可由下面的公式计算:总误差对偏移项的偏导如下:5.2卷积神经网络第五章深度学习模型of4725全连接层:在全连接网络中,如果使用l表示当前层,使用L表示输出层,那么可以使用如下式子来计算输入当前层的输出,此处输出激活函数一般选sigmoid函数或者ReLU函数,常称为当前神经单元的净激活值。总误差对偏移项的偏导如下:总误差对权系数项的偏导如下5.2卷积神经网络第五章深度学习模型of4726对于每个网络参数都有一个特定的学习率。若学习率太小,则训练的速度缓慢;若学习率太大,则可导致无法收敛。在实际问题中,如果总误差在学习过程中发散,那么学习率调小;反之,如果学习速度过慢,那么将学习率调大。5.2卷积神经网络第五章深度学习模型of4727CNN训练技巧卷积层训练技巧传统卷积神经网络的卷积层采用线性滤波器与非线性激活函数,一种改进的方法在卷积层使用多层感知机模型作为微型神经网络,通过在输入图像中滑动微型神经网络来得到特征图,该方法能够增加神经网络的表示能力,被称为Networkinnetwork。池化层的选择池化(Pooling)是卷积神经网络中一个重要的操作,它能够使特征减少,同时保持特征的局部不变性。常用的池化操作有:空间金字塔池化(SpatialPyramidPooling,SPP)、最大池化(MaxPooling)、平均池化(MeanPooling)、随机池化(StochasticPooling)等激活函数的选择常用激活函数有:ReLU、LeaklyReLU、ParametricReLU、RandomizedReLU、ELU等。5.2卷积神经网络第五章深度学习模型of4728CNN训练技巧损失函数的选择损失函数的选择在卷积神经网络中起重要作用,代表性的损失函数有:平方误差损失、互熵损失(Crossentropyloss)、Hinge损失等优化方法和技巧卷积神经网络常用的优化方法包含随机梯度下降方法(Stochasticgradientdescent,SGD),常用的技巧有权值初始化、权值衰减(Weightdecay)、Batchnormalization等。第五章深度学习主流模型5.15.2卷积神经网络5.3循环神经网络习题全国高校标准教材《xxx》姊妹篇,剖析xxx技术和实战应用绪论of47295.3循环神经网络第五章深度学习模型of4730循环神经网络(Recurrentneuralnetworks,RNN)是用来处理序列数据的神经网络RNN之所以称为循环神经网路,即一个序列当前的输出与前面的输出也有关。具体的表现形式为网络会对前面的信息进行记忆并应用于当前输出的计算中,并且隐藏层的输入不仅包括输入层的输出还包括上一时刻隐藏层的输出。隐藏层之间的节点不再无连接而是有连接的。RNN已经被在实践中证明对NLP是非常成功的。如词向量表达、语句合法性检查、词性标注等。5.3循环神经网络第五章深度学习模型of4731RNN结构RNN网络的隐含层节点之间是有连接的,隐含层的节点的输入不仅包括输入层还有上一时刻隐含层的输出。RNN和其他网络一样也包含输入层、隐含层和输出层。这些隐含层的连接是RNN最主要的特色。5.3循环

1 / 44
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功