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次反向即可算出所有梯度。

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

用类比理解

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

总结

  • 只有前向传播,模型可以预测,但无法学习。
  • 反向传播提供了"学习的方向",是训练的关键。
  • 训练阶段必须结合前向传播和反向传播。
相关推荐
简简单单做算法1 天前
基于GA遗传优化的Transformer-LSTM网络模型的时间序列预测算法matlab性能仿真
深度学习·matlab·lstm·transformer·时间序列预测·ga遗传优化·电池剩余寿命预测
龙文浩_1 天前
AI中NLP的文本张量表示方法在自然语言处理中的演进与应用
人工智能·pytorch·深度学习·神经网络·自然语言处理
极光代码工作室1 天前
基于BERT的新闻文本分类系统
深度学习·nlp·bert·文本分类
XINVRY-FPGA1 天前
XC7VX690T-2FFG1157I Xilinx AMD Virtex-7 FPGA
arm开发·人工智能·嵌入式硬件·深度学习·fpga开发·硬件工程·fpga
AI视觉网奇1 天前
生成GeoGebra
人工智能·深度学习
古希腊掌管代码的神THU1 天前
【清华代码熊】图解 Gemma 4 架构设计细节
人工智能·深度学习·自然语言处理
Purple Coder1 天前
7-RNN 循环网络层
人工智能·rnn·深度学习
大写的z先生1 天前
【深度学习 | 论文精读】Qwen-VL:从“纯文本”到“火眼金睛”,通向多模态大模型的进阶之路
人工智能·深度学习
workflower1 天前
深度学习是通用型人工智能的基础
人工智能·深度学习·设计模式·软件工程·软件构建·制造
卡梅德生物科技小能手1 天前
CD40LG(CD40配体)靶点深度解析:免疫调控机制与抗体药物工程化策略
经验分享·深度学习·生活