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

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

用类比理解

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

总结

  • 只有前向传播,模型可以预测,但无法学习。
  • 反向传播提供了"学习的方向",是训练的关键。
  • 训练阶段必须结合前向传播和反向传播。
相关推荐
AndrewHZ11 小时前
【LLM技术全景】规模定律与模型演进:为什么模型越大越强?
人工智能·gpt·深度学习·语言模型·llm·openai·规模定律
手写码匠11 小时前
从零实现 Prompt 工程引擎:结构化提示、自动优化与多轮自省体系
人工智能·深度学习·算法·aigc
哈伦201912 小时前
第十二章 深度学习基础 案例:MLP实现银行单据手写数字识别
人工智能·深度学习·图像识别
lqqjuly12 小时前
MLA — 多头潜在注意力深度解析
深度学习·神经网络·算法
Black蜡笔小新12 小时前
企业AI算力工作站DLTM深度学习推理工作站零代码私有化重塑企业AI落地新模式
人工智能·深度学习
啦啦啦_999912 小时前
4. Transformer_4_输出部分
人工智能·深度学习·transformer
DogDaoDao14 小时前
【GitHub】VoxCPM2 实战全解析:原理、部署与效果对比
深度学习·大模型·github·音频·语音模型·tss·文本生成语音
不考研当牛马15 小时前
Django 框架 深度学习
python·深度学习·django
春日见15 小时前
决策规划控制面经汇总
人工智能·深度学习·算法·机器学习·自动驾驶
啦啦啦_999916 小时前
4. Transformer_3_解码器部分
android·深度学习·transformer