训练神经网络的原理(前向传播、反向传播、优化、迭代)

训练神经网络的原理

通过前向传播 计算预测值和损失,利用反向传播 计算梯度,然后通过优化算法更新参数,最终使模型在给定任务上表现更好。

核心:通过计算损失函数(通常是模型预测与真实值之间的差距)对模型参数的偏导数(即梯度),然后根据梯度信息调整模型参数,以逐步减小损失。简言之,优化算法通过"反向传播"来计算梯度,然后根据这些梯度更新模型的参数,直到损失最小化。

步骤:
  1. 前向传播(Forward Pass)
    • 输入数据通过模型进行计算,得到预测结果。
    • 计算预测结果和真实标签之间的差距,这个差距就是损失函数。

输入数据经过神经网络的每一层依次计算,最终得到预测输出。每一层的计算通常包括线性变换(权重与输入的乘积)和非线性激活函数(如 ReLU、Sigmoid 等),公式可以表示为:
h = σ ( W x + b ) h = \sigma(Wx + b) h=σ(Wx+b)

其中, h h h 是当前层的输出, σ \sigma σ 是激活函数, W W W 是权重矩阵, x x x 是输入向量, b b b 是偏置项。

  1. 反向传播(Backpropagation)
    • 计算损失函数相对于模型参数的梯度。梯度表示损失函数在每个参数上的变化率,即每个参数对最终损失的影响。
    • 使用链式法则,将梯度从输出层传播回输入层,逐层计算每个参数的梯度。

反向传播是神经网络训练的核心步骤。它通过计算损失函数相对于每个参数的梯度,利用链式法则将梯度从输出层逐层传播到输入层。具体步骤如下:
计算损失函数的梯度 :首先计算损失函数对输出层的梯度。
逐层传播梯度 :利用链式法则,计算每一层的梯度。对于隐藏层,梯度计算公式为:
∂ L ∂ W = ∂ L ∂ h ⋅ ∂ h ∂ W \frac{\partial L}{\partial W} = \frac{\partial L}{\partial h} \cdot \frac{\partial h}{\partial W} ∂W∂L=∂h∂L⋅∂W∂h

其中, ∂ L ∂ h \frac{\partial L}{\partial h} ∂h∂L 是损失函数对当前层输出的梯度, ∂ h ∂ W \frac{\partial h}{\partial W} ∂W∂h 是当前层输出对权重的梯度。

  1. 参数更新(Parameter Update)

    • 通过优化算法(如梯度下降)来更新模型参数。梯度下降的核心思路是沿着梯度的反方向更新参数,因为梯度指示了损失函数增长的方向。
    • 参数更新的公式一般为:
      θ = θ − η ⋅ ∇ θ L ( θ ) \theta = \theta - \eta \cdot \nabla_\theta L(\theta) θ=θ−η⋅∇θL(θ)
      其中, θ \theta θ是模型的参数, η \eta η是学习率, ∇ θ L ( θ ) \nabla_\theta L(\theta) ∇θL(θ)是损失函数对参数的梯度。
  2. 迭代训练(Iteration)

    • 通过多次前向传播和反向传播,模型的参数会逐步更新,损失逐步减小,最终达到一个局部或全局最优。

训练过程通常包括多个 epoch(遍历整个数据集的次数),并在每个 epoch 中对数据进行多次小批量训练。

相关推荐
微尘hjx1 分钟前
【深度学习02】YOLO模型的数据集、训练、验证、预测、导出
人工智能·python·深度学习·yolo·机器学习·训练·yolo11
B站计算机毕业设计之家7 分钟前
机器学习:Python豆瓣图书数据分析可视化系统 Echarts图表展示 爬虫数据采集 Flask 计算机毕业设计(建议收藏)✅
python·机器学习·数据分析·毕业设计·可视化·图书·书籍
m0_613607018 分钟前
小土堆- P5-笔记
pytorch·笔记·深度学习
Blossom.11812 分钟前
工业级扩散模型优化实战:从Stable Diffusion到LCM的毫秒级生成
开发语言·人工智能·python·深度学习·机器学习·stable diffusion·transformer
charlie11451419118 分钟前
从0开始的机器学习(笔记系列)——导数 · 多元函数导数 · 梯度
人工智能·笔记·学习·数学·机器学习·导数
AI人工智能+20 分钟前
智能表格识别技术:通过深度学习与版面分析相结合,解决传统OCR在复杂表格处理中的局限性
深度学习·ocr·表格识别
Lian_Ge_Blog21 分钟前
知识蒸馏学习总结
人工智能·深度学习
2401_8414956422 分钟前
【机器学习】人工神经网络(ANN)
人工智能·python·深度学习·神经网络·机器学习·特征学习·非线性映射
薛不痒27 分钟前
深度学习之神经网络的构建和实现
人工智能·深度学习·神经网络