翻译: 可视化深度学习反向传播原理一

news2025/1/21 12:18:21

在这里插入图片描述
本期我们来讲反向传播 也就是神经网络学习的核心算法 稍微回顾一下我们之前讲到哪里之后
在这里插入图片描述

首先我要撇开公式不提 直观地过一遍 这个算法到底在做什么
在这里插入图片描述

然后如果你们有人想认真看里头的数学 下一期影片我会解释这一切背后的微积分 如果你看了前两期影片 或者你已经有足够背景知识 直接空降来这一期影片的话 你一定知道神经网络是什么 以及它如何前馈信息的
在这里插入图片描述

这里我们考虑的经典例子就是手写数字识别 数字的像素值被输入到网络第一层的784个神经元里
这里 我展示的是有2层16个神经元隐含层 10个神经元的输出层 代表网络最终给出的选择
在这里插入图片描述

我也假设你们已经理解了上期说到的梯度下降法 理解了所谓学习就是指 我们要找到特定的权重偏置 从而使一个代价函数最小化
在这里插入图片描述

稍许提醒一下 计算一个训练样本的代价 你需要求出网络的输出 与期待的输出 之间每一项的差的平方和
在这里插入图片描述

然后对于成千上万个训练样本都这么算一遍 最后取平均 这就得到了整个网络的代价值
在这里插入图片描述

如果你嫌这还不够复杂的话 上集内容也讲到了
我们要求的是代价函数的负梯度
在这里插入图片描述

它告诉你如何改变所有连线上的权重偏置 才好让代价下降得最快
在这里插入图片描述

反向传播算法 正是用来求这个复杂到爆的梯度的

在这里插入图片描述

我希望大家能够把上集中提到的一点牢牢记住 毕竟13000维的梯度向量 说它是难以想象都不为过
在这里插入图片描述

所以这里大家请记住另一套思路 梯度向量每一项的大小是在告诉大家 代价函数对于每个参数有多敏感 比如说 你走了一段我讲的过程 计算了负梯度 对应这条线上这个权重的一项等于3.2,而对应这条边上的一项等于0.1
在这里插入图片描述

你可以这么来理解 第一个权重对代价函数的值有32倍的影响力 如果你稍微改变一下第一个权重 它对代价值造成的变化
在这里插入图片描述

就是改变第二个权重同等大小下的32倍
在这里插入图片描述

就我个人而言 我刚开始学习反向传播的时候 我觉得最容易搞混的部分就是各种符号和上标下标 不过 一旦你厘清了算法的思路 算法的每一步其实都挺直观的 其实就是把许许多多微小的调整一层进一层地进行下去而已 所以 开始讲解时 我将完全抛弃所有的符号
在这里插入图片描述

给大家一步步解释 每一个训练样本会对权重偏置的调整造成怎样的影响 因为代价函数牵扯到 对成千上万个训练样本的代价取平均值
在这里插入图片描述

所以我们调整每一步梯度下降用的权重偏置 也会基于所有的训练样本 原理上是这么说
在这里插入图片描述

但为了计算效率 之后咱们会讨个巧 从而不必每一步都非得要计算所有的训练样本
在这里插入图片描述

还需要说明一点 我们现在只关注一个训练样本 就这张2 这一个训练样本会对调整权重和偏置造成怎样的影响呢?
在这里插入图片描述

现在假设网络还没有完全训练好 那么输出层的激活值看起来就很随机 也许就会出现0.5、0.8、0.2 等等等等
在这里插入图片描述

我们并不能直接改动这些激活值 只能改变权重和偏置值
在这里插入图片描述

但记住我们想要输出层出现怎样的变动 还是很有用的
在这里插入图片描述

因为我们希望图像最终的分类结果是2 我们希望第三个输出值变大 其他数值变小 并且变动的大小应该与现在值和目标值之间的差呈正比 并且变动的大小应该与现在值和目标值之间的差呈正比
在这里插入图片描述

举个例子 增加数字“2”神经元的激活值
就应该比减少数字“8”神经元的激活值来得重要 因为后者已经很接近它的目标了
在这里插入图片描述

那好 我们更进一步 就来关注下这一个神经元 我们要让这里面的激活值变大 还记得这个激活值是 把前一层所有激活值的加权和 加上一个偏置 再通过sigmoid ReLU之类的挤压函数 最后算出来的吧 所以要增加这个激活值 我们有三条大路可走 一增加偏置 二增加权重 或者三改变上一层的激活值 先来看如何调整权重 各个权重它们的影响力各不相同
在这里插入图片描述

连接前一层最亮的神经元的权重 影响力也最大 因为这些权重会与大的激活值相乘 所以至少对于这一个训练样本而言 增大了这几个权重值 对最终代价函数造成的影响 就比增大连接黯淡神经元的权重所造成的影响 要大上好多倍
在这里插入图片描述

请记住当我们说到梯度下降的时候 我们并不只看每个参数是该增大还是减小 我们还看该哪个参数的性价比最高

参考

https://youtu.be/Ilg3gGewQ5U?si=Cj4v_7kY3Ee-YDi2

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

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

相关文章

【文件系统】磁盘的物理结构 | 存储结构

目录 0.前言 1.磁盘的物理结构 1.1什么是二进制(0/1) 1.2磁盘的存放位置 1.3磁盘的结构 2.磁盘的存储结构 2.1❓数据是怎样在磁盘上存储 2.2❓读写的基本单位是什么 2.3❓如何找到一个指定位置的扇区 2.4❓为什么磁盘的机械结构是这样的 0.前…

Audio Spectrogram Transformer (AST)工作介绍

Audio Spectrogram Transformer (AST),是一种基于 Transformer 模型的音频分类方法。AST 利用了 Transformer 模型在捕获全局特征方面的优势,将音频信号转换为频谱图进行处理。下面是对 AST 及其相关研究工作的详细介绍: 1.研究背景 传统的音…

SpringAOP-底层实现源码解析

目录 1. Spring AOP原理流程图 2. 动态代理 3. ProxyFactory 4. Advice的分类 5. Advisor的理解 6. 创建代理对象的方式 ProxyFactoryBean BeanNameAutoProxyCreator DefaultAdvisorAutoProxyCreator 7. 对Spring AOP的理解 8. AOP中的概念 9. Advice在Spring AOP中…

文心智能体【MBTI速测小精灵】:趣味速测,精准解析你的性格密码!

文章目录 一、文心智能体平台是什么?二、创建文心智能体智能体创建智能体调试分析智能体基础配置智能体高级配置智能体高级调试 三、文心智能体发布四、文心智能体体验总结 一、文心智能体平台是什么? AgentBuilder文心智能体平台是基于文心大模型的智能…

饮料加速稳定性试验

饮料加速稳定性试验概览 饮料加速稳定性试验是一种通过模拟加速条件来预测饮料在市场销售期间稳定性的测试方法。这种测试对于确保饮料产品在整个保质期内的质量和安全性至关重要。它可以帮助生产企业优化产品配方、改进包装材料、调整储存和运输条件,从而确保产品在…

苍穹外面day13(day10)---订单状态定时处理、来单提醒和客户催单

Spring Task 同学们可以看我这篇文章 Spring Task初学-CSDN博客 订单状态定时处理 新建OrderTask /*** 定时任务类,定时处理订单状态*/ Component Slf4j public class OrderTask {Autowiredprivate OrderMapper orderMapper;/*** 处理超时订单的方法*/Scheduled(c…

【嵌入式之RTOS】什么是消息队列

目录 一、FreeRTOS消息队列的基本概念 二、FreeRTOS消息队列的工作原理 三、FreeRTOS消息队列的特点 四、FreeRTOS消息队列的应用 五、示例 消息队列是一种用于任务间通信的机制,它允许一个任务(生产者)向消息队列发送消息,而…

使用uniapp+Django开发的在线工具网站

引言 在当今数字化时代,在线工具网站为用户提供了便捷的服务和功能,本文分享了我使用UniApp和Django开发的一款多平台在线工具网站。通过这个项目,我探索了跨平台开发与强大的后端框架结合的优势,实现了用户友好的界面和稳健的功…

【C++】二维数组定义方式

二维数组有四种定义方式 1、数据类型 数组名[行数 ][ 列数 ]; 2、数据类型 数组名[ 行数 ][ 列数 ]{{数据1,数据2},{数据3,数据4 }}; 3、数据类型 数组名[ 行数 ][ 列数 ]{数据1,数据2,数据3&#xff…

C++ 标准库和标准模板库

参考: C STL 教程 | 菜鸟教程 (runoob.com) C标准库和标准模板库 - 星朝 - 博客园 (cnblogs.com) C强大的功能来源于其丰富的类库及库函数资源。C标准库的内容总共在50个标准头文件中定义。在C开发中,要尽可能地利用标准库完成。这样做的直接好处包括&am…

【Jenkins未授权访问漏洞 】

默认情况下 Jenkins面板中用户可以选择执行脚本界面来操作一些系统层命令,攻击者可通过未授权访问漏洞或者暴力破解用户密码等进入后台管理服务,通过脚本执行界面从而获取服务器权限。 第一步:使用fofa语句搜索 搜索语句: port&…

NICE Seminar(2022-7-17)进化约束优化(中南大学王勇教授)

​​​​​​​ ACO偏向于离散 DE和PSO偏向于连续变量 确定性替换和随机替换 存在缺陷,可行域可能有多个。 Pfea为可行解所占比例 目标空间中的可行域与在决策空间的可行域中的对应关系??? 维度中套维度?&#xff1…

苹果 Safari 的隐私保护与广告追踪问题 :技术进展与挑战

隐私保护的进展与挑战 近年来,浏览器行业在隐私保护技术方面取得了显著进展,尤其是在广告追踪领域。谷歌的 Chrome 浏览器推广了隐私沙盒,通过将用户可能感兴趣的主题分类并推送给广告商。Mozilla Firefox 和 Meta Facebook 则推出了一种名为…

C 语言学习(5) ---- 汇编语法基础

目录 汇编语言基础x86 体系的寄存器说明Intel 和 AT&T 语法"helloworld" 汇编程序分析指令和伪指令TBD 汇编语言基础 汇编程序基本由 4 种类型的组件组成:指令(instruction)、伪指令(directive)、标号&…

Python在指定文件夹下创建虚拟环境

基于不同python版本和第三方包版本开发的项目,为了方便学习和管理python环境,可以在指定的文件夹里创建项目所需的虚拟环境。具体流程如下: (1) 以管理员身份打开Ananconda Prompt,查看当前虚拟环境,输入命令如下&…

C#中的Modbus协议

协议介绍 关于Modbus协议: Modbus协议是MODICON(莫迪康)(现施耐德品牌)在1979年开发的,是全球第一个真正用于现场的总线协议;Modbus协议是应用于电子控制器上的一种通用语言。通过此协议&…

一、报名与安装软件

声明 首先声明这个考试是需要费用的,目前我缴纳的费用是980元 官网 报名与学习官网为:https://cloud.aigccert.com/web/index 选择此处,点击报名后按要求完善个人信息。 完善个人信息后可以开始学习视频,视频内容看起来多其实…

Servlet开发流程 (里面有Idea项目添加Tomcat依赖详细教程)

目标: 校验注册时,用户名是否被占用。通过客户端向一个Servlet发送请求,携带username,如果用户 名是zhangsan,则向客户端响应 NO,如果是其他,响应YES。 1.在idea中创建web工程 1右键点击父工程-New-Module …

【MySQL 01】在 Ubuntu 22.04 环境下安装 MySQL

文章目录 🌈 1. 说明🌈 2. 卸载不必要的环境🌈 3. 安装 MySQL🌈 4. 启动和关闭 MySQL 服务🌈 5. 临时登录 MySQL🌈 6. 设置 MySQL 密码🌈 7. 配置 MySQL 🌈 1. 说明 在安装与卸载中…

此卷不包含可识别的文件系统‘及高效数据恢复策略

在数字信息的海洋中遨游时,我们偶尔会遭遇“此卷不包含可识别的文件系统”这一突如其来的警示,它像是一道无形的屏障,阻挡了我们与宝贵数据之间的直接联系。这一错误提示,往往意味着存储设备的文件系统结构出现了异常,…