基于 Excel 的 MLP 神经网络计算过程展示
2026/5/21 21:09:02 网站建设 项目流程

用 Excel 展示 MLP(多层感知机)的计算过程

作者:孙明良
主题:利用 Excel 拆解 MLP 的前向传播、误差计算、反向传播与参数更新

一、为什么要用 Excel 展示 MLP?

MLP(Multilayer Perceptron,多层感知机)是神经网络中最基础的模型之一。很多同学在学习 MLP 时,容易只记住公式,却不清楚每一个权重、偏置和梯度到底是怎样一步步算出来的。因此,本次作业采用 Excel 文件展示一个简单 MLP 的完整计算过程。

Excel 的优点是所有中间变量都可以被直接看见,而且单元格之间可以通过公式联动。当输入值、目标值、学习率或权重发生变化时,前向传播结果、损失值、梯度和更新后的参数都会自动变化,这样可以更直观地理解神经网络的计算逻辑。

二、网络结构与初始参数

本示例采用一个简单的1-6-1 结构 MLP:输入层有 1 个神经元,隐藏层有 6 个神经元,输出层有 1 个神经元。为了与原始示例中的数值保持一致,隐藏层默认采用线性激活函数,即:

f(z)=z

初始参数如下:

项目取值
学习率 η0.01
输入值 x5
真实目标 t208
隐藏层权重 W[10, 20, 30, 20, 10, 20]
隐藏层偏置 B[10, 10, 10, 10, 10, 10]
输出层权重 V[10, 20, 10, 10, 30, 20]
输出层偏置 b_out20

三、前向传播计算过程

前向传播的任务是根据当前权重和偏置,由输入值计算出模型预测值。

对于第 j 个隐藏层神经元,首先计算加权和:

z_j = x × W_j + B_j

由于本例默认采用线性激活函数,所以隐藏层输出为:

h_j = f(z_j) = z_j

输出层预测值为:

ŷ = Σ(h_j × V_j) + b_out

以第 1 个隐藏神经元为例:

z_1 = 5 × 10 + 10 = 60

h_1 = 60

它对输出层的贡献为:

h_1 × V_1 = 60 × 10 = 600

6 个隐藏神经元的贡献求和为 9500,再加上输出偏置 20,得到最终预测值:

ŷ = 9500 + 20 = 9520

四、误差与损失函数

模型预测值为 9520,而真实目标值为 208,因此预测误差为:

e = ŷ - t = 9520 - 208 = 9312

本示例采用平方误差作为损失函数:

L = (ŷ - t)^2

代入数值得到:

L = 9312^2 = 86713344

平方误差越大,说明模型当前预测结果与真实目标之间的差距越大。由于本例初始权重较大,输出预测值远高于目标值,所以损失值也非常大。

五、反向传播计算过程

反向传播的核心思想是利用链式法则,计算损失函数对每一个参数的梯度,然后根据梯度方向调整参数。

首先计算损失函数对输出值的导数:

∂L/∂ŷ = 2(ŷ - t) = 2 × 9312 = 18624

1. 输出层权重梯度

输出层第 j 个权重的梯度为:

∂L/∂V_j = h_j × ∂L/∂ŷ

这表示:某个隐藏神经元输出越大,它对应的输出权重对最终损失的影响越大。

2. 输出层偏置梯度

输出偏置直接作用于最终预测值,因此:

∂L/∂b_out = ∂L/∂ŷ = 18624

3. 隐藏层梯度

误差从输出层继续传回隐藏层。第 j 个隐藏神经元加权和的梯度为:

∂L/∂z_j = ∂L/∂ŷ × V_j × f'(z_j)

由于线性激活函数的导数为 1,所以:

∂L/∂z_j = ∂L/∂ŷ × V_j

4. 输入层到隐藏层权重梯度

第 j 个隐藏层输入权重的梯度为:

∂L/∂W_j = x × ∂L/∂z_j

隐藏层偏置的梯度为:

∂L/∂B_j = ∂L/∂z_j

Excel 的 Backprop 工作表已经把以上公式逐项拆开,能够看到每个神经元对应的梯度值。

六、参数更新过程

完成梯度计算后,使用梯度下降法更新参数:

θ_new = θ_old - η × ∂L/∂θ

其中,θ 可以表示任意一个权重或偏置,η 为学习率。本例中学习率为 0.01。

例如,输出偏置的更新为:

b_out_new = b_out_old - η × ∂L/∂b_out

b_out_new = 20 - 0.01 × 18624 = -166.24

同理,隐藏层权重、隐藏层偏置和输出层权重都可以按照相同规则进行更新。Excel 的 Update 工作表展示了一次梯度下降后的全部新参数。

需要注意的是,本示例中初始误差较大,如果学习率设置为 0.01,部分参数更新幅度会非常大。在真实神经网络训练中,通常需要进行输入归一化、选择合适的学习率,并通过多轮迭代逐步优化模型。

七、Excel 文件结构说明

配套 Excel 文件主要包括以下工作表:

工作表内容说明
Blog作业说明和阅读顺序
Input输入值、目标值、学习率、权重和偏置
Forward隐藏层加权和、隐藏层输出、输出预测、误差和损失
Backprop输出层梯度、隐藏层梯度和输入权重梯度
Update一次梯度下降后的新参数
Original保留上传的原始示例数据,便于对照

八、总结

通过这个 Excel 示例,可以清楚地看到 MLP 的计算并不是一个“黑箱”过程。前向传播负责根据输入和参数得到预测值,损失函数衡量预测值与真实目标的差距,反向传播利用链式法则计算梯度,最后梯度下降根据梯度更新权重和偏置。

把这些过程放到 Excel 中,可以让每一步计算都有对应的单元格和公式,便于检查、修改和学习。对于刚接触神经网络的学习者来说,这种方式能够帮助理解 MLP 从输入到输出、再从误差回传到参数更新的完整过程。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询