当前位置: 首页 > news >正文

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

在这里插入图片描述

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

参考

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

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • CSS技巧专栏:一日一例 20-纯CSS实现点击会凹陷的按钮
  • 前端使用docx-preview展示docx + 后端doc转docx
  • HexView 刷写文件脚本处理工具-基本功能介绍(六)-导出MIME/BIN/FIAT/FORD
  • Android摄像头采集选Camera1还是Camera2?
  • 面试题:Java 集合类的遍历方式,如何一边遍历 一边删除?
  • 电子电气架构 --- 基于AUTOSAR方法论的诊断开发流程
  • 02、MySQL-DML(数据操作语言)
  • k8s 四种Service类型(ClusterIP、NodePort、LoadBalancer、ExternalName)详解
  • 【Android】网络技术知识总结之WebView,HttpURLConnection,OKHttp,XML的pull解析方式
  • 如何高效管理餐厅?餐厅收银系统轻松解决!
  • pgbackrest备份方案(差异和增量备份的区别)
  • 如何在SpringBoot中进行单元测试?
  • Visual Studio Code搭建VUE开发环境
  • 【linux】curl命令用法
  • 敏捷开发模式优缺点,对测试人员有哪些要求?
  • 【技术性】Search知识
  • 【刷算法】从上往下打印二叉树
  • 03Go 类型总结
  • docker python 配置
  • pdf文件如何在线转换为jpg图片
  • Stream流与Lambda表达式(三) 静态工厂类Collectors
  • SwizzleMethod 黑魔法
  • Vue--数据传输
  • windows-nginx-https-本地配置
  • 如何胜任知名企业的商业数据分析师?
  • 使用agvtool更改app version/build
  • 微服务框架lagom
  • 这几个编码小技巧将令你 PHP 代码更加简洁
  • 数据可视化之下发图实践
  • ​14:00面试,14:06就出来了,问的问题有点变态。。。
  • ​LeetCode解法汇总307. 区域和检索 - 数组可修改
  • ​软考-高级-系统架构设计师教程(清华第2版)【第9章 软件可靠性基础知识(P320~344)-思维导图】​
  • "无招胜有招"nbsp;史上最全的互…
  • #pragma pack(1)
  • (1)常见O(n^2)排序算法解析
  • (2/2) 为了理解 UWP 的启动流程,我从零开始创建了一个 UWP 程序
  • (2024)docker-compose实战 (9)部署多项目环境(LAMP+react+vue+redis+mysql+nginx)
  • (9)目标检测_SSD的原理
  • (带教程)商业版SEO关键词按天计费系统:关键词排名优化、代理服务、手机自适应及搭建教程
  • (一)Thymeleaf用法——Thymeleaf简介
  • (转)PlayerPrefs在Windows下存到哪里去了?
  • (转)从零实现3D图像引擎:(8)参数化直线与3D平面函数库
  • ./mysql.server: 没有那个文件或目录_Linux下安装MySQL出现“ls: /var/lib/mysql/*.pid: 没有那个文件或目录”...
  • .NET 5种线程安全集合
  • .NET C# 使用GDAL读取FileGDB要素类
  • .Net CoreRabbitMQ消息存储可靠机制
  • .NET Framework 服务实现监控可观测性最佳实践
  • .NET 动态调用WebService + WSE + UsernameToken
  • .NET 使用 ILRepack 合并多个程序集(替代 ILMerge),避免引入额外的依赖
  • .NET简谈设计模式之(单件模式)
  • .net中调用windows performance记录性能信息
  • .py文件应该怎样打开?
  • ?
  • ??Nginx实现会话保持_Nginx会话保持与Redis的结合_Nginx实现四层负载均衡
  • [240812] X-CMD 发布 v0.4.5:更新 gtb、cd、chat、hashdir 模块功能