登录
首页 » Others » 反向传播算法推导—全连接神经网络

反向传播算法推导—全连接神经网络

于 2020-12-09 发布
0 342
下载积分: 1 下载次数: 6

代码说明:

反向传播算法是人工神经网络训练时采用的一种通用方法,在现代深度学习中得到了大 规模的应用。全连接神经网络(多层感知器模型,MLP),卷积神经网络(CNN),循环神 经网络(RNN)中都有它的实现版本。算法从多元复合函数求导的链式法则导出,递推的 计算神经网络每一层参数的梯度值。算法名称中的“误差”是指损失函数对神经网络每一层 临时输出值的梯度。反向传播算法从神经网络的输出层开始,利用递推公式根据后一层的误 差计算本层的误差,通过误差计算本层参数的梯度值,然后将差项传播到前一层(w, x,)+b这个神经元接受的输入信号为向量(),向量()为输入向量的组合权重,为徧置项,是标量。神经儿对输入冋量进行加权求和,并加上偏置项最后经过激活函数变换产生输出为表述简洁,我们把公式写成向量和矩阵形式。对每个神经元,它接受的来自前一层神经元的输入为向量,本节点的权重向量为,偏置项为,该神经元的输出值为先计算输入向量与权重向量的内积,加上偏置项,再送入一个函数进行变换,得到输出这个函数称为激活函数,典型的是函数。为什么需要激活函数以及什么样的函数可以充当激活函数,在之前的公众号文章“理解神经网终的激活函数”中已经进行了介绍。神绎网络一般有多个层。第一层为输入层,对应输入向量,神绎元的数量等于特征向量的维数,这个层不对数据进行处理,只是将输入向量送入下一层中进行计算。中间为隐含层,可能有多个。最后是输出层,神经元的数量等于要分类的类别数,输出层的输岀值被用来做分类预测。下面我们来看一个简单神经网络的例了,如下图所示这个网络有层。第一层是输入层,对应的输入向量为,有个神经元,写成分量形式为(),它不对数据做任何处理,直接原样送入下一层。中间层有个神经元,接受的输入数据为向量,输出向量为,写成分量形式为。第三个层为输出层,接受的输入数据为向量,输出向量为,写成分量形式为()。第一层到第层的权重矩阵为(,第二层到第三层的权重矩阵为()。权重矩阵的每一行为一个权重向量,是层所有神经元到本层某一个神经儿的连接权重,这里的上标表小层数如果激活函数选用函数,则第二层神经元的输出值为+(-(+0)+(1+(0)(-(()第三层神经元的输出值为如果把代入上面二式中,可以将输出向量表示成输出向量的函数。通过调整权重矩阵和偏置项可以实现不同的函数映射,因此神经网终就是一个复合函数需要解决的·个核心问题是·旦神经网络的结构(即神经元层数,每层神经元数量)桷定之后,怎样得到权重矩阵和偏置项。这些参数是通过训练得到的,这是本文推导的核心任务个简单的例子首先以前面的层神经网络为例,推导损失函数对神经网络所有参数梯度的计算方法假设训练样本集中有个样本()。其中为输入向量,为标签向量。现在要确定神经网络的映射函数:什么样的函数能很好的解释这批训练栟本?答案是神经网络的预测输出要尽可能的接近样本的标签值,即在训练集上最小化预测误差,如果使用均方误差,则优化的目标为:∑‖()-其中()和都是向量,求和项内部是向量的范数平方,即各个分量的平方和。上面的误差也称为欧氏距离损失函数,除此之外还可以使用其他损失函数,如交叉熵、对比损失等。优化目标函数的自变量是各层的权重矩阵和梯度向量,一般情况下无法保证目标函数是凸函数,因此这不是一个凸优化问题,有陷入局部极小值和鞍点的风险(对于这些概念和问题之前的公众号文章“理解梯度下降法”,“理解凸优化”中己经做了详细介绍)这是神经网络之前一直被诟病的一个问题。可以使用梯度下降法进行求解,使用梯度下降法需要计算出损失函数对所有权重矩阵、偏置向量的梯度值,接下来的关键是这些梯度值的计算。在这里我们先将问题简化,只考虑对单个样本的损失函数()-‖后面如果不加说明,都使用这种单样木的损失函数。如果计算出了对单个样木损失函数的棁度值,对这些梯度值计算均值即可得到整个目标函数的梯度值。和(要被代入到网络的后一层中,是复合函数的内层变量,我们先考虑外层的和。权重矩阵是一个x的矩阵,它的两个行分别为向量(和是个维的列向量,它的两个元素为()和()。网络的输入是向量,第一层映射之后的输出是向量首先计算损失函数对权重矩阵每个元素的偏导数,将欧氏距离损尖函数展开,有((+))(())6(如果,即对权重矩阵第行的元素求导,上式分了中的后半部分对来说是常数。根据链式法则有S()+()O如果,即对矩阵第二行的元素求导,类似的有:可以统一写成可以发现,第一个下标决定了权重矩阵的第行和偏置向量的第个分量,第二个下标决定了向量的第个分量。这可以看成是一个列向量与一个行向量相乘的结果,写成矩阵形式为上式中乘法⊙为向量对应元素相乘,第二个乘法是矩阵乘法。是个维列向量,+也是一个维列向量,两个向量执行⊙运算的结果还是个维列向量。是一个元素的列向量,其转置为维行向量,前面这个:维列向量与的乘积为的矩阵,这正好与矩阵的尺寸相等。在上面的公式中,权重的偏导数在求和项中由部分组成,分别是网络输出值与真实标签值的误差激活区数的导数+(),本层的输入值。神经网络的输出值、激活函数的导数值本层的输入值都可以在正向传播吋得到,因此可以晑效的计算出来。对所有训练样本的偏导数计算均值,可以得到总的偏导数对偏置项的偏导数为:如果上式分子中的后半部分对来说是常数,有:()⊥()如果类似的有这可以统写成:写成矩阵形式为偏置项的导数由两部分组成,分别是神经网络预测值与真实值之间的误差,激活函数的导数值,与权重矩阵的偏导数相比唯一的区别是少了。接下来计算对和的偏导数,由于是复合函数的内层,情况更为复杂。()是个的短阵,它的个行向量为(),(,(,(。偏置项()是维向量,个分量分别是(),(,(),(。首先计算损失函数对的元素的偏导数:而上式分子中的两部分都有,因此都与有关。为了表述简活,我们令:根据链式法则有:其巾((和和都是标量和()是两个()向量的内积,的每一个分量都是()的函数。接下来计算和这里的一是个向量,衣示的每个分量分别对求导。当时有:后面个分量相对于求导变量(都是常数。类似的当时有:()0)(()和时的结果以此类推。综合起来有:同理有:()十如果令合并得到()()[()-)。()。()写成矩阵形式为()最后计算偏置项的偏导数()类似的我们得到:合并后得到()写成矩阵形式为:(0)至此,我得到了这个简单网络对所有参数的偏导数,接下来我们将这种做法推广到更般的情况。从上面的结果可以看岀一个规律,输出层的权重矩阵和偏置向量梯度计算公式中共用了()-)()对」隐含层也有类似的结果完整的算法现在考虑一般的情况。假设有个训练样本(),其中为输入向量,为标签向量。训练的目标是最小化样木标签值与神经网络预测值之闩的误差,如果使用均方误差,则优化的目标为:其中为神经网络所有参数的集合,包括各层的权重和偏置。这个最优化问题是·个不带约束条件的问题,可以用梯度下降法求解。上面的误差函数定义在整个训练样本集上,梯度下降法每一次迭代利用了所有训练样本,称为批量棁度卜降法。如果样木数量很大,每次迭代都用所有样木进计算成木太高。为了解决这个问题,可以采用单样本梯度下降法,我们将上面的损失函数写成对单个样本的损失函数之和:定义对单个样本()的损失函数为)=-()如果采用单个样本进行迭代,梯度下降法第次迭代时参数的更新公式为:nV如果要用所有样本进行迭代,根据单个样本的损失函数梯度计算总损失梯度即可,即所有样本梯度的均值用梯度下降法求解需要初始化优化变量的值。一般初始化为一个随机数,如用正态分布(a)产生这些随机数,其中G是一个很小的正数到日前为止还有一个关键问题没有解决:日标函数是一个多层的复合函数,因为神经网络中每一层都有权重矩阵和偏置向量,且每一层的输出将会作为下一层的输入。因此,直接计算损失函数对所有权重和偏置的梚度很复杂,需要使用复合函数的求导公式进行递推计算几个重要的结论在进行推导之前,我们首先来看下面几种复合函数的求导。又如下线性映射函数:其中是维向量,是×的矩阵,是维向量。问题:假设有函数,如果把看成常数,看成的函数,如何根据函数对的梯度值Ⅴ计算函数对的梯度值Ⅴ?根据链式法则,由于只和有关,和其他的≠无关,因此有:c∑(对于的所有元素有:写成矩阵形式为:问题:如果将看成常数,将看成的函数,如何根据V计算Ⅴ?由于任意的和所有的都有关系,根据链式法则有写成矩阵形式为这是一个对称的结果,在计算函数映射时用矩阵乘以向量得到,在求梯度时用矩阵的转置乘以的梯度得到的梯度。问题:如果有向量到向量的映射:

下载说明:请别用迅雷下载,失败请重下,重下不扣分!

发表评论

0 个回复

  • 音频去噪(高斯去噪)
    音频去噪,去除高斯噪声,效果很好,算法来源:iee论文。本资源里面有论文,及作者提供的相应matlab代码,以及我为了翻译为c修改后的matlab代码以及c代码,以及详细的版本说明及测试结果。
    2021-05-06下载
    积分:1
  • 单片机控制步进电机系统实例(源序+原理图)
    单片机控制步进电机系统实例(源程序+原理图)单片机控制步进电机系统实例(源程序+原理图)
    2021-05-06下载
    积分:1
  • LDPC码的译码
    关于LDPC码编码和BP译码算法的matlab仿真!
    2020-12-01下载
    积分:1
  • AR模型算法的matlab实现和实验分析
    1、 计算真实的自相关值时,采用逆Levinson-Durbin递归方法,由a、b参数得到 , , , ,其中 为滤波器的阶数,再采用公式 外推得到 的自相关值;2、 实际功率谱 , 可调用Matlab中的FFT算法得到;3、 自相关序列的估计值采用公式 得到;4、 采用各种功率谱估计方法对功率谱进行估计。
    2020-12-01下载
    积分:1
  • 基于VHDL三层电梯控制器的设计.pdf
    【实例简介】·1.内容简介: --------------------------------------------------------------- 基于VHDL三层电梯控制器的设计.pdf pdf 设计论文 --------------------------------------------------------------- ·2.资源使用方法说明 无 --------------------------------------------------------------- ·3. wogeguaiguai的附言: 1.我的其他数学建模比赛和全国电子设计竞赛精华资源也欢迎您下载,大学生基本上都听过这个比赛吧,这个比赛比较有意思,而且获奖比例高。我的资料都是非常好的准备比赛要用的资料。我比赛结束之后,这些资料就不用啦,分享给大家!俺一年的搜索资源,同学们一朝即可获得! 2.下载本文件后,您可以获得所有信息,不必再零散下载,给您带来很大的方便。 3.1个资源分,绝对物超所值。评论后,您就可以获得2个资源分,欢迎您评论! --------------------------------------------------------------- ·4.如有问题,请在此留言,谢谢。 --------------------------------------------------------------- ·65.上传时间 2010-2-26-afternoon
    2021-12-02 00:38:03下载
    积分:1
  • 铣削稳定性叶瓣图 MATLAB代码
    铣削稳定性叶瓣图,建立主轴转速与纵向切削深度的关系。
    2021-05-06下载
    积分:1
  • 77GHz多载频MIMO汽车雷达信号处理方法的研究
    77GHz多载频MIMO汽车雷达信号处理方法的研究,主要是一分期刊感觉值1分微波学报2017年第33卷增刊8月3 MUSIC角度估计算法从上节可知,由于发射阵元产生不同频率的信号,因此在接收阵元回波上存在一定的频差-距离相位差,在应用算法前首先对其进行预处理补偿,然后使用MUSC算法进行测角。图2阵列形状示意图定义等效阵列的协方差矩阵为4.1动目标等速不等距R=EX]=A(的RA"(O)+an1实验中将2个日标速度设置为等速10ms,其距离和角度参数分别为(30m,2.59)、40m59)。其频其中R为信号协方差矩阵,σ衣示噪声功率,/谱和角度估计结果如图3、图4所示。为单位矩阵。对其进行特征值分解可得R=EAE +EME其中λ,e;(i=1,2,…,MN)分别为升序排列的矩阵R的特征值和对应的特征向量En=span{e,e2,…和E、=span{eM-p+,eM-p+2,……,M}分别表小矩阵R的信号子空间和噪声子空间。在该情况下的 MUSIC空间谱定义为MUSIC(6)=[A( DEEnA(O)(8)由于存在噪声,上式倒数中的数值不为零,而是个很小的值,所以 MUSIC空间谱会出现一个尖峰。通过对θ的不断交化进行谱峰搜索来估计波达角。图3上/下扫频频谱图4计算机仿真本文以毫米波段的多载频MIMO雷达为例,传统雷达取上/下扫频周期为T=10ms,调频带宽B=500MHz,阵列形状如图2所示,发射天线为均匀线阵,间距d=元/2,阵元数M=2,天线问的频率间隔△f=100MHz,发射天线1、2的载波频率分别为77GHz77.1GH。模型采取线阵的结构,且发射天线分别布置在接收天线两端,接收天线间距d=4/2,阵元数N=8图4速度相同距离不同时角度估计结果接收阵元与发射阵元间距h=4/2,所以由MIMO雷达特性可知,最后得到的虚拟阵元数为通过仿真,测得动目标距离和速度信息为MN=16。(30.019m,10.034ms),(40.293m,9.981ms)=MMO为了验证本文所提方法的有效性,本文同时雷达角度佔计仿真结果为(-497°,-2.519),传统雷达引入相同参数指标的单发多收传统雷达做仿真对角度估计结果为(-336°)比实验。216?1994-2018ChinaacAdcmicJOurnalElcctronicPublishingHousc.Allrightsrescrvcd.http://www.cnki.nct微波学报2017年第33卷增刊8月4,2动目标等距不等速进一步验证了该方法的可行性,非常适合运用在实验,将2个日标距离设置为等距35m,汽车防撞雷达这种高分辨、小型化系统上其速度和角度参数分别为(10ms,2.5°),(15m/s,59)。参考文献其最终角度仿真图如图5所示。l]韩峻峰,张惠敏,潘盛辉,林川汽车防撞雷达概述「J广西科技大学学报.201,22(4):54-58传线雨达[2]侯宪美.多载频MIMO高频雷达的波束形成方法硏究[D,哈尔滨工业大学,2014[3]杨明磊,张守宏,陈伯孝,张焕颖.多载频MMO雷达的一和新的信号处理方法山电子信息学报,2009,31(1):147-151[4]田燕妮,张杨,徐晶晶.MMO技术舰载反导探测系统构成方法[J兵工自动化2015(1)4-6图5距离相同速度不同时角度估计结果[5]党宏社,韩崇昭,赵广社.汽车毫米波FMCW雷达中频由仿真结果可知,测得动目标距离和速度信信号的采样与处理[J现代雷达,200,24(4)43-45息为(29.879m,10.07mns),(30.155m,15.102ms)「6]魏星,万建伟,皇甫堪基于长短基线干涉仪的无源定MMO雷达角度估计仿真结果为(-5.01°,2.499),传位系统研究叮现代雷达,2007,29(5):22-25.统雷达角度估计结果为(4.87°,-2739)[7 KRIM H, VIBERG M. Two decades of array signal通过上述两个实验可以看出,在目标邻近的processing research the parametric approach[]. Signal情况下,MIMO雷达可以清晰地分辨出目标所在Proccssing Magazine, IEEE, 1996, 13(4): 67-94方向,而传统雷达则无法区分两个日标或分辨较[8 Duofang C, Baixiao C, Guodong Q. Angle estimation差using ESPrit in MIMO Radar[J. Electron Lett,2008:44(12):770-7715结论9]杨晓玉冯大政. ESPRIT算法在单基地MMO雷达中的应用[J电子科技,2009,22(12)91-本文讨论了7Hz多载频MIMO汽车雷达的[10染浩,崔,代林,余剑.阵列误差条件下MMo信号处理方法,运用线性调频连续波的近程探测雷达测向敏感性分析[微波学报,2015,31(41-8优点特性精准地测量出目标的距离和速度信息并通过MUSC算法准确测量出多运动目标相对季晓宇男,193年生,硕士研究生。主要研究方向:微应的角度,达到精确测向的理想效果,仿真结果波毫米波汽车雷达信号处珥,MMO雷达信号处理。证明了该方汯精度可以达到001°。在系统体积和Em-9191562@q40m参数不变的情况下,利用与传统雷达的仿真对比217?1994-2018ChinaacAdcmicJOurnalElcctronicPublishingHousc.Allrightsrescrvcd.http://www.cnki.nct
    2020-11-01下载
    积分:1
  • comsol电磁场模块教
    comsol电磁场模块教程 中文教程 内部资料
    2020-12-05下载
    积分:1
  • STM32 4*4矩阵键盘(扫描方式)
    主要实现矩阵键盘的功能。矩阵键盘使用PB8到PB15引脚,其中,PB8到PB11固定为推挽输出,PB12到PB15固定为下拉输入。即,无键按下时,对应PB12到PB15为0,有键按下时,PB12到PB15中,对应的引脚为高。
    2020-12-05下载
    积分:1
  • 300 dp pn 西门子触摸屏 螺丝机 实例
    300 dp pn 西门子触摸屏 螺丝机 实例
    2020-12-12下载
    积分:1
  • 696518资源总数
  • 105877会员总数
  • 14今日下载