人工智能基础与实践第3章《前馈神经网络》_第1页
人工智能基础与实践第3章《前馈神经网络》_第2页
人工智能基础与实践第3章《前馈神经网络》_第3页
人工智能基础与实践第3章《前馈神经网络》_第4页
人工智能基础与实践第3章《前馈神经网络》_第5页
已阅读5页,还剩55页未读 继续免费阅读

付费下载

下载本文档

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

文档简介

教育部-华为智能基座课程章节目录章节目录人脑神经网络神经元结构n细胞体:通过生物化学反应,引起细胞膜内外电位差发生改变,形成兴奋或抑制状态n细胞突起:由细胞体延伸出来,又可分为树突和轴突:树突:可接收刺激并将兴奋传入细胞体,每个神经元可以有一个或多个树突轴突:可把自身兴奋状态从细胞体传给另一个神经元,每个神经元只有一个轴突神经元之间的信息传递n每个神经元与其他神经元相连,当它“兴奋”时,就会向相连的神经元发送化n如果神经元的电位超过一定“阈值”,它就会被激活,即“兴奋”起来,然后人工神经元神经元接收到来自其他个神经元传递过来的输入信号,这些输入信号通过带权重的连接进行传递,神经元接收到的总输入值将与神经元的阈值(bias)进行比较,然后通过“激活函数”处理产生神经元的输出。a=f(z)z=wixi人工神经网络n章节目录感知机求解与、或、非及异或问题双层感知机——一个简单的神经网络h=f(1)(x;w,c)y=f(2)(h;w,b)ReLU函数g(z)=max{0,z}双层感知机——一个简单的神经网络双层感知机——一个简单的神经网络原始的x空间学习得到的隐藏h空间章节目录万能近似定理令φ(.)是一个非常数、有界、单调递增的连续函数,Id是一个d维的单位超立方体[0,1]d,C(Id)是定义在Id上的连续函数集合。对于任一函数f∈C(Id),存在一个整数m和一组实数vi,bi∈R以及实数向量wi∈Rd,i=作为函数f的近似实现,即其中E>0是一个很小的正数。万能近似定理应用到神经网络根据万能近似定理,对于具有线性输出层和至少一个使用“挤压”性质的激活函数的隐藏层组成的神经网络,只要其隐藏层神经元的数量足够多,它就可以以任意精度来近似任何一个定义在实数空间中的有界闭集函数。神经网络可以作为一个“万能”函数来使用,可以用来进行复杂的特征转换,或逼近一个复杂的条件分布。=g(φ,θ)分类器神经网络若g(·)为Logistic或Softmax分类器,那么g(·)可视为神经网络的最后一层。为什么要深度n单隐层网络可以近似任何函数,但其规模可能巨大具有d个输入、深度为l、每个隐藏层具有n个单元的深度整流网络可以描述深度对网络的影响n更深层的网络具有更好的泛化能力深度与参数数量的关系n参数数量的增加未必一定会带来模型效果的提升想要学得的函数应该由许多更简单的函数复常见的神经网络结构n前馈网络各个神经元按照接收信息的先后分成不同的每一层中的神经元接收来自前一层神经元的前馈网络包括全连接前馈神经网络和卷积神常见的神经网络结构n记忆网络(反馈网络)记忆网络包括循环神经网络、Hopfield常见的神经网络结构n图网络其他结构设计方面的考虑n改变层与层之间的连接方式n增加跳跃连接章节目录前馈神经网络的结构不十分合理(激活函数通常并不是感知机所采用的不连续阶前馈神经网络形式化表示含义L神经网络的层数Ml第l层神经元个数(1≤l≤L)第l层神经元的激活函数w(l)∈ℝMl×Ml-1ℝMlℝMl第l层神经元的净输入ℝMl第l层神经元的输出令a(0)=x,信息通过以下公式不断迭代传播:z(l)=w(l)a(l-1)+b(l)z(l)=w(l)fl-1(zl-1)+b(l)a(l)=fl(w(l)a(l-1)+b(l))如此,通过逐层传递,得到最后的输出a(L),整个网络可隐藏单元——激活函数n隐藏单元的设计是一个非常活跃的研究领域,但是目前还没有很明确的指导原则。n激活函数的性质要求连续并可导(允许少数点上不可导)的非线性函数。可导的激活函数可以直接利用数值优化的方法来学习网络参数。激活函数及其导函数要尽可能的简单,有利于提高网络计算效率。激活函数的导函数的值域要在一个合适的区间内,不能太大也不能太小,否则会影响训练的效率和稳定性。Sigmoid型函数Sigmoid型函数指一类S型曲线函数,为两端饱和函数。Logistic函数Logistic函数的导数Sigmoid型函数Hard-Logistic函数Hard-Logistic函数的导数Hard-Logistic函数Hard-Logistic函数的导数这两个函数是对Logistic和Tanh函数的分段近似降低了降低了函数的导数函数的导数整流线性单元(ReLU)函数及其扩展ReLU函数ReLUReLU函数ReLU对神经元的生物解释性更好——单侧抑制,宽兴奋边界(兴奋程度可以非常高)。生物神经元同一时刻只有极少部分(5%不到)处于激活状态,非常稀疏,ReLU会将一半神经元进行完全抑制,也会有一个较稀疏的输出,相比下Logistic函数只是接近0,类似软抑制,生成的则是非稀疏的输出;ReLU输出值可以非常大,符合“宽兴奋边界”,ReLU在一定程度上可以缓解梯度消失问题:大于0的时候,导函数值为1,加快梯度下降的收敛速度。非零中心化:非零中心化输出给下一个神经元,会):的某个ReLU神经元被一次不恰当更新后,此ReLU神经元在所有训练数据上都不能被激活,那么此神经元整流线性单元(ReLU)函数及其扩展在x<0时也保持一个很小的梯度,避免永远不能被激活的情况Y为超参ReLU函数LeakyReLU函数ReLU函数的导数LeakyLeLU函数的导数整流线性单元(ReLU)函数及其扩展,为超参ELU函数ELU函数的导数Softplus函数的导数其他激活函数当β=0时为线性函数当β=1时在x>0为近似线性当β→∞时近似ReLU函数可看成线性函数和ReLU之间的非线性插值函数GELUx=xPX≤x≈xσ1.702xPX≤x为高斯分布的累积分布函数可使用Logistic或者Tanh来近似计算当使用Logistic近似时,相当于一种特殊的Swish函数GELU函数Swish函数的导数GELU函数的导数其他激活函数x2x-x-a=f(z)……yyyyyxxxx2x-xxxEQ\*jc3\*hps25\o\al(\s\up8(T),k)EQ\*jc3\*hps36\o\al(\s\up4(a),#)EQ\*jc3\*hps36\o\al(\s\up4(x),k)K组wk,bK组输出单元h1h2Σy^y其中y(n)为真实值,n为预测值,N为样本数。输出单元h1ΣσΣσ其中y(n)为真实标签,n为预测标签,N为样本数。输出单元cΣσh1h2h1h2Σσwc,bcwc,bcΣσΣσ为预测标签概率向量,N为样本数,C为标签数。前馈神经网络参数学习假设神经网络采用交叉熵损失函数,对于一个样本(x,y),其损失函数为:为(n),模型在数据集D的结构化风险函数为:给定一个训练集D={(x(n),y(n))}EQ\*jc3\*hps31\o\al(\s\up7(N),n)=1,每个样本的特征x(n)为(n),模型在数据集D的结构化风险函数为:其中w和b表示网络的全部参数,λ为超参,正则化项wEQ\*jc3\*hps31\o\al(\s\up8(2),F)为Frobenius范数的平方:前馈神经网络参数学习基于学习准则和训练样本,网络参数可以通过梯度下降法进行学习,在每次迭代中第l层的参数w(l)和b(l)更新方式为:其中α为学习率。通过链式法则可以逐一对每个参数求偏导,但是效率低下在神经网络的训练中经常使用反向传播算法来高效地计算梯度章节目录矩阵微分矩阵微分(MatrixDifferentiation)是多元微积分的一种表达方式,使用矩阵和向量来表示因变量每个成分关于自变量每个成分的偏导数。微分链式法则若x∈ℝ,y=g(x)∈ℝ,z=fy∈ℝ,则链式法则为:若x∈ℝ,y=g(x)∈ℝM,z=fy∈ℝN,则链式法则为:若x∈ℝM,y=g(x)∈ℝN,z=fy∈ℝk,则链式法则为:若x∈ℝM×N,y=g(x)∈ℝN,z=fy∈ℝ,则链式法则为:反向传播算法给定一个样本(x,y),假设神经网络输出为,损失函数为L(y,),采用梯度下降法需要计算损失函数关于每个参数的偏导数。n如何计算前馈神经网络中参数的偏导数——反向传播(BackPropagation,BP)算法考虑求第l层中参数w(l)和b(l)的偏导数,由于z(l)=w(l)a(l-1)+b(l),根据链式法则:①②反向传播算法①求,由z(l)=w(l)a(l-1)+b(l):②求,由z(l)=w(l)a(l-1)+b(l):为Ml×Ml的单位矩阵。反向传播算法z(l+1)=w(l+1)a(l)+b(l+1),a(l)=fl(z(l)),根据链式法则:其中所以第l层的误差项是第第l层的误差项是第l+1层的误差项的加权和,然后再乘以该层的激活函数的梯度。这就是误其中⊙是点积,表示每个元素相乘。反向传播算法由EQ\*jc3\*hps40\o\al(\s\up2147483647(^),y)=a(L)=fL(z(L)),根据链式法则:反向传播算法相当于向量δ相当于向量δl和向量al-1的外积的第(i,j)个元素,即:因此,L(y,EQ\*jc3\*hps40\o\al(\s\up2147483647(^),y))关于第l层权重w(l)的梯度为:同理可得L(y,EQ\*jc3\*hps40\o\al(\s\up2147483647(^),y))关于第l层偏置b(l)的梯度为:反向传播算法算法4.1使用反向传播算法的前馈神经网络随机梯度下降训练过程输入:训练集D={(x(n),y(n))}EQ\*jc3\*hps25\o\al(\s\up6(N),n)=1,验证集v,学习率α,正则化系数λ,网络层数L,神经元数量MlEQ\*jc3\*hps25\o\al(\s\up6(L),l)=1.输出:w,b1随机初始化w,b;3对训练集D中的样本随机重排序;5从训练集D中选取样本xn,yn;6计算每一层的净输入Zl和7反向传播计算每一层的误差δ(l)=flI⊙wl+1Tδl+1;//最后一层的误差为δ(L)=fLI⊙//计算每一层的梯度8=δlal-1T;//更新参数13until模型在验证集v上的错误率不再下降;48章节目录机实现参数的自动梯度计算,其方法可分为数值微分、符号微分和自动微分三类。用数值的方法来计算函数f的导数,函数f在点x处的导数定义为在实际应用中,经常使用下面的方式来计算梯度,以减小截断误差Δx难以确定,太小会引起舍入误差,太大则增加截断误差虽然实现非常简单,但实用性较差计算复杂性高,因为需要为每个参数单独施加扰动,若参数数量为N,则复杂度为O(N2)一种基于符号计算(代数计算)的自动求导方法,用计算机来包括基于规则的化简、因式分解、微分、积分、解代数方程、解常微对于深层复合函数,输出的表达式非常冗长,形是数学运算的图结构表示,每个非叶子节点代表一个基本操作,每个H=max(0,wx+b)EQ\*jc3\*hps25\o\al(\s\up6(2),i)计算图复合函数f的计算图为:1fx;w,bx/fx;w,bxEQ\*jc3\*hps24\o\al(\s\up1(2),5)fx;w,b关于参数w和b的导数可以通过计算图上的路径上的所有导数连乘得到: = =∂w∂h6∂h5∂h4∂h3∂h2∂h1∂w==∂b∂h6∂h5∂h4∂h3∂h2∂b如果函数和参数之间有多条路径,可以将这些路径上的导数进行相加,得到最终的梯度。计算图2

温馨提示

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

评论

0/150

提交评论