【深度学习基础理论概述综述4500字】_第1页
【深度学习基础理论概述综述4500字】_第2页
【深度学习基础理论概述综述4500字】_第3页
【深度学习基础理论概述综述4500字】_第4页
【深度学习基础理论概述综述4500字】_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

深度学习基础理论概述目录TOC\o"1-3"\h\u3825深度学习基础理论概述 1151181.1深度学习的概念 1231901.2基本神经网络模型 2268981.1.1神经元基本结构 2113451.1.2前馈神经网络 4134861.1.3卷积神经网络 427431.1.4循环神经网络 7191801.3神经网络模型的参数学习 10215841.3.1模型的衡量标准 10264481.3.2优化算法 10146531.3.3反向传播算法 11深度学习不仅在许多问题上都表现出了优秀的性能,而且它还使解决问题变得更加简单。深度学习已经得到了人工智能历史上前所未有的关注度。本章主要阐述深度学习的概念和深度学习常使用的神经网络模型,并详细说明神经网络的参数学习过程。1.1深度学习的概念深度学习公认为是机器学习领域中的一个分支,它利用算法完成数据当中的特征表示的学习,并把原始的数据变成更高层次的、更加抽象的表示,并把这种表示输入到设计好的判断函数中,输出需要的结果。图2-1为深度学习处理数据的流程[14]。深度学习模型具有一定的深度,它拥有一系列不间断的表示层,这些表示层完成对数据的多次非线性特征转换,而且伴随层数的增长模型的表示能力会越来越优秀,能够学习到更加复杂的信息。现代的深度学习模型通常都有几十个到上百个表示层,这些网络层全部可以实现自动的学习,比如非常著名的GoogLeNet总共为22层网络[15],微软亚洲研究院创造的MicrosoftResNet则达到了152层。图2-1深度学习处理数据的流程在深度学习中,分层的表示总是可以通过神经网络模型学习得到,神经网络模型是模仿人的大脑神经网络所设计的一种计算模型,由于其可以使用误差反向传播算法很好的解决贡献度分配问题,所以成为了深度学习主要采用的模型[14]。我也可以做出如下的理解,深度学习不全是神经网络,但神经网络自出生就属于深度学习。相比于与传统的机器学习,深度学习的变革性还在于模型可以同一时间共同学习所有的表示层,这与重复运用浅层学习的方法有着本质的区别,后者依次学习所有层,导致最优的第一表示层并不是双层或多层模型中最优的第一表示层,而前者通过共同的特征学习,自适应调节依赖于某个特征的其他所有特征,因此模型中任何一处的改变都是为了唯一的优化目标。深度学习依靠逐层的方式构建逐渐复杂的特征表示,以及对这些表示共同进行学习的优点,造就了深度学习相比于机器学习更加出色的性能,因此得到了迅速的发展。1.2基本神经网络模型1.1.1神经元基本结构神经元是组成神经网络的基本单位,最初由心理学家McCulloch和数学家Pitts根据提出了MP神经元模型,它与现代的神经元在结构并没有太大差异,只是激活函数使用了连续可导的函数,而不是简单的0-1阶跃函数。典型的神经元结构如图2-2所示。假设某个神经元的输入向量为,则输入的加权和为(式2-1)其中,b是偏置量,将z输入一个非线性激活函数计算后,我们就可以得到这个神经元的活性值,的计算式如下(式2-2)图2-2神经元结构图激活函数对于神经网络来说非常重要,它可以增强网络的学习性能和表示性能,其一般要具有下面的特性:函数表达式比较简单;函数值域一般在一个合适的区间之间;连续可导。经常用到的激活函数有两种,具体为sigmoid型激活函数和修正线性单元ReLU,分别如图2-3和2-4所示。其中sigmoid型激活函数包含logistic函数和tanh函数。ReLU拥有LeakyReLU、ELU等多个变种。图2-3sigmoid型激活函数图2-4ReLU函数及其变体1.1.2前馈神经网络前馈神经网络根据其特点又被叫做多层感知机,是一种十分常见的深度学习模型。在前馈神经网络中具有许多不同深度的层,每层包含一定数量神经元,每个神经元可以收到来自前一层神经元所发出的信号,然后将自己产生的信号发送到下一层的神经元,如图2-4所示。前馈神经网络模型拥有很强的拟合能力,其目的是用来近似某个函数。对于输入数据,然后经过网络计算映射到,整个网络可以用函数来表示,其中是可以学习的权重参数。前馈网络在数据信息计算的过程中,信息只能一直向前传播,模型的输出和模型各层之间没有反馈连接。图2-4前馈神经网络1.1.3卷积神经网络卷积神经网络是一种特别的前馈神经网络,它通常由卷积层、池化层和全连接层组成,这三个网络层呈现出堆叠交叉的形状,如图2-5所示是一个用来识别MNIST手写数字的卷积神经网络[16]。与全连接的前馈神经网络相比,其由于使用卷积层代替了全连接层,因此大幅降低了权重矩阵的参数数量,显著的提高模型的训练效率。目前主要使用在图像和视频的分析任务以及自然语言处理等领域,而且取得了许多优秀的成果。在信号处理方面,也逐渐获得越来越多的使用。图2-5手写数字识别的卷积神经网络[16]1.1.3.1卷积层卷积层是将卷积运算整个在一起的一种网络层,它作为卷积神经网络中的核心组成,利用卷积核完成对输入信号的卷积运算,进而实现局部区域特征信息的提取。一维卷积的计算表达式如式2-3,其中表示某一时刻,表示长度为的卷积核,表示输入数据,表示输出数据。(式2-3)当输入数据的维度大于卷积核的长度,且假设一维卷积核时,一维卷积的计算如图2-6所示。对于二维卷积,其卷积计算过程同一维卷积类似,只是扩展了一个维度,假设一个图像,卷积核为,那么二维卷积的计算表达式为(式2-4)图2-7为二维卷积的计算实例。图2-6一维卷积的计算示例图2-7二维卷积计算示例我们可以通过卷积运算的定义,推出卷积层所拥有的两个十分重要的性质,第一个性质是局部连接,是指某层的一个神经元只和前一层中连续的几个神经元相连接,第二个性质是权重共享,是指某层的卷积核在该层内是通用的。因此卷积层的计算参数得到了大幅度的减少,如图2-8(b)所示。(a)全连接层(b)卷积层图2-8全连接层与卷积层的比较1.1.3.2池化层池化层由于其特点也被称作为汇聚层,它的目的是通过某种函数完成特征的选择过程,从而可以有效减少输出特征的数量和整个网络的参数。并且池化层还有一个重要的特点,每当输入特征产生略微的移动时,经过池化层的计算,其输出表示能保证基本不变,这相当于网络在进行特征提取时,拥有了一定程度的局部平移不变性。这类函数是指一类计算统计指标的数学公式,它通常用某一区域整体的统计特征代替该区域各个位置的输出。例如最大池化的过程如图2-9所示。图2-9最大池化过程1.1.3.3全连接层在卷积神经网络中,全连接层的目的是将输出层和卷积层连接起来,其通常位于整个网络的最后,全连接层可以将卷积层输出的多维特征表示变为一维的表示,然后将这些特征表示送入输出层,完成网络定义的分类或者回归等任务。全连接层见图2-5中的后两层。1.1.4循环神经网络在前面的前馈神经网络中,信息流是单向流动的,这一特点一定程度上限制了网络的表示能力,因为在面对实际的任务时,神经网络的输出也会和之前时间的输出关联,而不只限于当下的时刻,所以这要求出现一种表示性能更加优秀的模型来处理这类数据并利用其历史信息。循环神经网络便是这样一类模型,它具有短期记忆的能力,它的基本原理是把神经元输出的信息再重新连接回神经元,形成具有反馈回路的网络结构单元,如图2-10所示。图2-10循环经网络结构图假设我们拥有一个序列,将输入到循环神经网络中,然后需要计算隐藏层的状态值,我们使用式2-7来完成计算过程(式2-7)其中是前一时刻的状态值,为激活函数。式2-7进一步可以写成下面的形式:(式2-8)式中是历史状态输入到当下状态输出过程的权重矩阵,是序列数据输入到状态输出过程的权重矩阵,为偏置量。由式2-8可推知一个重要特性,当我们以时间作为观察维度时,循环神经网络计算过程中的权值是共同的,所以我们可以把它以时间为深度进行展开,将一系列时刻的状态都比作是前馈网络的一个网络层,如图2-11所示。图2-11按时间展开的循环神经网络在原理上循环神经网络可以完成两个很长时刻联系的建立,但是由于会出现梯度消失和爆炸的情况,其通常只能实现比较短的时间内的联系。由此人们创造了一种基于门控的循环神经网络来解决上述问题,我们将这种网络称为长短期记忆网络(LSTM),其循环单元如图2-12所示[14]。图2-12长短期记忆网络循环单元结构[14]在长短期记忆网络中,创造性的增加了一个全新的状态,它用来完成循环信息的线性传达过程,同时作为一个过程量,它并不显式的出现,而是用它来计算隐藏层的输出状态。其表达式如式2-9和2-10。(式2-9)(式2-10)其中,和是控制信息传播途径的门变量,分别称作遗忘门、输入门和输出门。是一种向量元素乘积的运算符号,为前一时刻的状态值,是经过非线性激活函数计算得到的内部状态的潜在待计算值。计算表达式如式2-11。(式2-11)LSTM中的各个门变量的取值都在(0,1)的范围内,这个值的大小表示信息能过通过的量占总体的多少。其中表达的是需要丢弃的信息量,表达的是需要留存的信息量,表达的是需要传递给的信息量。三个门的具体计算方式如式2-12、2-13和2-14。(式2-12)(式2-13)(式2-14)综上所诉,整个LSTM网络的计算步骤如下:(1)通过当下时间的输入和前一时间的外部状态计算出三个门的值和内部潜在状态的值。(2)使用遗忘门和输入门更新记忆单元,即内部状态(3)使用输出门将内部状态的信息传递给外部状态。1.3神经网络模型的参数学习1.3.1模型的衡量标准假设有真实样本,一个好的神经网络模型应该在所有的数据之下,模型计算所得值的取值都与真实的取值一致,即与之间的差值小到几乎可以忽略不计。因此可以用期望风险来衡量模型的好坏,的计算表达式如式2-15。(式2-15)式中是真实数据当中的分布,我们将定义为损失函数,它用来计算两个变量的相差程度。常见的损失函数有平方损失和交叉熵损失,分别对应表达式2-16和式2-17。(式2-16)(式2-17)好的模型需要最小的期望风险,但在实际操作中,因为无法知道模型的真实分布,所以网络计算的是经验风险,即网络在训练集D上的平均损失,经验风险使用式2-18表示。(式2-18)1.3.2优化算法确定了模型的衡量标准后,学习的目的就是找到一组参数使得经验风险最小,中包括模型中的参数和用来定义神经网络层数、学习率等与模型结构或优化有关的超参数,我们通过梯度下降法可以完成模型参数的优化,而对于超参数,就需要有一定的经验和直觉来完成设定,其通常需要不断地调整。参数更新的表达式如2-19所示,其中是第t次迭代时参数的值,为学习率。(式2-19)分析式2-19,每次迭代中,我们都必须计算训练集中的所有样本的损失函数的梯度,并对所有样本的梯度值进行求和,然而当N很大时,计算所花时间也将十分巨大,因此可以使用随机梯度下降法,它的训练过程如图表2-1所示。目前使用率高的优化算法还包括SGD、RMSProp和Adma等,虽然这些算法对应不同的优化策略,但其基本的思想都是计算梯度并进行更新,在实际神经网络的训练中具体选用哪种算法需要根据实际问题进行确定,一般情况下,具有自适应学习率的算法如RMSProp的鲁棒性表现十分优良。表2-1随机梯度下降法输入:训练集D=(x,y)(假设包含N个样本),验证集V,学习率初始化参数重复以下过程:随机排列训练集中的样本循环n=1…N:从训练集D中抽取样本更新参数:直到:模型在验证集上的错误率不再下降输出:1.3.3反向传播算法在神经网络的训练中,一定会使用反向传播算法来实现梯度计算效率的提高,它有效避免了对参数逐个求偏导的缺陷。我们进行简单的推导,假设一个输入样本(x,y),神经网络模型输出为,同时假定损失函数为,我们采用随机梯度下降的优化算法。对于神将网络中的某一层,可以假设为第层,那么该层中参数有权重参数和偏置,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论