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

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

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

代码说明:

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

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

发表评论

0 个回复

  • 虹膜的定位和特征提取代码
    这里是一些关于虹膜定位和特征提取的代码,感觉好不错,比较齐全,每一个基本上都有。
    2020-12-01下载
    积分:1
  • spi and apei
    计算机软件计算标准化降水指数和蒸散发指数,里面包含相关例子和数据样本,适合单点
    2020-12-01下载
    积分:1
  • 反激式变压器结构设计指南.pdf(33页)
    开关电源设计
    2020-11-29下载
    积分:1
  • 基于socket的多用户远监控系统.zip
    【实例简介】http://www.yueyuesoft.com/remotecontrol/rc.html 基于socket写的多用户远程监控系统 demo,奉献所有的源代码,希望给有需要的朋友帮助。 这个demo目前的功能有: (1) 支持远程计算机信息获取 (2) 支持远程屏幕查看,自动刷新。 (3) 支持远程文件管理,支持远程目录查看,单个文件的下载和上传。 (4) 支持客户端和服务器的即时聊天。 (5) 远程进程管理,远程结束任务。 (6) 同时支持多个客户端的登录,同时管理多个客户端。
    2021-12-14 00:39:51下载
    积分:1
  • 专用集成电路设计实用教
    IC设计经典教材,《专用集成电路设计实用教程》专用集成电路设计实用教程虞希清编著大學出瓶社图书在版编目(CIP)数据专用集成电路设计实用教程/虞希清编著.一杭州:浙江大学出版社,2007.1ISBN978-7-308-05113-2专..Ⅱ.虞..Ⅲ.集成电路一电路设计一高等学校一教材Ⅳ.TN402中国版本图书馆CIP数据核字(2006)第165341号专用集成电路设计实用教程虞希清编著任编辑张真封面设计张真出版发行浙江大学出版社(杭州天目山路148号邮政编码310028)(E-mail:zupress@mail,hz,zj.cn)(网址http://www.zjupress.com排版杭州好友排版工作室印刷杭州浙大同力教育彩印有限公司开本787mm×1092mm1/16印张18.25字数467千印数2001-3000版印次207年1月第1版2007年7月第2次印刷书号ISBN978-7-30805113-2定价38.00元版权所有翻印必究印装差错负责调换内容提要在现代的IC设计中,工程师们广泛地使用数字电路的逻辑综合技术。工程师们使用RTL代码和IP描述设计的功能,进行高级设计,用综合工具对设计进行编辑和优化,以实现满足设计目标的电路。根据多年为客户进行技术培训,技术支持和IC设计的经验,笔者编写了本书。书中主要介绍了IC设计的基本概念,设计流程和设计方法,并就工程师们在设计中常见的问题,提供了解决方法。本书的特点是实用性强全书共分九章,第一章概述EC设计的趋势和流程;第二章介绍用RTL代码进行电路的高级设计和数字电路的逻辑综合;第三章陈述了IC系统的层次化设计和模块划分;第四章详细地说明如何设置电路的设计目标和约束;第五章介绍综合库和静态时序分析;第六章深入地阐述了电路优化和优化策略;第七章陈述物理综合和简介逻辑综合的拓扑技术;第八章介绍可测性设计;第九章介绍低功耗设计和分析本书的主要对象是IC设计工程师,帮助他们解决IC设计和综合过程中遇到的实际问题。也可作为高等院校相关专业的高年级学生和研究生的参考书。前言本书在 Synopsys公司的逻辑综合培训资料基础上编写而成。从事EDA工作和ASIC设计已有十几年了。在给中港台ASIC设计工程师提供的技术培训和支持中,工程师们曾提出了设计和使用设计工具中遇到的各种各样的问题。教学相长,在和工程师讨论问题、提供解决方案的过程中,我得到了很多的经验和启发。在为用户解决一些实际问题,为他们提供培训后,我曾收到热情的掌声和感谢信。用户的掌声和谢意给了我很大的鼓励和鞭策,使我下决心要编写一本实用的中文版的集成电路设计教程和手册,以答谢用户们的支持和帮助。本书讲究实用性,希望其中的内容能帮助ASIC设计工程师清楚明了IC设计的基本概念,IC设计的流程,逻辑综合的基本概念和设计方法,解决进行IC设计时和工具使用时所遇到的问题。全书共分九章,第一章概述IC设计的趋势和流程;第二章介绍用RTL代码进行电路的高级设计和数字电路的逻辑综合;第三章陈述了IC系统的层次化设计和模块划分;第四章详细地说明如何设置电路的设计目标和约束;第五章介绍综合库和静态时序分析;第六章深入地阐述了电路的优化和优化策略;第七章陈述物理综合和简介逻辑综合的拓扑技术;第八章介绍可测性设计;第九章介绍低功耗设计和分析本书的主要对象是IC设计工程师,帮助他们解决IC设计和综合过程中遇到的实际问题。也可作为高等院校相关专业的高年级学生和研究生的参考书。在本书的编写过程中,得到了 Synopsys中国区高级技术经理常绍军先生的大力支持。常绍军先生、资深的应用技术顾问李昂先生和冯源先生审阅了本书,并提出了宝贵的意见和建议。在此,表示衷心的感谢。在本书编写过程中,得到了全家的支持,深表谢意!由于时间仓促,知识水平有限,书中难免有不足和错误之处,敬请各位专家,IC设计工程师和同行们批评指正,不胜感激。来函可发电子邮件( Email: victory_snps@ yahoo.com.hk)。虞希清2006年11月于 Synopsys香港目录第一章集成电路设计概论1.1摩尔定律………………∴…………11.2集成电路系统的组成1.3集成电路的设计流程第二章数字电路的高级设计和逻辑综合132.1RTL硬件描述语言设计132.1.1行为级硬件描述语言( Behavioral Level hdi)132.1.2寄存器传输级硬件描述语言( RTL HDI)172.1.3结构化硬件描述语言( Structure HDL)………………………………232逻辑综合(L。 gic Synthesis)…………………272.2.1逻辑综合的基本步骤…282.2.2综合工具 Design Compiler302.2.3目标库和初始环境设置鲁·自自音甲·是着音鲁备.··非曲●d■···●····第三章系统的层次化设计和模块划分353.1设计组成及 DC- Tcl…·自音···········日·········.···卡器日音是·晶自鲁bt·。……353.1.1设计物体( Design Object)鲁音自353.1.2 DC - Tcl简介香看·鲁·鲁·鲁.鲁自春3.2层次( Hierarchy)结构和模块划分( Partition)及修改463.2.1层次结构的概念463.2.2模块的划分…息鲁483.2.3模块划分的修改·看。51第四章电路的设计目标和约束…°。●看。面●554.1设计的时序约束…普·非鲁·鲁击曲■554.1.1同步( Synchronous)电路和异步( Asynchronous)电路…4.1.2亚稳态( Metastability)574.1.3单时钟同步设计的时序约束…血D。e574.1.4设计环境的约束724,1.5多时钟同步设计的时序约束…………794.1.6异步设计的时序约束832专用集成电路设计实用教程4.1.7保持时间( Hold Time)854.2复杂时序约束看香鲁e鲁曲鲁。自鲁自。a。自鲁自。鲁4.2.1多时钟周期( Multi-Cycle)的时序约束874.2.2门控时钟的约束904.2.3分频电路和多路传输电路的时钟约束鲁·看看看鲁924.3面积约束……………………………96第五章综合库和静态时序分析…985.1综合库和设计规则···········.······.··4·a·.·····◆···—985.1.1综合库……5.1.2设计规则1075.2静态时序分析5.2.1时序路径和分组1125.2.2时间路径的延迟1145.2.3时序报告和时序问题的诊断鲁·.···.·自击击合音。甲。。。●。。●……115第六章电路优化和优化策略…1206.1电路优化..···4····;··.·.·.·.·a·a·;··1226.1.1 Synopsys的知识产权库- Design Ware1236.1.2电路优化的三个阶段………………………1266.2优化策略…………1346.2.1编辑策略垂由d垂……1356.2.2自动芯片综合( Automated Chip Synthesis)………………………………1416.3网表的生成格式及后处理144第七章物理综合1487.1逻辑综合(L。 gic Synthesis)遇到的问题……………………1487.2物理综合( Physical Synthesis)的基本流程鲁鲁自谁…………………………1517.3逻辑综合的拓扑技术( Topographical Technology)…………162第八章可测试性设计…1748.1生产测试简介…………1748.2可测试性设计鲁D曹吾音·非·自·········着4鲁4鲁是1768.2.1物理瑕疵和故障模型1768.2.2D算法( D algorithm)1788.3测试协议( Test protocol)1858.4测试的设计规则·●鲁q鲁·音鲁鲁D鲁香曹音音音·自自··。·非鲁曲··●1908.4.1可测试性设计中的时钟信号1908.4.2三态总线和双向端口的测试。非……………………198录8.5门级网表可测试问题的自动修正2048.6扫描链的插入2088.7可测试设计的输出和流程2228.8自适应性扫描压缩技术………225第九章低功耗设计和分析2299.1工艺库的功耗模型…………2319.2功耗的分析…鲁鲁鲁……………2379.3低功耗电路的设计和优化2519.3.1门控时钟电路25293.2操作数分离………2619.3.3门级电路的功耗优化●·4·■D鲁曹春击自由2669.3.4多个供电电压( Multi-VDD)…2749.3.5电源门控………276参考文献……………………281第一章集应电路设计概记集成电路( Integrated Circuits)是现代电子设备的重要组成部分。因此,成功设计集成电路对整个电子信息技术产业的发展起到重要的作用。由于科技的发展,半导体芯片的集成化程度越来越高,设计的系统越来越复杂,规模越来越大,设计的性能越来越髙,功耗也越来越大,这些不断地给芯片设计工程师和电子设计自动化( Electronics Design Automation,简称EDA)厂商提出新的课题和挑战。1.1摩尔定律摩尔提出著名的“摩尔定律”已经40多年了。1965年4月,摩尔在《电子学( Electronics)》杂志上发表文章预言,半导体芯片上集成的晶体管数量将每年翻一番。1975年,他又提出修正说,芯片上集成的晶体管数量将每两年翻一番。晶体管数量MOORES LAWIntels Tanuma 2 Processo1000000000ante△nmtele Pentium Pr100000000Intels Pentium m Processoitels Pentium Pro10000000Intelstuma Printels*v Proces1000000Intel388 pre28610000080801000080084004●100019701975198019851990199520002005年度图1.1.1图1.1.1为在过去25年, ntel CPu中晶体管增长的情况。集成电路的规模不断地稳
    2021-05-06下载
    积分:1
  • 实验 信息熵与图像熵计算
    一、实验目的:1.复习MATLAB 的基本命令,熟悉MATLAB 下的基本函数。 2.复习信息熵基本定义, 能够自学图像熵定义和基本概念。 二、实验内容与原理:实验内容:1.能够写出MATLAB 源代码,求信源的信息熵。 2.根据图像熵基本知识,综合设计出MATLAB 程序,求出给定图像的图像熵。
    2020-11-30下载
    积分:1
  • 自适应平滑滤波matlab
    基于matlab实现的自适应平滑滤波器,基于matlab实现的自适应平滑滤波器
    2021-05-07下载
    积分:1
  • 鱼眼镜头校正matlab
    包含测试图像、测试结果采用matlab实现鱼眼镜头标定方法简答,可靠,标定效果可以
    2020-12-06下载
    积分:1
  • LBP特征提取的matlab代码
    LBP特征提取的matlab代码,已验证。可在此基础上进行改进。
    2020-12-06下载
    积分:1
  • F280049之DAC
    【实例简介】本程序为DSP F280049C的数模转化DAC程序,程序已调试通过,需要的可自行下载。
    2021-11-07 00:32:21下载
    积分:1
  • 696516资源总数
  • 106914会员总数
  • 0今日下载