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

news2024/9/30 1:38:41

在这里插入图片描述

顺便一提 这有一点点像描述生物中 神经元的网络如何学习的一个理论 “赫布理论” 总结起来就是“一同激活的神经元关联在一起”
在这里插入图片描述

这里 权重的最大增长 即连接变得更强的部分 就会发生在已经最活跃的神经元 和想要更多激发的神经元之间 可以说 看见一个“2”时激发的神经元 会和“想到一个2”时激发的神经元联系地更紧密
在这里插入图片描述

这里解释一下 我个人对人工神经网络是否真的在 模仿生物学上大脑的工作 没有什么发言权 “一同激活的神经元关联在一起”这句话是要打星号注释的 但作为一个粗略的对照 我觉得还是挺有意思的
在这里插入图片描述

言归正传 第三个能够增加这个神经元激活值的方法
就是改变前一层的激活值 更具体地说 如果所有正权重连接的神经元更亮 所有负权重连接的神经元更暗的话 那么数字2的神经元就会更强烈地激发 和改权重的时候类似 我们想造成更大的影响 就要依据对应权重的大小 对激活值做出呈比例的改变 当然 我们并不能直接改变激活值 我们手头只能控制权重和偏置 但就光对最后一层来说 记住我们期待的变化还是很有帮助的 不过别忘了 从全局上看 这只不过是数字2的神经元所期待的变化
在这里插入图片描述

我们还需要最后一层其余的神经元的激发变弱 但这其余的每个输出神经元 对于如何改变倒数第二层 都有各自的想法 所以 我们会把数字2神经元的期待 和别的输出神经元的期待全部加起来 作为对如何改变倒数第二层神经元的指示
在这里插入图片描述

这些期待变化不仅是对应的权重的倍数 也是每个神经元激活值改变量的倍数 这其实就是在实现“反向传播”的理念了 我们把所有期待的改变加起来 就得到了一串对倒数第二层改动的变化量 有了这些 我们就可以重复这个过程
在这里插入图片描述

改变影响倒数第二层神经元激活值的相关参数 从后一层到前一层 把这个过程一直循环到第一层
在这里插入图片描述

着眼大局 还记得我们只是在讨论 单个训练样本对所有权重偏置的影响吗? 如果我们只关注那个“2”的要求 最后 网络只会把所有图像都分类成是“2” 所以你要对其他所有的训练样本 同样地过一遍反向传播 记录下每个样本想怎样修改权重与偏置
在这里插入图片描述

最后再取一个平均值 这里一系列的权重偏置的平均微调大小
在这里插入图片描述

不严格地说 就是上期影片提到的代价函数的负梯度
至少是其标量的倍数 这里的不严格 指的是我还没有准确地解释如何量化这些微调
在这里插入图片描述

但如果你清楚我提到的所有改动 为什么有些数字是其他数字的好几倍
在这里插入图片描述

以及最后要怎么全部加起来 你就懂得了反向传播的真实工作原理 顺带一提
在这里插入图片描述

实际操作中 如果梯度下降的每一步 都用上每一个训练样本来计算的话 那么花的时间就太长了
在这里插入图片描述

所以我们一般会这么做 首先把训练样本打乱 然后分成很多组minibatch 每个minibatch就当包含100个训练样本好了
在这里插入图片描述

然后你算出这个minibatch下降的一步 这不是代价函数真正的梯度 毕竟计算真实梯度得用上所有的样本 而非这个子集 所以这也不是下山最高效的一步 然而 每个minibatch都会给你一个不错的近似 而且更重要的是 你的计算量会减轻不少
在这里插入图片描述

你如果想把网络沿代价函数的表面下山的路径画出来的话 它看上去会有点像醉汉漫无目的地遛下山 但起码步伐很快 而不像是细致入微的人 踏步之前先准确地算好下坡的方向 然后再向那个方向谨小慎微地慢慢走一步
这个技巧就叫做“随机梯度下降”
在这里插入图片描述

内容挺多的 我们先小结一下好不好 反向传播算法算的是 单个训练样本想怎样修改权重与偏置 不仅是说每个参数应该变大还是变小 还包括了这些变化的比例是多大 才能最快地降低代价
在这里插入图片描述

真正的梯度下降 得对好几万个训练范例都这么操作 然后对这些变化值取平均 但算起来太慢了
在这里插入图片描述

所以你会先把所有的样本分到各个minibatch中去 计算一个minibatch来作为梯度下降的一步
在这里插入图片描述

计算每个minibatch的梯度 调整参数 不断循环
最终你就会收敛到代价函数的一个局部最小值上 此时就可以说 你的神经网络对付训练数据已经很不错了
在这里插入图片描述

总而言之 我们实现反向传播算法的每一句代码
在这里插入图片描述

其实或多或少地都对应了大家已经知道的内容
在这里插入图片描述

但有时 了解其中的数学原理只不过是完成了一半 如何把这破玩意儿表示出来又会搞得人一头雾水 那么 在座的如果想深入探讨的话 下一期影片中我们会把本期的内容用微积分的形式呈现出来 下一期影片中我们会把本期的内容用微积分的形式呈现出来
希望看过以后再看其他资料时会更容易接受一些吧
在这里插入图片描述

收尾之前 我想着重提一点 反向传播算法在内 所有包括神经网络在内的机器学习 要让它们工作 咱需要一大坨的训练数据
在这里插入图片描述

我们用的手写数字的范例之所以那么方便 是因为存在着一个MNIST数据库 里面所有的样本都已经人为标记好了
在这里插入图片描述

所以机器学习领域的人 最熟悉的一个难关 莫过于获取标记好的训练数据了 不管是叫别人标记成千上万个图像 还是去标记别的类型的数据也罢

参考

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

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

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

相关文章

【Git】git 不跟踪和gitignore区别

文章目录 不跟踪(Untracked):.gitignore 文件:总结 在 Git 中,不跟踪(untracked)和 .gitignore 文件有不同的作用和用途: 不跟踪(Untracked): 不…

【Material-UI】Autocomplete中的高亮功能(Highlights)详解

文章目录 一、简介二、实现高亮功能示例代码代码解释 三、实际应用场景1. 搜索功能2. 表单自动完成 四、总结 在现代Web开发中,提供清晰的用户反馈是提升用户体验的重要组成部分。Material-UI的Autocomplete组件通过高亮功能,帮助用户快速识别搜索结果中…

Javaweb项目|ssm基于ssm的宠物医院管理系统的设计与实现vue

收藏点赞不迷路 关注作者有好处 文末获取源码 一、系统展示 二、万字文档展示 基于ssm基于ssm的宠物医院管理系统的设计与实现vue 开发语言:Java 数据库:MySQL 技术:SpringSpringMVCMyBatisVue 工具:IDEA/Ecilpse、Navicat、Ma…

Java线程池的核心参数与工作原理

Java线程池的核心参数与工作原理 1、线程池工作原理2、核心参数 💖The Begin💖点点关注,收藏不迷路💖 1、线程池工作原理 Java的ThreadPoolExecutor是线程池的核心实现,负责管理一组线程以异步方式执行提交的任务。其…

keil编译报错error:#8:missing closing quote 处理

MDK5采用UTF-8,提示很多个这样的error:#8:missing closing quote 的错误信息。提供以下几种方式解决: 在KEIL中Options for Target Flash -> C/C -> Misc Controls添加“--localeenglish”。

AI智能名片小程序在促销性内容营销中的创新应用与策略分析

摘要:在数字化时代,企业营销手段日益丰富多元,促销性内容作为吸引顾客、促进消费的关键手段之一,其形式与效率不断被革新。随着人工智能(AI)技术的飞速发展,AI智能名片小程序作为一种新兴的营销…

React(四):DOCX文件在线预览

效果 注意 ⚠️注意:部分文件预览存在问题 依赖 $ yarn add docx-preview $ yarn add jszip源码 import ./index.scss; import {useRef} from react; import type {UploadRequestOption} from rc-upload/lib/interface; import {Upload, Button, message} from an…

【2024最新华为OD-C/D卷试题汇总】[支持在线评测] 会议室占用时间(100分) - 三语言AC题解(Python/Java/Cpp)

🍭 大家好这里是清隆学长 ,一枚热爱算法的程序员 ✨ 本系列打算持续跟新华为OD-C/D卷的三语言AC题解 💻 ACM金牌🏅️团队| 多次AK大厂笔试 | 编程一对一辅导 👏 感谢大家的订阅➕ 和 喜欢💗 🍿 最新华为OD机试D卷目录,全、新、准,题目覆盖率达 95% 以上,支持题…

力扣-46.全排列

刷力扣热题–第二十六天:46.全排列 新手第二十六天 奋战敲代码,持之以恒,见证成长 1.题目简介 2.题目解答 这道题目想了会,思路比较好想,但一直没调试成功,所以就参考了力扣官网的代码,积累一下回溯算法的实现和基本实现思路,即先试探后回溯,结果在下面…

R语言中的宽长数据转换:tidyr包的使用指南

在数据分析中,数据的存储方式直接影响分析过程的效率和准确性。常见的数据存储形式有宽型数据(wide format)和长型数据(long format)。宽型数据适合人类查看和理解,而长型数据则更适合计算机处理和分析。为…

AI生成PPT?三款工具让总结更轻松

哎呀,职场新人们,你们是不是也跟我一样,刚开始做PPT的时候,感觉像是走进了一个大迷宫,脑袋里装满了想法,但就是不知道怎么把它们变成一页页漂亮的幻灯片?别急,今天咱们就来聊聊三个超…

JavaEE-多线程编程阻塞队列

目录 生产者消费者模型 生产者消费者模型优势 通过代码看一下生产者消费者模型(使用阻塞队列) 自己实现阻塞队列 之前在数据结构中学的队列是最基础的队列,在实际开发中针对队列还有很多形式:(1)普通队…

PyCharm | PyCharm中创建带有注释的py文件

文章目录 0 问题引入1 问题解决1.1 在Pycharm里进行设置1.2 模板1.3 可选参数 2 效果展示 0 问题引入 想要创建带注释的py文件,该如何解决呢? 1 问题解决 1.1 在Pycharm里进行设置 打开Pycharm的Seetings按照如图所示来操作 1.2 模板 # -*- codin…

【大模型从入门到精通3】openAI api的入门介绍3

这里写目录标题 理论问题实践问题任务 1: 基本的 API 请求任务 2: 安全处理 API 密钥任务 3: 解释 API 响应任务 4: 强大的错误处理任务 5: 交互式聊天界面任务 6: 响应后处理任务 7: 动态内容生成任务 8: 优化与监控 理论问题 整合OpenAI的API到应用中为机器学习工程师、数据…

python运行js之execjs基本使用

python运行js之execjs基本使用 现在大部分网站都使用JS加密和JS加载的情况,数据并不能直接被抓取出来,这时候就需要使用第三方类库来执行JS语句。 官网:https://pypi.org/project/PyExecJS/ 使用前提:电脑需要安装 Node.js 一、安…

20240805 每日AI必读资讯

世界首例!AI机器人做牙科手术,8倍速诊疗比人类医生更精准 - Perceptive:让人工智能控制的自主机器人,首次对人类患者进行了全过程的牙科手术,速度大约是人类牙医的8倍。 - 两项新技术 1、OCT 3D成像系统:…

【MySQL进阶】MySQL主从复制

目录 MySQL主从复制 概念 主从形式 一主多从 多主一从 双主复制 主从级联复制 主从复制原理 三个线程 两个日志文件 主从复制的主要工作模式 异步复制 半同步复制 全同步复制 MySQL主从复制 概念 MySQL主从复制是一种数据分布机制,允许从一个数据库服…

Chapter 26 Python魔术方法

欢迎大家订阅【Python从入门到精通】专栏,一起探索Python的无限可能! 文章目录 前言一、什么是魔术方法?二、常见的魔术方法① __init__构造方法② __str__字符串方法③ __lt__比较方法④ __le__比较方法⑤ __eq__比较方法 前言 本章将详细讲…

RabbitMQ高级特性 - 消费者消息确认机制

文章目录 RabbitMQ 消息确认机制背景消费者消息确认机制概述手动确认(RabbitMQ 原生 SDK)手动确认(Spring-AMQP 封装 RabbitMQ SDK)AcknowledgeMode.NONEAcknowledgeMode.AUTO(默认)AcknowledgeMode.MANUAL…

思源笔记软件的优缺点分析

在过去一年里,我用了很多款笔记,从word文档到onenote到语雀再到思源,最后坚定的选择了思源笔记 使用感受 首先是用word文档来记笔记,主要是开始时不知道笔记软件怎么好用,等到笔记越来越膨胀的时候我发现&#xff0c…