人工神经网络中的权重是如何更新的?

在人工神经网络中,权重是相邻两层神经元之间的连接强度。权重的更新是通过反向传播算法实现的,主要步骤如下:

  1. 前向传播:输入数据从输入层向前传播,在各层被激活并加权,得到输出值。
  2. 计算损失:使用损失函数计算输出值和真实标签之间的差距,得到总体损失。
  3. 求导:使用链式法则计算损失相对于各层权重的偏导数。
  4. 权重更新:使用梯度下降法则更新各层权重,使损失最小化。

权重的更新公式为:

w -= 学习率 * 权重w的偏导数

即权重沿着损失函数的梯度方向移动,步长由学习率控制。

举例:
一个简单的神经网络:

输入层 → 权重W1 → 隐藏层 → 权重W2 → 输出层  
                       ↑                        ↑   
                       |                        |
真实标签y → 求导 → 权重W1的偏导数   → 权重W2的偏导数

反向传播过程:

  1. 前向传播:输入→隐藏层→输出,得到预测输出pred
  2. 计算损失:loss = (pred – 真实标签)2 / 2
  3. 求导:loss对隐藏层输出的偏导数 * 激活函数对隐藏层输入的偏导数 = 权重W2的偏导数
    loss对隐藏层输出的偏导数 * 权重W2的偏导数 * 激活函数对隐藏层输入的偏导数 = 权重W1的偏导数
  4. 权重更新:W1 -= 学习率 * W1的偏导数
    W2 -= 学习率 * W2的偏导数
    通过反复更新网络权重,神经网络可以学习到输入与输出之间的复杂关系,达到拟合训练数据的目的。