在人工神经网络中,权重是相邻两层神经元之间的连接强度。权重的更新是通过反向传播算法实现的,主要步骤如下:
- 前向传播:输入数据从输入层向前传播,在各层被激活并加权,得到输出值。
- 计算损失:使用损失函数计算输出值和真实标签之间的差距,得到总体损失。
- 求导:使用链式法则计算损失相对于各层权重的偏导数。
- 权重更新:使用梯度下降法则更新各层权重,使损失最小化。
权重的更新公式为:
w -= 学习率 * 权重w的偏导数
即权重沿着损失函数的梯度方向移动,步长由学习率控制。
举例:
一个简单的神经网络:
输入层 → 权重W1 → 隐藏层 → 权重W2 → 输出层
↑ ↑
| |
真实标签y → 求导 → 权重W1的偏导数 → 权重W2的偏导数
反向传播过程:
- 前向传播:输入→隐藏层→输出,得到预测输出pred
- 计算损失:loss = (pred – 真实标签)2 / 2
- 求导:loss对隐藏层输出的偏导数 * 激活函数对隐藏层输入的偏导数 = 权重W2的偏导数
loss对隐藏层输出的偏导数 * 权重W2的偏导数 * 激活函数对隐藏层输入的偏导数 = 权重W1的偏导数 - 权重更新:W1 -= 学习率 * W1的偏导数
W2 -= 学习率 * W2的偏导数
通过反复更新网络权重,神经网络可以学习到输入与输出之间的复杂关系,达到拟合训练数据的目的。