【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.mzph.cn/diannao/41109.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

迅捷PDF编辑器合并PDF

迅捷PDF编辑器是一款专业的PDF编辑软件,不仅支持任意添加文本,而且可以任意编辑PDF原有内容,软件上方的工具栏中还有丰富的PDF标注、编辑功能,包括高亮、删除线、下划线这些基础的,还有规则或不规则框选、箭头、便利贴…

【护眼小知识】护眼台灯真的护眼吗?防近视台灯有效果吗?

当前,近视问题在人群中愈发普遍,据2024年的统计数据显示,我国儿童青少年的总体近视率已高达52.7%。并且近视背后潜藏着诸多眼部并发症的风险,例如视网膜脱离、白内障以及开角型青光眼等,严重的情况甚至可能引发失明。为…

PMP--知识卡片--波士顿矩阵

文章目录 记忆黑话概念作用图示 记忆 一说到波士顿就联想到波士顿龙虾,所以波士顿矩阵跟动物有关,狗,牛。 黑话 你公司的现金牛业务,正在逐渐变成瘦狗,应尽快采取收割策略;问题业务的储备太少&#xff0…

必须掌握的Linux的九大命令

ifconfig 命令用于配置和查看网络接口的参数。 ping 命令用于测试主机之间的网络连通性。 telnet用于通过Telnet协议连接到远程主机。 telnet 127.0.0.1 8000 telnet example.com telnet example.com 8080 iostat 命令用于报告 CPU 统计信息和 I/O 设备负载。 iostat&…

护眼热点:台灯护眼是真的吗?一起来看台灯的功能作用有哪些

如今近视问题日益严峻,尤为引人瞩目的是,高度近视学生群体占比已逼近10%的警戒线,且这一比例伴随着学龄的增长而悄然攀升——从幼儿园6岁孩童中那令人忧虑的1.5%,到高中阶段惊人的17.6%,每一组数据都敲响了保护儿童视力…

【Linux】静态库的制作和使用详解

💐 🌸 🌷 🍀 🌹 🌻 🌺 🍁 🍃 🍂 🌿 🍄🍝 🍛 🍤 📃个人主页 :阿然成长日记 …

代码随想录算法训练营第71天:路径算法[1]

代码随想录算法训练营第71天:路径算法 ‍ bellman_ford之单源有限最短路 卡码网:96. 城市间货物运输 III(opens new window) 【题目描述】 某国为促进城市间经济交流,决定对货物运输提供补贴。共有 n 个编号为 1 到 n 的城市&#xff0c…

【CT】LeetCode手撕—4. 寻找两个正序数组的中位数

目录 题目1- 思路2- 实现⭐4. 寻找两个正序数组的中位数——题解思路 3- ACM 实现 题目 原题连接:4. 寻找两个正序数组的中位数 1- 思路 思路 将寻找中位数 ——> 寻找两个合并数组的第 K 大 (K代表中位数) 实现 ① 遍历两个数组 &am…

企业级监控系统Zabbix

文章目录 Zabbix介绍Zabbix架构Zabbix serverZabbix agentZabbix proxy Zabbix Server的安装Zabbix Agent的安装监控主机流程zabbix_get自定义模板和监控项实战用户登录数监控1.指定监控项命令2.重启Agent服务3.在Server上创建监控项4.测试监控项5.查看监控项图形 触发器定义触…

外泌体相关基因肝癌临床模型预测——2-3分纯生信文章复现——4.预后相关外泌体基因确定单因素cox回归(2)

内容如下: 1.外泌体和肝癌TCGA数据下载 2.数据格式整理 3.差异表达基因筛选 4.预后相关外泌体基因确定 5.拷贝数变异及突变图谱 6.外泌体基因功能注释 7.LASSO回归筛选外泌体预后模型 8.预后模型验证 9.预后模型鲁棒性分析 10.独立预后因素分析及与临床的…

【若依】关闭当前标签页并跳转路由到其他页面

使用场景如:当在新增/编辑路由页面提交成功后,需要关闭当前页,并跳转回列表页。 实现代码: this.$store.dispatch("tagsView/delView", this.$route); //关闭当前页 this.$router.replace({ path: "/xxx/xxx"…

【经验总结】Springboot打印指定类的日志到指定文件中

原文地址:https://www.cnblogs.com/zeng1994/p/f9bff238b13a0bf8fb8bf88c41db7a34.html 以下内容已经过实践,勘误,总结 环境:Springboot2.5.2 公司有个项目,需要和几个第三方系统对接。这种项目,日志一定要…

香橙派 AIpro 根据心情生成专属音乐

香橙派 AIpro 根据心情生成专属音乐 一、OrangePi AI pro 开发版参数介绍1.1 接口简介1.2 OrangePi AI pro 的Linux系统功能适配情况1.3 开发板开机1.4 远程连接到 OrangePi AIpro 二、开发环境搭建2.1 创建环境、代码部署文件夹2.2 安装 miniconda2.3 为 miniconda 更新国内源…

生态系统NPP及碳源、碳汇模拟技术教程

原文链接:生态系统NPP及碳源、碳汇模拟技术教程https://mp.weixin.qq.com/s?__bizMzUzNTczMDMxMg&mid2247608293&idx3&sn2604c5c4e061b4f15bb8aa81cf6dadd1&chksmfa826602cdf5ef145c4d170bed2e803cd71266626d6a6818c167e8af0da93557c1288da21a71&a…

【综合能源】计及碳捕集电厂低碳特性及需求响应的综合能源系统多时间尺度调度模型

目录 1 主要内容 2 部分程序 3 实现效果 4 下载链接 1 主要内容 本程序是对《计及碳捕集电厂低碳特性的含风电电力系统源-荷多时间尺度调度方法》方法复现,非完全复现,只做了日前日内部分,并在上述基础上改进升级为电热综合电源微网系统&…

vue+openlayers之几何图形交互绘制基础与实践

文章目录 1.实现效果2.实现步骤3.示例页面代码3.基本几何图形绘制的关键代码 1.实现效果 绘制点、线、多边形、圆、正方形、长方形 2.实现步骤 引用openlayers开发库。加载天地图wmts瓦片地图。在页面上添加几何图形绘制的功能按钮,使用下拉列表(sel…

程序员绩效管理-进一步思考

工时管理也好、项目管理(软件项目)也好,市面上已经很多了,你做这个和他们区别何在?大的公司一般都自己做,谁又为你买单?根据目前的反馈,主要的疑问就是这两个问题。 进一步思考如下&…

基于JavaScript、puppeteer的爬虫

前期准备: npm puppeteer import puppeteer from puppeteer; puppeteer文档 第一步:启动浏览器,跳转到需要爬取的页面 const browser await puppeteer.launch({ headless: false });const page await browser.newPage();await page.goto(url, { w…

【目标检测实验系列】YOLOv5模型改进:引入轻量化多维动态卷积ODConv,减少计算量的同时保持精度稳定或略微上涨!(内含源代码,超详细改进代码流程)

1. 文章主要内容 本篇博客主要涉及轻量化多维动态卷积ODConv,融合到YOLOv5模型中,减少计算量的同时保持精度稳定或略微上涨。(通读本篇博客需要7分钟左右的时间)。 2. 介绍 ODconv沿着空间、输入通道、输出通道以及卷积核空间的核…

领导被我的花式console.log吸引了!直接写入公司公共库!

背景简介 这几天代码评审,领导无意中看到了我本地代码的控制台,被我花里胡哨的console打印内容吸引了! 老板看见后,说我这东西有意思,花里胡哨的,他喜欢! 但是随即又问我,这么花里胡哨的东西,上生产会影响性能吧?我自信的说:不会,代码内有判断的,只有开发环境会…