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

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

用类比理解

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

总结

  • 只有前向传播,模型可以预测,但无法学习。
  • 反向传播提供了"学习的方向",是训练的关键。
  • 训练阶段必须结合前向传播和反向传播。
相关推荐
心疼你的一切11 小时前
昇腾CANN实战落地:从智慧城市到AIGC,解锁五大行业AI应用的算力密码
数据仓库·人工智能·深度学习·aigc·智慧城市·cann
chian-ocean11 小时前
量化加速实战:基于 `ops-transformer` 的 INT8 Transformer 推理
人工智能·深度学习·transformer
水月wwww11 小时前
【深度学习】卷积神经网络
人工智能·深度学习·cnn·卷积神经网络
杜子不疼.11 小时前
CANN_Transformer加速库ascend-transformer-boost的大模型推理性能优化实践
深度学习·性能优化·transformer
renhongxia112 小时前
如何基于知识图谱进行故障原因、事故原因推理,需要用到哪些算法
人工智能·深度学习·算法·机器学习·自然语言处理·transformer·知识图谱
深鱼~12 小时前
ops-transformer算子库:解锁昇腾大模型加速的关键
人工智能·深度学习·transformer·cann
禁默12 小时前
不仅是 FlashAttention:揭秘 CANN ops-transformer 如何重构大模型推理
深度学习·重构·aigc·transformer·cann
笔画人生12 小时前
进阶解读:`ops-transformer` 内部实现与性能调优实战
人工智能·深度学习·transformer
种时光的人12 小时前
CANN仓库核心解读:ascend-transformer-boost解锁AIGC大模型加速新范式
深度学习·aigc·transformer
brave and determined14 小时前
CANN ops-nn算子库使用教程:实现神经网络在NPU上的加速计算
人工智能·深度学习·神经网络