3Blue1Brown-深度学习之反向传播算法

机器学习(Machine Learning)系列

本文是在看了 3Blue1Brown-深度学习之人工神经网络 视频后的学习笔记,重在理解,不涉及数学公式。3B1B的"深度学习"系列视频 用可视化动画和深入浅出的讲解让我们看清人工神经网络的本质。

请先看 3Blue1Brown-深度学习之人工神经网络3Blue1Brown-深度学习之梯度下降法

1、关于前向传播(Forward Propagation)

在3B1B视频中的手写数字识别的案例:一个包含784个输入神经元(对应28×28像素图像)、两个各16个神经元的隐藏层,以及10个输出神经元(对应0-9数字)的神经网络。输入层收到图像后,信号通过各层神经元的加权连接和激活函数处理,输出层输出预测结果。这一过程就是"前向传播"。

前向传播的作用:

  • 将输入数据从输入层传递到输出层
  • 按照当前的权重和偏置,计算每一层的激活值
  • 最终得到模型的预测输出

前向传播只是"推理"或"预测"的过程。 如果只是做预测,只需要前向传播。比如对于训练好的神经网络,只需前向传播就可以对一张图手写数字图片进行识别。

前向传播无法告诉我们 如何改进参数。 前向传播只能告诉你:"现在模型输出了什么"、"误差有多大";

但它不知道:"哪个权重导致了误差?"、"应该增加还是减少?"、"影响有多大?"

2、训练需要反向传播(Backpropagation)

神经网络的强大之处在于能通过数据自动学习特征和参数。这个"学习"过程就是训练,该过程调整网络中的权重,使得预测结果尽可能接近真实标签。

反向传播 是一种在神经网络中高效计算损失函数关于各层权重和偏置的梯度的算法。它基于链式法则(Chain Rule),从输出层开始,将误差信号逐层向后传递,从而为参数更新提供依据。

举例:一个有100万个权重的网络,若用数值方法近似梯度,至少需要100万次前向传播;而反向传播只需1次前向 + 1次反向即可算出所有梯度。

反向传播是从"输出层开始,逐层向前分配误差责任"的过程------每个神经元都要知道自己对最终误差的"贡献"有多大,从而决定该如何调整自己的参数。这个过程类似一个任务失败,层层追溯,明确每个人的责任。

用类比理解

  • 前向传播 是水流从山顶(输入层)顺着河道(权重连接)流到山脚(输出层),最终形成水流输出(预测值);
  • 反向传播 是发现山脚水流不符合预期(误差大),从山脚逆流而上,检查每段河道的宽窄(权重)、坡度(偏置)对水流的影响(梯度),并调整河道参数,让下次水流输出符合预期。

总结

  • 只有前向传播,模型可以预测,但无法学习。
  • 反向传播提供了"学习的方向",是训练的关键。
  • 训练阶段必须结合前向传播和反向传播。
相关推荐
满怀冰雪6 小时前
19-图像数据处理:PaddleVision Transform 实战
人工智能·深度学习·计算机视觉·paddle
Eloudy9 小时前
从 vega 64 到 MI 100 ,AMD GPU 的裂变历史
人工智能·深度学习·gpu
Lee_jerome13 小时前
python神经网络编程入门(三十)——Transformer 从 RNN 到注意力:模型为什么需要“瞄一眼“
rnn·深度学习·nlp·transformer·attention·注意力机制·序列建模
暴躁的小鸟13 小时前
附近口碑好的斜视配镜训练的眼视光中心
人工智能·python·深度学习
满怀冰雪13 小时前
18-训练可视化:日志、指标记录与 VisualDL 入门
人工智能·深度学习·机器学习·paddlepaddle
hhzz14 小时前
《深度学习框架PyTorch入门与实践》系列:04-nn模块详解:用积木搭建神经网络
pytorch·深度学习·神经网络
手写码匠14 小时前
华为云Flexus+DeepSeek征文|Agent 记忆系统实战:用 DeepSeek-R1/V3 + Dify 会话变量打造跨会话长期记忆
人工智能·深度学习·算法·aigc
bittersuite14 小时前
深层RNN和双向RNN简述
人工智能·rnn·深度学习
LaughingZhu15 小时前
Product Hunt 每日热榜 | 2026-08-09
人工智能·深度学习·神经网络·搜索引擎·百度
阿图灵15 小时前
基于 LSTM 的中文电商评论情感分类:从数据处理到 91% 准确率实战
人工智能·深度学习·分类·nlp·lstm·情感分类