【第三章:神经网络原理详解与Pytorch入门】01.神经网络算法理论详解与实践-(3)神经网络中的前向传播、反向传播的原理与实现

第三章: 神经网络原理详解与Pytorch入门

第一部分:神经网络算法理论详解与实践

第三节:神经网络中的前向传播、反向传播的原理与实现

内容:详解如何梯度下降法更新整个网络权重

学习目标:

  • 掌握神经网络中前向传播与反向传播的数学原理

  • 理解梯度下降如何更新权重

  • 明确各层之间的导数传播过程,奠定自动微分和框架实现基础


一、前向传播(Forward Propagation)

前向传播是神经网络的"推理"过程,计算从输入到输出的映射:

以一个两层神经网络为例:




  • x:输入特征

  • :权重矩阵

  • σ:激活函数(ReLU、Sigmoid等)

  • :输出预测值


二、损失函数(Loss Function)

【深度学习】关键技术-损失函数(Loss Function)_slideloss[16]损失函数是由googleai在2022年提出的一种用于深度学习目标检测中的-CSDN博客

神经网络使用损失函数衡量预测值与真实值之间的差异。常见损失:

任务类型 损失函数 公式
回归 均方误差 MSE
分类 交叉熵 CrossEntropy

三、反向传播原理(Backpropagation)

【漫话机器学习系列】008.反向传播算法(Backpropagation Algorithm)-CSDN博客

1. 链式法则(Chain Rule)

【漫话机器学习系列】022.微积分中的链式求导法则(chain rule of Calculus)-CSDN博客

反向传播依赖链式法则来逐层计算梯度:

整个过程:

  • 从损失函数 L 开始

  • 一步步传回去,计算各层的梯度

  • 将误差分配到每一层的权重和偏置

2. 每层误差 δ 的表达

定义 ,即该层输出的"误差信号"

其中:

  • ∘ 表示按元素相乘(Hadamard积)

  • σ′(z) 是激活函数的导数


四、梯度下降更新参数

【学习笔记】深入浅出梯度下降算法_gradient descent-CSDN博客

【漫话机器学习系列】063.梯度下降(Gradient Descent)_机器学习 梯队下降-CSDN博客

1. 更新公式(以学习率 η)


2. 训练迭代流程

  1. 初始化参数

  2. 前向传播计算

  3. 计算损失函数

  4. 反向传播计算梯度

  5. 更新参数

  6. 重复多个 epoch,直到收敛


五、PyTorch 实现前后向传播简例

【人工智能】Python常用库-PyTorch常用方法教程-CSDN博客

python 复制代码
import torch
import torch.nn as nn
import torch.optim as optim

# 模拟数据
x = torch.randn(10, 5)
y = torch.randint(0, 2, (10,))

# 简单神经网络
model = nn.Sequential(
    nn.Linear(5, 16),
    nn.ReLU(),
    nn.Linear(16, 2)
)

loss_fn = nn.CrossEntropyLoss()
optimizer = optim.SGD(model.parameters(), lr=0.01)

# 一次前后传播
y_pred = model(x)
loss = loss_fn(y_pred, y)
loss.backward()  # 自动反向传播
optimizer.step() # 更新参数
optimizer.zero_grad() # 梯度清零

小结表格

流程阶段 主要操作
前向传播 将输入逐层计算,输出预测值 y^\hat{y}
计算损失 使用 Loss 函数衡量 y^\hat{y} 与真实值的误差
反向传播 应用链式法则从输出到输入逐层计算梯度
梯度更新 使用梯度下降更新权重,控制学习速率
相关推荐
Black蜡笔小新6 小时前
自动化AI算法训练服务器DLTM助力医学影像分析进入AI智能分析新时代
人工智能·算法·自动化
手写码匠7 小时前
深入解析大模型架构之争:全能通用模型 vs 领域专精模型
人工智能·深度学习·算法·aigc
浅念-8 小时前
LeetCode 回溯算法题——综合练习
数据结构·c++·算法·leetcode·职场和发展·深度优先·dfs
列星随旋8 小时前
线段树和树状数组的学习
学习·算法
全糖可乐气泡水10 小时前
Codex适配国产信创环境安装部署与技术适配全解析
开发语言·git·python·算法·百度
嗝o゚10 小时前
昇腾CANN ge 仓的图优化 Pass:哪些 Pass 真正影响推理性能
pytorch·python·深度学习·cann·ge-pass
h_a_o777oah10 小时前
状态机+划分型 DP :深度解析K-划分问题下 DP 状态的转移逻辑(洛谷P2679 P2331 附C++代码)
c++·算法·动态规划·acm·状态机dp·划分型dp·滚动数组优化
05候补工程师10 小时前
从算法理想向工程现实的跨越:SLAM 核心架构、思维误区与 Nav2 实战避坑指南
人工智能·算法·安全·架构·机器人
手写码匠12 小时前
Android 17 适配实战指南:新特性解读、隐私变更与迁移全攻略
人工智能·深度学习·算法·aigc