1. 多层感知机基础解析
1.1 神经网络的基本构成单元
神经元是神经网络最基本的计算单元,其数学模型源自1943年McCulloch和Pitts提出的M-P模型。现代神经元通常由三部分组成:输入向量x(包含偏置项)、权重向量w和激活函数f。计算过程可表示为:
y = f(∑w_i x_i + b)
其中偏置项b的引入使得决策平面可以平移,增强了模型的表达能力。常见的激活函数包括:
- Sigmoid:将输出压缩到(0,1)区间
- Tanh:输出范围(-1,1),零中心化
- ReLU:max(0,x),解决梯度消失问题
- LeakyReLU:给负区间小的斜率,避免神经元"死亡"
实际工程中选择激活函数时,ReLU系列通常是隐藏层的首选,而输出层则根据任务类型选择(如二分类用Sigmoid,多分类用Softmax)
1.2 从单层到多层的演进
单层感知机(Perceptron)只能解决线性可分问题,1969年Minsky在其著作中明确指出这一局限。多层感知机的突破在于:
- 引入隐藏层形成层次结构
- 使用非线性激活函数
- 通过反向传播算法训练
理论证明(Universal Approximation Theorem)表明,一个包含足够多神经元的单隐藏层MLP可以任意精度逼近任何连续函数。但在实践中,深层网络通常比浅层宽网络更具参数效率。
1.3 前向传播的数学本质
对于L层MLP,前向传播可表示为嵌套函数:
f(x) = f_L(f_{L-1}(...f_1(x)))
每层的计算包含两个步骤:
- 线性变换:z = Wx + b
- 非线性激活:a = σ(z)
以三分类任务为例,输出层通常使用Softmax:
p_i = e^{z_i} / ∑e^
这种层级结构使得MLP可以学习输入数据的层次化特征表示,底层捕捉局部模式,高层组合这些模式形成更抽象的表示。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 反向传播算法深度剖析
2.1 梯度下降的核心思想
参数更新公式:
θ = θ - η∇J(θ)
其中学习率η的选择至关重要:
- 太大:震荡甚至发散
- 太小:收敛缓慢
实践中常采用学习率衰减策略:
η_t = η_0 / (1 + decay_rate * t)
对于N个样本的损失函数:
