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

从0开始学习计算机视觉--Day06--反向传播算法

尽管解析梯度可以让我们省去巨大的计算量,但如果函数比较复杂,对这个损失函数进行微分计算会变得很困难。我们通常会用反向传播技术来递归地调用链式法则来计算向量每一个方向上的梯度。具体来说,我们将整个计算过程的输入与输入具体化,用计算图表示:

以SVM为例,如果是求梯度,在点乘处直接做偏导就行了,但如果函数并没有那么简单,由很多个不同的点乘和加法构成呢,那么函数只会在最后形成,要求偏导的话,就要用间接的关系,反相传播的意思就是,假如在第一个节点f与A有关,第二个节点A与要求的偏导B和C有关,那么在正向求完每个节点的梯度值后,就可以用f对A的偏导,再乘以A对B和C的偏导,约去分子分母的同项,从而得到该方向上的剃度了。那么也就是说,假如计算过程可以写成计算图的形式,那么计算每种损失函数的微分都可以实现,区别只是快慢。

假如我们的损失函数是f(w,x)=\frac{1}{1+e^{-(w_{0}x_{0}+w_{1}x_{1}+w_{2})}},把计算过程拆解为计算图:

从这个复杂的例子我们就能理解,假如我们直接对损失函数进行求导,这个计算过程会很复杂,难度大的同时还增加计算时间,换成反向传播之后,我们只需根据输入值,一步一步地进行简单计算,然后从最后根据上一个节点传来的值计算偏导再乘到一起就行。

值得注意的是,在实际应用的时候,我们并不一定要拆解成每一步,我们可以将其中一部分当成一个整体,类似于指代的过程,这样我们就可以先通过公式计算完外部的整体求导,再对内部进行反向传播的运算。

学习来自斯坦福教程:Stanford University CS231n: Deep Learning for Computer Vision

http://www.lqws.cn/news/580285.html

相关文章:

  • chatshare最新激活码分享
  • OpenCV计算机视觉实战(14)——直方图均衡化
  • Windows环境下Docker容器化的安装与设置指南
  • MySQL DATETIME 类型时间精度陷阱:一次由毫秒引发的数据“消失”之谜
  • 计算机网络第一章——计算机网络体系结构
  • Pandas5(数据清洗1)——缺失值处理、数据去重/转换/替换、离散化/分箱、检测和过滤异常值
  • 【Kafka】docker 中配置带 Kerberos 认证的 Kafka 环境(全过程)
  • NIO 工作原理
  • C++ cstring 库解析:C 风格字符串函数
  • 【甲方安全建设】SDL基线建设及审计评估
  • API接口安全-2:签名、时间戳与Token如何联手抵御攻击
  • 【第二章:机器学习与神经网络概述】04.回归算法理论与实践 -(1)线性回归模型
  • Web攻防-SSRF服务端伪造功能逻辑SRC实践复盘参数盲测自动化检测流量插件
  • 【ArcGISPro】解决Pro不能导入AppData下的site-packages
  • MySQL数据库--SQL DDL语句
  • 大学专业科普 | 云计算、大数据
  • 淘宝API接口在数据分析中的应用
  • [springboot系列] 探秘 JUnit 5:现代 Java 单元测试利器
  • 2025年数据治理平台排名及功能对比分析
  • Nacos 3.0 架构全景解读,AI 时代服务注册中心的演进
  • 通过案列理解js中的深拷贝和浅拷贝
  • Server-Sent Events (SSE) 技术详解
  • 【原创】【5】【视频二创工具发布】基于视觉模型+FFmpeg+MoviePy实现短视频自动化二次编辑+多赛道
  • Windows 开发环境部署指南:WSL、Docker Desktop、Podman Desktop 部署顺序与存储路径迁移指南
  • PreparedStatement详解
  • Vue3静态文档资源展示的实现和使用总结
  • 【CS创世SD NAND征文】SD NAND赋能新一代儿童智能玩具
  • js代码04
  • 生信分析之流式数据分析:Flowjo 软件核心功能全解析
  • 《微信生态裂变增长利器:推客小程序架构设计与商业落地》