从 Excel 手算理解 MLP(多层感知机)的完整计算过程
本文基于配套 Excel 文件对一个最基础的 MLPMulti-Layer Perceptron多层感知机进行完整拆解详细展示前向传播Forward Propagation激活函数Activation Function输出层计算Loss 计算梯度求导反向传播BackPropagation权重更新Bias 更新的全部数学计算过程。1. 什么是 MLPMLP多层感知机是最基础的神经网络结构它本质上由输入层 → 隐藏层 → 输出层组成。神经网络通过输入数据 → 计算预测结果 → 计算误差 → 更新参数不断学习数据规律。2. 本 Excel 的网络结构本 Excel 使用的是单输入 单隐藏层 单输出结构如下输入层(1) ↓ 隐藏层(6) ↓ 输出层(1)即输入层1 个神经元隐藏层6 个神经元输出层1 个神经元3. 初始参数说明Excel 中黄色单元格为可修改参数。主要参数如下参数符号含义输入值$x$当前输入数据隐藏层权重$W_h$输入层到隐藏层权重隐藏层 Bias$b_h$隐藏层偏置输出层权重$W_o$隐藏层到输出层权重输出层 Bias$b_o$输出层偏置学习率$\eta$参数更新速度目标值$y_{target}$真实标签4. 前向传播Forward Propagation前向传播的目标输入数据 → 计算预测结果5. Step 1输入层到隐藏层隐藏层中的每个神经元都会执行$$zxwb$$其中x输入值w权重bBiasExcel 中公式$A$4*H4C4对应A4输入值H4权重C4Bias5.1 数值计算示例假设x5w10b10则最终z60这就是某个隐藏层神经元的输入值。6. Step 2激活函数Activation Function神经网络不能只有线性计算。否则多层网络 ≈ 单层线性模型因此必须加入非线性激活函数本 Excel 使用Leaky ReLU公式6.1 Excel 公式IF(N40,N4,0.05*N4)含义大于 0直接输出小于等于 0保留 0.05 倍6.2 为什么使用 Leaky ReLU普通 ReLU存在神经元死亡问题因为负数区域梯度为 0。而 Leaky ReLU负数区域仍保留微小梯度因此训练更加稳定。7. Step 3隐藏层输出隐藏层 6 个神经元会分别输出这些值会继续传入输出层。8. Step 4输出层计算输出层会继续进行加权求和Excel 中SUMPRODUCT(O4:O9,R4:R9)R11数学式其中隐藏层输出输出层权重输出层 Bias9. Step 5输出层激活函数输出层同样使用Leaky ReLUExcelIF(X40,X4,0.05*X4)得到最终预测值10. Step 6Loss损失函数神经网络训练目标让预测值接近真实值这里使用平方误差MSE公式Excel(Y4-Z4)^210.1 数值示例假设则误差越大越大11. 为什么需要反向传播前向传播只能得到结果。真正关键的是如何修改参数让误差越来越小因此需要BackPropagationBP核心流程Loss ↓ 求导 ↓ 得到梯度 ↓ 更新参数12. Step 7输出层梯度计算Excel 中2*(Y4-Z4)*IF(Y40,1,0.05)本质13. Loss 求导平方误差求导14. 激活函数求导Leaky ReLU 导数因此 Excel 写成IF(Y40,1,0.05)15. 链式法则Chain Rule神经网络训练最核心的数学基础链式法则公式含义Loss 对权重的影响 误差传播 × 激活函数梯度 × 当前层输入这就是BP 算法的本质16. Step 8输出层权重更新梯度下降公式其中学习率梯度16.1 Excel 公式T4*$B$1表示梯度 × 学习率然后R4-U4表示新权重 旧权重 - 更新量17. Step 9Bias 更新Bias 本质也是参数。因此更新方式与权重完全一致。18. Step 10误差传播回隐藏层隐藏层没有直接接触真实值。因此需要输出层误差反向传播Excel$AB$4*R4*IF(O40,1,0.05)本质隐藏层梯度 输出层梯度 \times 输出层权重 \times 激活函数导数19. 隐藏层权重更新隐藏层参数同样遵循只不过隐藏层梯度需要通过输出层误差 → 链式法则 → 反向传播得到。20. 神经网络为什么能学习整个训练过程实际上就是随机初始化参数 ↓ 进行预测 ↓ 计算误差 ↓ 求梯度 ↓ 更新参数 ↓ 误差减小 ↓ 重复很多次最终模型参数逐渐逼近最优解。21. MLP 的本质其实可以把 MLP 理解成一个不断修正参数的函数逼近器它通过误差 → 梯度 → 参数更新不断优化预测结果。22. 用一句话理解 BP 神经网络可以简单理解为前向传播负责“算结果” 反向传播负责“改参数”整个训练循环Forward → Loss → Backward → Update → Forward...最终更小