一、 核心直觉与基础定义
多层感知机的本质是一个万能函数逼近器(Universal Approximator)。它的核心逻辑是通过多层的线性变换与非线性激活的交替,将输入空间的数据映射到输出空间,从而拟合出任意复杂的非线性函数。
1. 通用逼近定理(Intuition)
一个单隐藏层的 MLP(宽度足够大)可以以任意精度逼近任意连续函数
直观理解:
- 每一层的线性变换
是在对空间进行旋转、拉伸、平移(仿射变换) - 非线性激活
是在引入折角/弯曲,打破线性叠加 - 多层叠加后,网络能构造出任意扭曲的高维曲面
2. 网络结构定义
假设我们有一个
-
:第 层的神经元数量。 -
:第 层的权重矩阵。 -
:第 层的偏置向量。 -
:第 层的激活输出向量(其中 为输入数据)。 -
:第 层的线性组合输出(未激活)。 -
:非线性激活函数(如 ReLU, Sigmoid, Tanh)。
二、 正向传播(Forward Propagation)
正向传播是数据从输入侧流向输出侧的过程。对于第
线性变换:
非线性激活:
【代码实现视角的维度校验】
-
是 的矩阵。 -
是 的列向量。 -
相乘结果
的维度是 。 -
加上同维度的偏置
,得到 的向量 ,逐元素(element-wise)经过激活函数后,得到 的向量 。
三、 损失函数(Loss Function)
为了让网络学习,我们需要一个标量函数
常见的损失函数:
-
均方误差(MSE)(常用于回归,如 Critic 网络预估 Value):
-
交叉熵(Cross-Entropy)(常用于分类,结合 Softmax):
四、 反向传播(Backpropagation)严谨推导
反向传播的本质是多变量微积分中的链式法则(Chain Rule)。它的目标是求出标量损失
为了推导清晰,我们引入一个极其重要的中间变量——局部梯度(或误差项)
推导反向传播,就是推导反向传播的四大核心方程。这是这篇笔记最需要记忆的部分。
方程 1:输出层的误差
根据链式法则,损失
(注:
如果输出层使用 Softmax 且损失是交叉熵,这个公式可以极度化简为非常优雅的形式:
【推导:Cross-Entropy + Softmax 的简化】
设
第一步:对
其中
第二步:链式法则
第三步:因为
即
方程 2:隐藏层的误差传播 (将误差从第 层传回第 层)
当前层的误差
已知
根据多变量链式法则(矩阵微积分):
继续对
记忆点:下一层的权重矩阵转置,乘以下一层的误差,再逐元素乘上当前层激活函数的导数。
方程 3:损失对权重 的梯度
已知
根据矩阵微积分,标量对矩阵的导数可以由外积(Outer Product)得到:
【维度校验】
两者的外积是一个
方程 4:损失对偏置 的梯度
因为
五、 参数更新(Optimization)
拿到梯度后,就可以使用优化算法(如 SGD, Adam 等)更新权重。最基础的梯度下降(Gradient Descent)公式为:
(其中
附录:常用激活函数及其导数
在编写底层推理代码时,激活函数及其导数通常被硬编码为独立的算子:
-
Sigmoid:
-
-
Tanh:
-
-
ReLU (Rectified Linear Unit):
-
为了更直观地感受一个神经元内部的正向计算与导数(局部梯度)变化,我为你生成了一个交互式的单神经元(感知机)模拟器。你可以手动调节输入值和权重,观察不同激活函数对前向输出