【pytorch16】MLP反向传播

链式法则回顾

在这里插入图片描述

多输出感知机的推导公式回顾

在这里插入图片描述

只与w相关的输出节点和输入节点有关

多层多输入感知机

扩展为多层感知机的话,意味着还有一些层(理解为隐藏层σ函数),暂且设置为 x j x_{j} xj
在这里插入图片描述
对于 x j x_{j} xj层如果把前面的层数和输入挡住的话就可以类似于一个单层的多输入感知机一样
在这里插入图片描述
逐步推导最终的loss对第二层 w j k w_{jk} wjk的推导公式
在这里插入图片描述

O k k O^{k}_{k} Okk t k t_{k} tk的线性组合换元成 δ k k \delta^{k}_{k} δkk,因此对于最终的输出层上面一共有k个节点的话,最终会有k个 δ k \delta^{k} δk,通过这个中间变量可以得到 δ k \delta^{k} δk的变量再乘一个输入 O j O^{j} Oj,通过这两个相乘就可以得到一个损失对 w j k w_{jk} wjk的梯度计算公式,看起来比原先的要简洁和清晰,所以单独取了一个名字

δ k \delta^{k} δk可以通过前项计算得到, O k O^{k} Ok t k t_{k} tk都是知道的,因此这一部分可以直接在前项计算的时候就把 δ k \delta^{k} δk求出来,再取上一层的 O j O^{j} Oj的变量就可以直接得到矩阵数组( O j O^{j} Oj看做列向量, δ k \delta^{k} δk为行向量),这个矩阵数组代表了这一层所有连接的梯度信息,通过这个矩阵可以直接更新梯度也就是 w j k w_{jk} wjk
在这里插入图片描述
可以看出O的下标是w的行数,δ的下标是w的列数

现在我们希望得到最终层的loss对第一层的 w i j w_{ij} wij的推导公式
在这里插入图片描述
第二步,把偏微分可以写进求和符合,因为只有 O k O_{k} Ok包含 w i j w_{ij} wij,可以把 O k O_{k} Ok作为一个整体

第三步,继续把 O k O_{k} Ok展开, O k O_{k} Ok x k x_{k} xk经过激活函数得到的

第四步,使用链式法则

第五步, σ ( x k ) \sigma(x_{k}) σ(xk)就是 O k O_{k} Ok,把第四步的偏微分用链式法则展开,让 x k x_{k} xk对中间变量 O j O_{j} Oj偏导,再让 O j O_{j} Oj w i j w_{ij} wij偏导

第六步, x k x_{k} xk对具体的 O j O_{j} Oj偏导而言, x k x_{k} xk O j w j k O_{j}w_{jk} Ojwjk的累加(此时j是一个范围属于[0到n]),只有当范围的j与具体的j相同时,偏导才存在为 w j k w_{jk} wjk,看图的话只有一条线影响

第七步,由于 w i j w_{ij} wij与求和中的k变量无关,因此可以提前

第八步, σ ( x j ) \sigma(x_{j}) σ(xj)就是 O j O_{j} Oj同第四步和第五步,而 x j x_{j} xj w i j w_{ij} wij的偏微分(同第六步, x j x_{j} xj等于 x i 0 w i j x^{0}_{i}w_{ij} xi0wij的累加)只有当 w i j w_{ij} wij相等时偏导才存在为 x i 0 x^{0}_{i} xi0,此处设置为 O i O_{i} Oi

总结
在这里插入图片描述

δ k \delta^{k} δk替换求和中线性组合部分,变成了三段表达式
在这里插入图片描述
在这里插入图片描述
δ k \delta^{k} δk定义为从k层节点开始到最终的输出层的梯度传到的一个信息,这个信息是什么也不好说太复杂了,但是可以明确只要拿到了 δ k \delta^{k} δk的信息,这一层的任何节点的梯度信息就可以直接使用当前的O节点的输出乘以前面的所有信息 δ k \delta^{k} δk

同样对于中间层而言,也只需要得到上一层的输入和这一层 δ j \delta^{j} δj的信息就可以得到隐藏层的梯度信息

在这里插入图片描述
首先计算输出层的 δ k \delta^{k} δk以及输出层的更新的梯度信息,得到输出层以后计算导数第二层的 δ j \delta^{j} δj和梯度信息( w i j w_{ij} wij的)
在这里插入图片描述
通过这种方式再可以计算倒数第三层的 δ i \delta^{i} δi和梯度信息就可以计算出所有层的偏微分的信息
在这里插入图片描述
得到这个梯度信息以后,可以直接使用链式法则以及梯度更新方式,更新权值,反复循环达到我们想要的一个程度

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/777420.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Vue联调Java后台操作性强教程

本人详解 作者:王文峰,参加过 CSDN 2020年度博客之星,《Java王大师王天师》 公众号:JAVA开发王大师,专注于天道酬勤的 Java 开发问题中国国学、传统文化和代码爱好者的程序人生,期待你的关注和支持!本人外号:神秘小峯 山峯 转载说明:务必注明来源(注明:作者:王文峰…

C++入门 容器适配器 / stack queue模拟实现

目录 容器适配器 deque的原理介绍 stack模拟实现 queue模拟实现 priority_queue模拟实现 仿函数 容器适配器 适配器是一种设计模式(设计模式是一套被反复使用的、多数人知晓的、经过分类编目的、代码设计经验的总 结),该种模式是将一个类的接口转换成客户希望…

关于GIS的概念方面在前端编程中的理解

关于GIS的概念方面在前端编程中的理解 一. 什么是gis二. 关于地球的建模(了解)三. GIS坐标系表现形式四.GIS的数据4.1 矢量数据4.2 栅格数据4.3 矢量数据和栅格数据的不同 一. 什么是gis 地理坐标系统,其目的就是通过地理坐标系可以确定地球上任何一点的位置。 二. …

介绍 pg_later:受 Snowflake 启发的 Postgres 异步查询#postgresql认证

#PG培训#PG考试#postgresql培训#postgresql考试 为什么要使用异步查询? 想象一下,您启动了一项长期维护工作。您在执行过程中离开,但回来后发现,由于笔记本电脑关机,该工作在几个小时前就被中断了。您不希望这种情况…

web基础与HTTP协议(企业网站架构部署与优化)

补充:http服务首页文件在/var/www/html下的,一定是index.html命名的文件。才会显示出来。 如果该路径下没有相应的文件,会显示/usr/share/httpd/noindex下的index.html文件。 如果/usr/share/httpd/noindex没有index.html文件,会…

Spring MVC 获取请求数据的四种方式,以及获取请求头数据,获取Cookie 的数据,设置Spring MVC 的字符集编码过滤器

1. Spring MVC 获取请求数据的四种方式,以及获取请求头数据,获取Cookie 的数据,设置Spring MVC 的字符集编码过滤器 文章目录 1. Spring MVC 获取请求数据的四种方式,以及获取请求头数据,获取Cookie 的数据&#xff0c…

昇思MindSpore学习笔记4-01生成式--CycleGAN图像风格迁移互换

摘要: 记录了昇思MindSpore AI框架用循环对抗生成网络模型CycleGAN实现图像匹配的方法、步骤。包括环境准备、数据集下载、数据加载和预处理、构建生成器和判别器、优化、模型训练和推理等。 1.模型介绍 1.1模型简介 CycleGAN(Cycle Generative Adversarial Netwo…

黑科技带来时尚的体验,Umelody悠律凝声环开放式耳机评测

如今的蓝牙耳机,已经有了很多种不同的风格,但是却很少有什么创新的。直至近期,耳挂式蓝牙耳机成为了开放式耳机的热点,其设计和风格都非常与众不同,那它体验如何,有什么优势呢? 本次体验&#…

����: �Ҳ������޷��������� javafx.fxml ԭ��: java.lang.ClassNotFoundException解决方法

如果你出现了这个问题,恭喜你,你应该会花很多时间去找解决方法。别问我怎么知道的... 解决方法: 出现乱码的原因:配置vm时 这些配置看似由有空格,换行,实则没有。所以解决办法就是,重新配置你…

中英双语介绍日本东京(Tokyo)

中文版 东京介绍 东京是日本的首都,也是日本的政治、经济、文化和国际交流中心。以下是对东京的详细介绍,包括其地理位置、人口、经济、教育、文化和主要景点。 地理位置 东京位于日本关东地区的南部,地理坐标大致为北纬35度41分&#xf…

多链路聚合通信路由在应急救援活动中的重要性及解决方案

在应急救援指挥活动中,多链路聚合通信设备如同一座坚固的桥梁,将信息快速、准确地传递至每一个角落。面对复杂多变的救援现场,这类设备展现了其卓越的适应性和稳定性。 想象一下,当灾害突然降临,信息的传递变得至关重…

yolov5 json 和 txt数据格式关系

训练阶段 和 推理阶段数据格式转换说明 关于yolov5 数据格式一直以来都傻傻分不清楚,这下进行了一个梳理,做了笔记,也希望可帮助到有需要的有缘人~ 转换部分代码

Transform Data with SQL

rm -r dp-203 -f git clone https://github.com/MicrosoftLearning/dp-203-azure-data-engineer dp-203 cd dp-203/Allfiles/labs/01 ./setup.ps1 -- This is auto-generated code SELECTTOP 100 * FROMOPENROWSET(BULK https://datalakexxxxxxx.dfs.core.windows.net/fil…

在Apache HTTP服务器上配置 TLS加密

安装mod_ssl软件包 [rootlocalhost conf.d]# dnf install mod_ssl -y此时查看监听端口多了一个443端口 自己构造证书 [rootlocalhost conf.d]# cd /etc/pki/tls/certs/ [rootlocalhost certs]# openssl genrsa > jiami.key [rootlocalhost certs]# openssl req -utf8 -n…

docker buildx 交叉编译设置

dockerd配置文件 /etc/docker/daemon.json设置: rootubuntu:/etc/docker# cat daemon.json {"insecure-registries":["localhost:5000","127.0.0.1:5000","172.16.67.111:5000"],"features": {"buildkit&…

磁力泵与屏蔽泵

1.磁力泵的工作原理 磁力传动是利用磁体能吸引铁磁物质以及磁体或磁场之间有磁力作用的特性,而非铁磁物质不影响或很少影响磁力的大小,因此可以无接触地透过非磁导体(隔离套)进行动力传输。磁力传动可分为同步或异步设计。 大多数…

基于深度学习的人脸多任务识别(附代码)

项目说明 本项目为人脸多任务识别(单输入,多输出),可以同时输出人脸关键点、性别和年龄。 采用了两个算法进行应用的实现,人脸目标检测和人脸多任务识别。 其中人脸目标检测采用YOLOV5进行实现,主要对人脸部分进行截取&#xf…

查看电脑ip地址快捷键是什么?是哪个

在网络世界中,IP地址是每个网络设备的唯一标识,无论是我们的电脑、手机还是其他联网设备,都需要一个独特的IP地址来进行通讯。在日常生活和工作中,我们有时需要查看电脑的IP地址,以便进行网络设置、故障排查或远程连接…

WordPress主题开发进群付费主题v1.1.2 多种引流方式

全新前端UI界面,多种前端交互特效让页面不再单调,进群页面群成员数,群成员头像名称,每次刷新页面随机更新不重复,最下面评论和点赞也是如此随机刷新不重复 进群页面简介,群聊名称,群内展示&…

unix高级编程系列之文件I/O

背景 作为linux 开发者,我们不可避免会接触到文件编程。比如通过文件记录程序配置参数,通过字符设备与外设进行通信。因此作为合格的linux开发者,一定要熟练掌握文件编程。在文件编程中,我们一般会有两类接口函数:标准…