深度学习(30)随机梯度下降七: 多层感知机梯度(反向传播算法)

2023-10-28

深度学习(30)随机梯度下降八: 多层感知机梯度(反向传播算法)


tens
Recap
Chain Rule
在这里插入图片描述

Multi-output Perceptron
在这里插入图片描述

∂ E ∂ w j k = ( O k − t k ) O k ( 1 − O k ) x j 0 \frac{∂E}{∂w_{jk}} =(O_k-t_k)O_k (1-O_k)x_j^0 wjkE=(Oktk)Ok(1Ok)xj0
Multi-Layer Perception

1. 多层感知机模型

在这里插入图片描述
在这里插入图片描述

∂ E ∂ w j k = ( O k − t k ) O k ( 1 − O k ) x j 0 \frac{∂E}{∂w_{jk}}=(O_k-t_k)O_k (1-O_k)x_j^0 wjkE=(Oktk)Ok(1Ok)xj0 → \to ∂ E ∂ w j k = ( O k − t k ) O k ( 1 − O k ) x j J \frac{∂E}{∂w_{jk}}=(O_k-t_k)O_k (1-O_k)x_j^J wjkE=(Oktk)Ok(1Ok)xjJ设: δ k K = ( O k − t k ) O k ( 1 − O k ) δ_k^K=(O_k-t_k)O_k (1-O_k) δkK=(Oktk)Ok(1Ok)注: 这里可以将 δ k K δ_k^K δkK理解为是k节点的一个属性; ∂ E ∂ w j k = δ k K x j J \frac{∂E}{∂w_{jk}} =δ_k^K x_j^J wjkE=δkKxjJ

2. 多层感知机梯度

在这里插入图片描述

∂ E ∂ w i j = ∂ ∂ w i j 1 2 ∑ k ∈ K ( O k − t k ) 2 \frac{∂E}{∂w_{ij}} =\frac{∂}{∂w_{ij} } \frac{ 1}{2} ∑_{k∈K}(O_k-t_k)^2 wijE=wij21kK(Oktk)2 ∂ E ∂ w i j = ∑ k ∈ K ( O k − t k ) ∂ ∂ w i j O k \frac{∂E}{∂w_{ij}} =∑_{k∈K}(O_k-t_k ) \frac{ ∂}{∂w_{ij}} O_k wijE=kK(Oktk)wijOk
∂ E ∂ w i j = ∑ k ∈ K ( O k − t k ) ∂ ∂ w i j σ ( x k ) \frac{∂E}{∂w_{ij}} =∑_{k∈K}(O_k-t_k ) \frac{ ∂}{∂w_{ij}} σ(x_k ) wijE=kK(Oktk)wijσ(xk) ∂ E ∂ w i j = ∑ k ∈ K ( O k − t k ) ∂ σ ( x k ) ∂ x k ∂ x k ∂ w i j \frac{∂E}{∂w_{ij}} =∑_{k∈K}(O_k-t_k ) \frac{∂σ(x_k )}{∂x_k } \frac{∂x_k}{∂w_{ij} } wijE=kK(Oktk)xkσ(xk)wijxk ∂ E ∂ w i j = ∑ k ∈ K ( O k − t k ) σ ( x k ) ( 1 − σ ( x k ) ) ∂ x k ∂ w i j \frac{∂E}{∂w_{ij}} =∑_{k∈K}(O_k-t_k ) σ(x_k )(1-σ(x_k ))\frac{∂x_k}{∂w_{ij} } wijE=kK(Oktk)σ(xk)(1σ(xk))wijxk ∂ E ∂ w i j = ∑ k ∈ K ( O k − t k ) O k ( 1 − O k ) ∂ x k ∂ w i j \frac{∂E}{∂w_{ij}} =∑_{k∈K}(O_k-t_k )O_k (1-O_k)\frac{∂x_k}{∂w_{ij} } wijE=kK(Oktk)Ok(1Ok)wijxk ∂ E ∂ w i j = ∑ k ∈ K ( O k − t k ) O k ( 1 − O k ) ∂ x k ∂ O j ∂ O j ∂ w i j \frac{∂E}{∂w_{ij}} =∑_{k∈K}(O_k-t_k )O_k (1-O_k)\frac{∂x_k}{∂O_j} \frac{∂O_j}{∂w_{ij}} wijE=kK(Oktk)Ok(1Ok)OjxkwijOj ∵ x k K = O 0 J w 0 k J + O 1 J w 1 k J + ⋯ + O j J w j k J + ⋯ + O n J w n k J \because x_k^K=O_0^J w_{0k}^J+O_1^J w_{1k}^J+⋯+O_j^J w_{jk}^J+⋯+O_n^J w_{nk}^J xkK=O0Jw0kJ+O1Jw1kJ++OjJwjkJ++OnJwnkJ ∴ ∂ E ∂ w i j = ∑ k ∈ K ( O k − t k ) O k ( 1 − O k ) w j k ∂ O j ∂ w i j \therefore\frac{∂E}{∂w_{ij}} =∑_{k∈K}(O_k-t_k )O_k (1-O_k)w_{jk} \frac{∂O_j}{∂w_{ij}} wijE=kK(Oktk)Ok(1Ok)wjkwijOj ∂ E ∂ w i j = ∂ O j ∂ w i j ∑ k ∈ K ( O k − t k ) O k ( 1 − O k ) w j k \frac{∂E}{∂w_{ij}} = \frac{∂O_j}{∂w_{ij}}∑_{k∈K}(O_k-t_k )O_k (1-O_k)w_{jk} wijE=wijOjkK(Oktk)Ok(1Ok)wjk ∵ ∂ O j ∂ w i j = ∂ O j ∂ x j ∂ x j ∂ w i j = O j ( 1 − O j ) ∂ x j ∂ w i j \because\frac{∂O_j}{∂w_{ij}}=\frac{∂O_j}{∂x_j} \frac{∂x_j}{∂w_{ij}} =O_j (1-O_j)\frac{∂x_j}{∂w_{ij}} wijOj=xjOjwijxj=Oj(1Oj)wijxj ∴ ∂ E ∂ w i j = O j ( 1 − O j ) ∂ x j ∂ w i j ∑ k ∈ K ( O k − t k ) O k ( 1 − O k ) w j k \therefore\frac{∂E}{∂w_{ij}} =O_j (1-O_j) \frac{∂x_j}{∂w_{ij}}∑_{k∈K}(O_k-t_k ) O_k (1-O_k)w_{jk} wijE=Oj(1Oj)wijxjkK(Oktk)Ok(1Ok)wjk ∂ E ∂ w i j = O j ( 1 − O j ) O i ∑ k ∈ K ( O k − t k ) O k ( 1 − O k ) w j k \frac{∂E}{∂w_{ij}} =O_j (1-O_j)O_i ∑_{k∈K}(O_k-t_k ) O_k (1-O_k)w_{jk} wijE=Oj(1Oj)OikK(Oktk)Ok(1Ok)wjk ∵ ( O k − t k ) O k ( 1 − O k ) = δ k \because (O_k-t_k ) O_k (1-O_k )=δ_k (Oktk)Ok(1Ok)=δk ∴ ∂ E ∂ w i j = O i O j ( 1 − O j ) ∑ k ∈ K δ k w j k \therefore \frac{∂E}{∂w_{ij}}=O_i O_j (1-O_j)∑_{k∈K}δ_k w_{jk} wijE=OiOj(1Oj)kKδkwjk设: δ j J = O j ( 1 − O j ) ∑ k ∈ K δ k w j k δ_j^J=O_j (1-O_j)∑_{k∈K}δ_k w_{jk} δjJ=Oj(1Oj)kKδkwjk则: ∂ E ∂ w i j = δ j J O i I \frac{∂E}{∂w_{ij}}=δ_j^J O_i^I wijE=δjJOiI注: 可以把 δ k K δ_k^K δkK理解为当前连接w_ij对误差函数的贡献值;

3. 传播规律小结

  • 输出层
    ∂ E ∂ w j k = δ k ( K ) O j \frac{∂E}{∂w_{jk}}=δ_k^{(K)} O_j wjkE=δk(K)Oj δ k ( K ) = O k ( 1 − O k ) ( O k − t k ) δ_k^{(K)}=O_k (1-O_k)(O_k-t_k) δk(K)=Ok(1Ok)(Oktk)
  • 倒数第二层
    ∂ E ∂ w i j = δ j ( J ) O i \frac{∂E}{∂w_{ij}}=δ_j^{(J)} O_i wijE=δj(J)Oi δ j ( J ) = O j ( 1 − O j ) ∑ k δ k ( K ) w j k δ_j^{(J)}=O_j (1-O_j)∑_kδ_k^{(K)} w_{jk} δj(J)=Oj(1Oj)kδk(K)wjk
  • 倒数第三层
    ∂ E ∂ w n i = δ i ( I ) O n \frac{∂E}{∂w_{ni}}=δ_i^{(I)} O_n wniE=δi(I)On δ i ( I ) = O i ( 1 − O i ) ∑ j δ j ( J ) w i j δ_i^{(I)}=O_i (1-O_i)∑_jδ_j^{(J)} w_{ij} δi(I)=Oi(1Oi)jδj(J)wij其中 O n O_n On为倒数第三层的输入,即倒数第四层的输出。

依照此规律,只需要循环迭代计算每一层每个节点的 δ k ( K ) δ_k^{(K)} δk(K) δ j ( J ) δ_j^{(J)} δj(J) δ i ( I ) δ_i^{(I)} δi(I)等值即可求得当前层的偏导数,从而得到每层权值矩阵W的梯度,再通过梯度下降算法迭代优化网络参数即可。

参考文献:
[1] 龙良曲:《深度学习与TensorFlow2入门实战》

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

深度学习(30)随机梯度下降七: 多层感知机梯度(反向传播算法) 的相关文章

随机推荐

  • 使用echarts实现简单的关系图谱

    使用echarts实现简单的关系图谱 如图 代码
  • pytorch载入数据与对应的标签,使用torch.utils.data详解,DataLoader的使用

    在进行深度学习处理的时候 我们需要将数据输入到神经网络中进行训练 训练网络的学习能力 其实是根据一定的规则更新网络节点中的参数 而这个规则的来源就是依赖于数据与标签 我们需要将数据与标签相匹配 才能让网络进行训练 比如说网络学习到了一定的特
  • stem教育资源

    人生不同阶段都有不同的使命 在学生阶段 学习掌握知识为以后的人生获得成就的能力 就是这个阶段使命 为了这个使命 他们必须要学习忍耐 学会放弃 学会付出 这不仅仅是学习的需要 也是人生的一种修炼 纵观我们身边的人 但凡取得一定成就的都是要经过
  • 用 LangChain 构建基于资料库的问答机器人(三):ReAct

    大家好 我是 Jambo 我们已经学习了如何使用 LangChain 的一些基本功能 解下我们就应该要结合这些功能来做一些复杂的东西了 但在这之前 为了让同学们更好的理解 LangChain 在这其中做了什么 我想先介绍一下关于 GPT 使
  • 修改索引值python_pandas DataFrame的修改方法(值、列、索引)

    对于DataFrame的修改操作其实有很多 不单单是某个部分的值的修改 还有一些索引的修改 列名的修改 类型修改等等 我们仅选取部分进行介绍 一 值的修改 DataFrame的修改方法 其实前面介绍loc方法的时候介绍了一些 1 loc方法
  • STM32 IAP Ymodem

    STM32 IAP采用Ymodem协议升级固件 公司最近软件需要通过IAP来升级所有板卡的固件 其中板卡有2块 一块主控板卡 一块子控板卡 其中 主控板卡与子控板卡之间采用RS485通信 PC与主控板卡采用RS232通信 具体框架 一 PC
  • pc817光耦参数_光耦在电子电路中有什么作用?关键参数有哪些?一起了解一下...

    光耦作为一个可以对信号进行电气隔离的电子元器件 常用于开关电源电压反馈隔离 电路隔离控制 光耦在电子电路中有不可或缺的地位 了解光偶的特性对学习电子电路有不少帮助 开关电源电压反馈 光耦隔离控制继电器 今天就一起来了解一下光耦吧 电子元器件
  • linkstack头文件 c语言,链式栈的基本操作——LinkStack(C语言版)

    include stdafx h include define OK 1 define ERROR 0 define TRUE 1 define FALSE 0 define MAXSIZE 20 存储空间初始分配量 typedef int
  • odoo10源码win系统开发环境安装图文教程

    前言 odoo10的源码安装教程不太完整或对新手不够友好 本新手再次整合出一份友好的新手教程 老鸟慎入 准备工作 一个干净的window系统 事先没有其他python环境的系统 如果怕系统污染可以先用虚拟机安装熟悉了再正式安装 亲测wind
  • 【论文写作】——设置中英文字体

    打开文件 点击选项 选择高级 取消中文字体也应用于西文的勾选 然后选中全文 设置中文字体为宋体 设置英文字体为times new Roman
  • flask框架

    flask框架 一 flask简介 二 初体验 三 flask配置 1 开启debug模式 2 如何正确显示中文 2 1 配置文件的优化 四 URL与视图 1 构造URL url for 五 指定HTTP方法 六 页面跳转和重定向 七 模板
  • 【PostMan】postman如何发送并发请求

    1 概述 假设我们有一个接口 单次调用可以调通 然后我们将这个接口加入到集合 也可以复制一个接口或者多个到集合 然后点击 后面点击运行就可以模拟 20个线程 轮训集合中的接口 并发的调用
  • [423]定时任务(saturn)

    项目地址 https github com vipshop Saturn 参考文档 https vipshop github io Saturn zh cn 3 0 https vipshop github io Saturn zh cn
  • 揭秘python函数:编程艺术的核心力量

    文章目录 前言 什么是 python 函数 函数的使用步骤 1 定义函数 2 调用函数 带有参数的函数 函数的返回值 函数的说明文档 函数的嵌套调用 实现简易的计算器 前言 当我们深入研究 Python 的内心深处 我们将会发现 函数是其内
  • c语言的文件末尾没有换行符,为什么文本文件应该以换行符结尾?

    这个答案是一种技术性的回答 而不是意见 如果我们想成为POSIX纯粹主义者 我们定义一条线为 零个或多个非字符加上终止字符的序列 不完整的一行 如 文件末尾一个或多个非字符的序列 文本文件 如 包含组织成零行或多行的字符的文件 这些行不包含
  • 面向对象基础--类和对象

    类和对象的关系 一 对象 用来描述客观事物的一个实体 由一组属性和方法构成 对象是由静态特征和动态特征组成 1 静态特征 属性 2 动态特征 方法 对象的特征 属性 属性 对象具有的各种特征 每个对象的每个属性都拥有特定值 对象的特征 方法
  • npm : 无法将“npm”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径,请确保路径正确,然后再试一次。

    npm 无法将 npm 项识别为 cmdlet 函数 脚本文件或可运行程序的名称 请检查名称的拼写 如果包括路径 请确保路径正确 然后再试一次 目录 一 报错 二 解决 1 安装node js node js安装过程中的报错问题 解决nod
  • 五大板块(4)——链表

    参考 五大板块 4 链表 作者 丶PURSUING 发布时间 2021 02 15 09 33 29 网址 https blog csdn net weixin 44742824 article details 114981905 目录 一
  • index=False含义

    index False含义 输出不显示index 索引 值 在输出代码行中 加入 index False 如下 m pred survived to csv clasified csv index False
  • 深度学习(30)随机梯度下降七: 多层感知机梯度(反向传播算法)

    深度学习 30 随机梯度下降八 多层感知机梯度 反向传播算法 1 多层感知机模型 2 多层感知机梯度 3 传播规律小结 tens Recap Chain Rule Multi output Perceptron E