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

向前传播(forward)和反向传播

1. 前向传播(forward)

基本概念

简单理解就是将上一层的输出作为下一层的输入,并计算下一层的输出,一直到运算到输出层为止。

img

向前传播的目的:得到损失值

向前传播的过程

1、先得到得分

2、把得分的差异放大(差异化,e^x)

3、归一化,得到概率

4、计算损失值

img

img

二、反向传播(梯度下降)

基本概念

反向传播是一种用于计算神经网络中损失函数对各个参数(如权重和偏置)的梯度的方法。它基于链式法则,从输出层开始,逐层向前(反向)计算梯度。

从后往前,逐层求导,可以得到前一项的权重

目的

优化权重参数(根据前向传播得到的损失值),更新模型,达到学习的效果,从后往前传递梯度,得到新计算出来的权重

反向传播和梯度下降的关系

  1. 反向传播为梯度下降提供梯度信息

    • 反向传播算法计算出的梯度是梯度下降算法更新模型参数的关键依据。没有反向传播提供的准确梯度信息,梯度下降就无法确定参数更新的方向和幅度。例如,在一个深度神经网络中,反向传播会计算出每一层的权重和偏置对损失函数的梯度,这些梯度被传递给梯度下降算法,使它能够按照一定规则(如上述的更新规则)来调整这些参数,从而逐步降低损失函数的值。

  2. 梯度下降利用反向传播得到的梯度进行优化

    • 梯度下降算法是利用反向传播得到的梯度来优化模型参数的。它根据反向传播提供的梯度信息,按照一定的策略(如学习率的设定和更新规则)来更新参数,以达到最小化损失函数的目的。反向传播是梯度计算的工具,而梯度下降是利用这些梯度进行参数优化的算法,两者紧密相连,共同实现了神经网络的训练过程,使模型能够从训练数据中学习到有效的模式和规律,从而提高模型对新数据的预测能力。

这里写图片描述

这里写图片描述

http://www.xdnf.cn/news/5324.html

相关文章:

  • vue vite 无法热更新问题
  • navicat112_premium_cs_x64.exe PatchNavicat.exe
  • 【Text2reward】关于general.py与specific.py的区别的咨询笔记
  • Helix:一种用于通用人形控制的视觉语言行动模型
  • OrangePi Zero 3学习笔记(Android篇)5 - usbutils编译(更新lsusb)
  • KEIL_C51和KEIL_MDK共存
  • 批量导出docker镜像
  • JAVA练习题(2) 找素数
  • Openai开源的对文本进行Token编码、解码的库:Tiktoken 库
  • 【Linux系统编程】进程属性--标识符
  • MySql 年,月,日 查询 某时间段的 日期列表
  • Yocto中`${S}`和`${WORKDIR}`的联系与区别
  • C++(5):有符号整数和无符号整数差异
  • RAG 赋能客服机器人:多轮对话与精准回复
  • C++STL——stack,queue
  • 牛客周赛round91
  • 饮水计划(ST表+二分+差分)
  • 逆波兰表达式求值(中等)
  • Linux的web服务器的部署和优化
  • 选对第三方软件测试公司,项目验收成功率提升90%
  • 构件是一个逻辑概念,还是一个物理概念?
  • cdn 是什么?
  • rust-candle学习笔记12-实现因果注意力
  • 有效的括号(简单)
  • ESP32配置GPIO,实现每0.5秒翻转LED电平
  • python笔记和练习----少儿编程课程【阶段二(二)】
  • C++--类的构造函数与初始化列表差异
  • 抖音视频上传功能测试全维度拆解——从基础功能到隐藏缺陷的深度挖掘
  • 【八股消消乐】项目中如何优化JVM内存分配?
  • [题解]2023CCPC黑龙江省赛 - Ethernet