推导神经网络前向后向传播算法的优化迭代公式

目录

[1. 定义符号](#1. 定义符号)

[2. 前向传播 (Forward Propagation)](#2. 前向传播 (Forward Propagation))

[3. 后向传播 (Backward Propagation)](#3. 后向传播 (Backward Propagation))

[3.1 关键:计算误差项](#3.1 关键:计算误差项)

[4. 优化迭代公式 (Optimization Algorithms)](#4. 优化迭代公式 (Optimization Algorithms))

[4.1 随机梯度下降 (SGD)](#4.1 随机梯度下降 (SGD))

[4.2 Momentum 动量法](#4.2 Momentum 动量法)

[4.3 Adam (Adaptive Moment Estimation)](#4.3 Adam (Adaptive Moment Estimation))


1. 定义符号

在推导之前,首先定义网络中使用的符号:

  • :神经网络的总层数。

  • :表示网络的第 层 ()。

  • :第 层的权重矩阵。其维度为,其中 是第 层的神经元数量。

  • :第层的偏置向量。其维度为 。

  • :第 层神经元的线性输入(加权输入和)。

  • :第层的激活函数 (如 Sigmoid, ReLU, Tanh)。

  • :第 层的激活输出,即 。是网络的输入。

  • :训练样本的真实标签。

  • :神经网络的预测输出,即 。

  • :损失函数 (Cost Function),例如均方误差或交叉熵。

  • :学习率 (Learning Rate)。

  • :元素对应相乘 (Hadamard Product)。

2. 前向传播 (Forward Propagation)

前向传播的目标是根据输入计算出每一层的输出,直到最终得到预测值。对于网络中的第 l 层,其计算过程如下:

  • 计算线性输入:

  • 计算激活输出:

这个过程从 开始,重复计算直到最后一层 ,得到最终的预测结果。

3. 后向传播 (Backward Propagation)

后向传播的核心是利用链式法则 (Chain Rule),从最后一层开始逐层反向计算损失函数对每一层参数 (和 ) 的梯度(偏导数)。

3.1 关键:计算误差项

我们定义误差项 为损失函数对第 层线性输入的偏导数:

  • 步骤 1:计算输出层的误差

    对于输出层 ,其误差项 可以直接计算。它等于损失函数对预测值的偏导与激活函数对线性输入的偏导的乘积。

  • 其中是输出层激活函数在处的导数。

  • 步骤 2:反向传播误差 (计算隐藏层误差)

    对于任意隐藏层 (从 到 1),其误差项可以通过下一层(层)的误差项推导出来:

  • 步骤 3:计算权重梯度

  • 步骤 4:计算偏置梯度

    注:在实践中,通常会对一个 mini-batch 中所有样本的梯度求平均。

4. 优化迭代公式 (Optimization Algorithms)

计算出梯度后,使用优化算法来更新网络的权重和偏置,以最小化损失函数。

4.1 随机梯度下降 (SGD)

这是最基础的优化算法。更新规则是在梯度的反方向上调整参数:

4.2 Momentum 动量法

动量法引入了一个速度向量 ,用于累积历史梯度,从而加速收敛并减少震荡。

  • 初始化 :

  • 计算动量:

  • 更新参数:

    其中 是动量超参数,通常取 0.9。

4.3 Adam (Adaptive Moment Estimation)

Adam 结合了 Momentum 和 RMSProp 的思想。

  • 初始化 :一阶矩估计 和二阶矩估计 为 0,迭代次数 。

  • 在每次迭代中 ():

    1. 计算一阶矩估计 (Momentum):

    2. 计算二阶矩估计 (RMSProp):

    3. 偏差修正 (Bias Correction):

    4. 更新参数:

    其中 (通常为 0.9), (通常为 0.999) 是超参数,是一个极小值(如 )以防止分母为零。

相关推荐
阳明山水7 分钟前
因果嵌入与流水线范式的本质差异
人工智能·深度学习·算法·机器学习·架构
代数狂人8 分钟前
机器学习数学基础──第 2 章 函数 机器学习的积木
人工智能·机器学习
小静AI工程实验室12 分钟前
MD5 算法详解:哈希原理、标准向量、输入编码与安全边界
算法·安全·哈希算法·md5
小许同学记录成长13 分钟前
几何体编辑算法
qt·算法
tellmewhoisi14 分钟前
机器学习:集成学习4(XGBoost前置知识泰勒展开式1)
人工智能·机器学习·集成学习
土星云SaturnCloud21 分钟前
HRNet-pose 算法全解析:从高分辨率网络原理到土星云 SE110S 边缘部署实战
服务器·人工智能·算法·ai·边缘计算
bksczm25 分钟前
零基础面试题1
jvm·数据结构·算法
m0_7393128728 分钟前
【自动驾驶与机器人技术】之惯性导航与组合导航
算法·机器人·自动驾驶
驭渊的小故事35 分钟前
牛客网算法刷题笔记:哈希表、贪心与动态规划实战
笔记·算法·散列表
careathers1 小时前
【数据结构】二叉树
数据结构·算法