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

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

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

代码说明:

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

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

发表评论

0 个回复

  • vivado从此开始
    Vivado从此开始 高亚军 电子工业出版社!!!!!!!!!!!!!!!!!
    2020-12-10下载
    积分:1
  • 安卓 小日历 带日
    安卓 小日历 带日程 可发邮件,短信,这是自己学习安卓写的第一个小程序
    2020-11-04下载
    积分:1
  • Keil 配色方案 (含预览图) 和(仿VS配色)
    【实例简介】网络搜集的十余种keil配色方案,包含预览图和仿VS配色
    2021-11-19 00:38:48下载
    积分:1
  • 粒子滤波算法及其应用
    本书系统介绍粒子滤波算法的基本原理和关键技术,针对标准粒子滤波算法存在的粒子退化、计算量大的缺点介绍了多种改进的粒子滤波算法,包括基于重要性密度函数选择的粒子滤波算法、基于重采样技术的粒子滤波算法、基于智能优化思想的粒子滤波算法、自适应粒子滤波算法、流形粒子滤波算法等,并将粒子滤波算法应用于机动目标跟踪、语音增强、传感器故障诊断、人脸跟踪等领域,最后探讨了粒子滤波算法的硬件实现问题,给出了基于DSP和FPCA的粒子滤波算法实现方法。内容简介本书系统介绍粒子滤波算法的基本原理和关键技术,针对标准粒子滤波算法存在的粒子退化、计算量大的缺点介绍了多种改进的粒子滤波算法,包括基于重要性密度函数选择的粒子滤波算法、基于重采样技术的粒子滤波算法、基于智能优化思想的粒子滤波算法、自适应粒子滤波算法流形粒子滤波算法等,并将粒子滤波算法应用于机动目标跟踪、语音增强、传感器故障诊断、人脸跟踪等领域最后探讨了粒子滤波算法的硬件实现问题,给出了基于DsP和FPGA的粒子滤波算法实现方法。本书可供高等院校电子信息、自动化、计算机应用、应用数学等有关专业高年级本科生和研究生,以及从事控制科学与工程、信号与信息处理领域的工程技术人员和研究人员参考阅读。图书在版编目(CIP)数据粒子滤波算法及其应用/朱志宇著.一北京:科学出版社,2010.6ISBN978-7-03-027611-7I.①粒…Ⅱ.①朱…Ⅲ.①非线性控制系统Ⅳ,①O231.2中国版本图书馆CIP数据核字(2010)第08821号责任編辑:孙芳王志欣/责任校对:陈玉责任印制;赵博/封面设计:耕者设计工作室學☆出版北京东黄城根北街|6号邮攻编码:100717http://www.sciencep400酉卹剩厂印刷科学出版社发行各地新华书店经销2010年6月第版开本;B5(720×10002010年6月第一次印刷印张:163/4印数:1-3000字数:324000定价:48.00元(如有印装质量问题,我社负责调换)前言粒子滤波又称序贯蒙特卡罗方法,是一种基于蒙特卡罗方法和递推贝叶斯估计的统计滤波方法,它依据大数定理,采用蒙特卡罗方法来求解贝叶斯估计中的积分运算。粒子滤波算法首先依据系统状态向量的经验条件分布在状态空间产生组随机样本的集合,然后根据观测量不断地调整粒子的权重和位置,通过调整后粒子的信息修正最初的经验条件分布。当样本容量很大时,这种蒙特卡罗描述就近似于状态变量真实的后验概率密度函数。粒子滤波适用于任何能用状态空间模型表示的非高斯背景的非线性随机系统,它完全突破了传统的 Kalman滤波理论框架,对系统的过程噪声和量测噪声没有任何限制,可适用于任何非线性系统,精度可以逼近最优估计,是一种很有效的非线性滤波技术,可广泛应用于数字通信、金融领域数据分析、统计学、图像处理、计算机视觉、自适应估计、语音信号处理、机器学习等方面。粒子滤波算法是现代信号与信息处理学科和统计模拟理论之间的交叉学科,其研究有着重要的理论意义和现实价值,随着计算机性能的迅速提高,这方法日益受到人们的关注。近年来,从解决粒子退化和粒子多样性丧失、提高算法实时性和鲁棒性、降低计算复杂度等角度考虑,国内外学者广泛开展了粒子滤波研究。本书系统总结了近年来粒子滤波的研究成果,针对粒子滤波算法的缺点提出了若干种改进算法,包括基于微分流形的粒子滤波算法、基于人工鱼群的粒子滤波算法、基于神经网络的粒子滤波算法、自适应粒子滤波算法等;广泛探讨了粒子滤波算法的各种应用,给出了粒子滤波算法的硬件实现方法在本书编撰过程中,作者研读了大量文献,参考融合了国内外专家、学者们在相关领域的硏究成果,在此,对他们表示衷心谢意!王建华教授、姜长生教授、张冰教授对本书的编写工作提供了很多宝贵意见,杨官校、李冀、皇丰辉、刘炜、薄超等同学编制了书中的仿真程序,赵成、苏岭东、姜威威等同学绘制了书中的部分图表。在此,向参与和关心本书编写工作的各位同事和同学表示真诚的感谢本书的出版得到了江苏省高校自然科学基金(项目编号:06KJB510030)和中国船舶行业预研基金(项目编号:3.1.5)的资助。由于作者学术水平有限,书中难免存在不妥之处,殷切期望广大读者批评指正。作者2010年3月目录前言第一篇粒子滤波算法第1章绪论1粒子滤波的发展和应用……··d·············.41.2粒子滤波的缺点和现有的解决方法4第2章 Kalman滤波理论2.1标准 Kalman滤波算法R-y滤波器102.3EKF滤波算法24 MVEKF算法142.5UKF算法D春看曲。·鲁b·····。音·看自。··非自b。非…………15第3章从贝叶斯理论到粒子滤波…193.1动态空间模型3.2贝叶斯估计理论203.3蒙特卡罗积分………·.·日···↓..··":·.·“.···香。·。着非●自·223.4序贯蒙特卡罗信号处理2435粒子滤波27第4章基于重要密度函数选择的改进粒子滤波算法334.1GHPF…………………………………………………334.2 EKPF354.3 UPF374.4 IMMPF算法…………384.5二阶中心差分粒子滤波…………404.6基于 Stiefel流形的粒子滤波器研究434.7混合退火粒子滤波器研究45IV粒子滤波算法及其应用第5章基于重采样技术的改进粒子滤波算法最自自自485.1重要性重采样粒子滤波器………485.2基于MCMC的粒子滤波……495、3AVPF……………525.4 RPF∴…545.5核K-粒子滤波算法(KPF)5.6基于权值选择的粒子滤波算法…575.7线性优化重采样粒子滤波算法5.8基于 Stiefel流形和权值优选的粒子滤波器( SM-WSPF)研究605.9基于 Stiefel流形和线性优化重采样的粒子滤波器( SM-LOCR-PF)研究615.10其他常用的重采样方法621仿真分析第6章基于智能优化思想的粒子滤波算法6.1GPF算法…………………736.2 PSO-PF算法p·普·日···曹·。昏鲁··甲啊·。··中日中··串自自·事6.3 AFSA-PF算法6.4AIPF算法鲁音·鲁甲··鲁曹·自·即………906.5仿真分析97第7章基于神经网络的粒子滤波算法……1027.1基于神经网络的重要性权值调整粒子滤波( NNWA-PF)算法…1027.2基于神经网络的重要性样本调整粒子滤波( NNISA-PF)算法1057.3仿真分析……109第8章APF算法音·自·普自自自非●·P,自自··自··非鲁自单最自自音自自自·4非鲁备自音。非·鲁音。··音鲁1148.1似然分布自适应调整1148.2样本数APF8.3改进APF…1188.4APF的仿真分析…119第9章其他粒子滤波算法1269.1免重采样粒子滤波1269.2MPF……………………………………………………132目录9.3分布式粒子滤波134第二篇粒子滤波算法的应用第10章粒子滤波算法在机动目标跟踪中的应用……1390.1基于贝叶斯理论的目标跟踪技术…………………13910.2机动目标的运动模型……14010.3多目标跟踪中的联合概率数据关联方法14210.4非线性、非高斯条件(闪烁噪声)下的机动目标跟踪14510.5基于粒子滤波和JPDA的多目标跟踪数据关联算法10.6仿真实验…150第11章粒子滤波应用于语音信号增强………16111.1语音增强技术………………………………………16111.2TVAR模型11.3基于GPF的语音增强算法11.4语音信号增强仿真实验…I68第12章粒子滤波应用于传感器故障诊断e早看值·看…………17212.1故障诊断的方法…17212.2传感器故障诊断的基本原理…17412.3应用粒子滤波进行故障诊断鲁番“·.····.;·4···17712.4仿真实例分析180第13章粒子滤波算法在人脸跟踪中的应用19013.1人脸跟踪介绍…………………19013.2跟踪算法相关理论基础·19313.3基于直方图的坞值偏移人脸跟踪算法·19613.4基于直方图的粒子滤波人脸跟踪算法20113.5基于椭圆拟合的人脸跟踪算法…20613.6基于流形的人脸跟踪算法p音直最看·鲁鲁··息·翟·唱备售暴4鲁售聊鲁20713.7人脸跟踪仿真…………鲁电210第14章粒子滤波在倒立摆控制系统中的应用21614.1引言21614.2倒立摆控制系统模型216粒子滤波算法及其应用14.3基于神经网络的倒立摆控制系统研究∴21914.4粒子滤波优化神经网络倒立摆控制仿真…22第15章基于DSP实现的粒子滤波算法……22515.1FBPF算法鲁t·息鲁鲁∴22515.2基于硬件实现的改进FBPF算法…22715.3实现改进FBPF算法的DSP···→·········:·..··.·;····..·········22815.4改进FBPF算法DSP实现的软件环境…23015.5改进FBPF算法的软件仿真与DSP实现…23115.6基于改进FBPF算法的GPS导航系统设计237第16章基于FPGA的粒子滤波算法实现∴24116.1基于FPGA的改进FBPF算法的总体设计∴…241l16.2FPGA简介…24216.3改进FBPF算法的软件仿真与FPGA实现245参考文献…:a4a....············.··.··········253第一箭粒子滤波算法
    2020-06-21下载
    积分:1
  • 基于UDP多播传输文件系统
    本软件具有MD5校验和,基于UDP协议编写了多播的服务器与客户端,可以传输文件,同时具有重传机制。
    2021-05-07下载
    积分:1
  • 基于s函数的RBF网络自适应pid控制器
    这是一个基于Matlab语言s函数的RBF网络自适应控制器的设计,可以方便的移植到其他系统!
    2020-12-02下载
    积分:1
  • STM32利用IQmath库实现SVPWM
    含有在keil上安装的IQmath文档,以及相关的IQmath.h文件,SVPWM算法实现的
    2019-05-31下载
    积分:1
  • 最小二乘类的参数辨识matlab
    最小二乘类的参数辨识matlab程序包含最小二乘递推算法和最小二乘的渐消记忆法。
    2021-05-06下载
    积分:1
  • 基于MATLAB/simulink的异步电机矢量控制系统仿真模型
    异步电机转子磁场定向的矢量控制仿真模型,磁链观测选用电压模型法。稳态与动态特性还不错。MATLAB版本:R2014a
    2021-05-07下载
    积分:1
  • 瑞芯微RK 从SD卡更新LCD屏幕参数的说明v1.3
    【实例简介】瑞芯微RK 从SD卡更新LCD屏幕参数的说明v1.3. lvds,hdmi.RGB等参数通过配置文件的形式,放在TF卡或者内部存储盘里面.其路径为 /mnt/external_ sd/rk lcdparameters, SD卡插入后会比较文件的CRC将rk lcdparameters的配置参 数更新到flash中,之后自动重启就按照新的配置参数来显示图像
    2021-11-21 01:00:19下载
    积分:1
  • 696516资源总数
  • 106914会员总数
  • 0今日下载