在机器学习中,梯度下降与反向传播是训练神经网络的核心机制。可以将误差函数的曲面类比为一座山地地形,寻找局部最小误差点就如同找到某段山路的最低谷。梯度代表了误差上升最快的方向(即“上山”最快方向),因此为了最小化误差,我们需要沿着梯度的反方向进行参数更新——也就是“下山”。
反向传播的作用在于计算当前模型参数下的梯度信息,即明确“当前位置往哪个方向走能最快下山”;而梯度下降则利用这一梯度信息,通过迭代方式不断调整权重和偏置,逐步逼近梯度为0的局部最优解(山脚位置),从而实现误差最小化。[此处为图片1]
感知机(单个神经元)的工作流程
感知机是神经网络的基本单元,其参数更新过程如下:首先输入第一组特征值 x1 和 x2,计算出当前输出 output;接着求取误差 Δ = label - output;然后根据该误差对权重 w 和偏置 b 进行更新。
权重更新公式为:w = wi + η × xi × Δ
偏置更新公式为:b = bi + η × Δ
其中 η 表示学习率,控制每次更新的步长大小。
随后依次使用第二组、第三组数据重复上述步骤,持续迭代直至满足停止条件。最终得到一组最优的权重 wi 与偏置 b,使得模型预测结果最接近真实标签值。此后便可利用这组参数对新样本进行预测。
整个前向过程可概括为:
输入 → 加权求和 + 偏置 → 激活函数处理 → 输出
数学表达式为:y = x1×w1 + x2×w2 + b
MLP(多层感知机 / 全连接神经网络)
MLP 是由多个神经元组成的前馈网络,结构通常包括一个输入层、一个或多个隐藏层以及一个输出层。每一层的神经元与下一层完全连接,信息逐层传递。
基本结构流程为:
输入层 → 隐藏层(可多层)→ 输出层 → 激活函数处理(如 sigmoid 函数,呈现 S 形曲线)→ 最终输出
通过非线性激活函数引入非线性能力,使模型能够拟合复杂的数据分布模式。
CNN(卷积神经网络)——适用于图像与语音任务
CNN 是一种专为处理具有空间结构数据(如图像、音频频谱图)设计的神经网络结构,采用局部连接与权重共享策略,显著减少参数量并提升特征提取效率。
卷积层:输入矩阵与卷积核(filter)在对应位置进行逐元素相乘再求和,并加上偏置项,得到一个输出值。通过滑动窗口方式按设定步长扫描整个输入,生成特征图。
输出尺寸计算公式为:
( 输入尺寸 + 2 × padding - 卷积核尺寸 ) / 步长 + 1
为防止边缘信息丢失,在输入矩阵四周补零的操作称为 padding。常见方式有等边填充(保持输入输出尺寸一致,最常用)和完全填充(最大化输出尺寸,较少使用)。
池化层:用于降维和增强特征鲁棒性。例如,对于 4×4 的输入区域,取左上角 2×2 区域的最大值作为代表值,这种方法称为 Max Pooling;也可采用平均值池化(Average Pooling)。
反向传播的特殊性:CNN 中由于存在权重共享、局部连接以及池化操作,反向传播需对张量维度进行特殊处理。核心思想是通过梯度聚合与转置卷积实现高效的参数更新与特征学习。
典型结构顺序为:
输入层 → 卷积层1 → 池化层1 → 卷积层2 → 池化层2 → 全连接层
[此处为图片2]
RNN(循环神经网络)——面向序列建模
RNN 主要应用于自然语言处理等需要处理时序数据的任务,具备记忆历史信息的能力。
单向 RNN:只能捕捉先前时刻的信息。设 St 为 t 时刻的隐藏状态,Xt 为当前输入,Ut 为输入到隐藏层的权重矩阵,Vt 为隐藏层到输出的权重,Ot 为当前输出。
计算公式为:St = F(Xt × Ut + Wt),其中 Wt 实际上表示前一时刻隐藏状态 St-1 的影响。
双向 RNN:不仅能记住前面的信息,还能结合后续上下文。此时引入两个方向的状态:正向 St 和反向 St’。输出 Ot 同时依赖两者:
Ot = g(Vt × St + Vt’ × St’)
其中 St = F(Xt × Ut + Wt),St’ = F(Xt × Ut’ + Wt’),且 Wt’ 来自下一时刻的反向状态 St+1’。
通俗理解:RNN 在结构上将上一时刻隐藏层的输出反馈到当前层的计算中,形成时间上的“记忆链”,从而赋予网络动态记忆能力。
然而,RNN 存在梯度爆炸与梯度消失问题,主要原因在于反向传播过程中误差项随时间呈指数级变化。
- 梯度爆炸:可通过设置梯度裁剪阈值来缓解。
- 梯度消失:解决方法包括:
- 合理初始化网络权重
- 使用 ReLU 替代 sigmoid 或 tanh 激活函数
- 改用更先进的结构如 LSTM 或 GRU
LSTM(长短期记忆网络)——解决长序列依赖
LSTM 是 RNN 的改进版本,专门用于应对超长序列中的长期依赖问题。它在原有隐藏状态 H 的基础上引入了一个独立的细胞状态 C,用于保存长期记忆信息。
可以把 C 状态想象成一条贯穿时间的“主线”,类似于 Git 版本控制系统中主干分支的持续更新过程。
每个时刻 t 的输入包含三项:当前输入 Xt、上一时刻隐藏状态 St-1、上一时刻细胞状态 Ct-1;输出为当前隐藏状态 Ht 和当前细胞状态 Ct。
细胞状态 C 的更新受三个门控机制调控:
- 遗忘门 f:决定上一时刻的细胞状态 Ct-1 有多少被保留。
公式:Ft = sigmoid(Wf × [Ht-1, Xt] + Bf)
- 输入门 i:控制当前输入中有多少信息应写入细胞状态。
当前输入门:It = sigmoid(Wi × [Ht-1, Xt] + Bi)
候选细胞状态:Ct’ = tanh(Wc × [Ht-1, Xt] + Bc)
细胞状态更新:Ct = Ft × Ct-1 + It × Ct’
- 输出门 o:决定当前细胞状态有多少内容输出到隐藏状态。
公式:Ot = sigmoid(Wo × [Ht-1, Xt] + Bo)
最终隐藏状态:Ht = Ot × tanh(Ct)
GRU(门控循环单元)——LSTM 的简化变体
GRU 是 LSTM 的一种高效变体,常用于较短序列场景,在性能相近的同时减少了参数数量。
主要改动如下:
- 将遗忘门和输入门合并为一个更新门 Zt,统一控制旧信息遗忘与新信息吸收(二者呈反向关系)。
- 新增一个重置门 Rt,辅助更新门调节信息流动,决定如何组合当前输入与前一状态。
这种结构简化了门控机制,提升了训练效率,同时仍保留了对长期依赖的有效建模能力。
[此处为图片3]
改动 2:将单元状态与输出合并为单一状态 Ht,相当于把原有的单元状态整合进隐藏状态中,并直接作为输出。此时输出门的功能已被更新门所替代,从而简化了结构并提高了信息流动效率。
[此处为图片1]
优化器:梯度下降的智能导航系统
优化器可被视为梯度下降过程中的“领航员”,其核心任务是在寻找全局最优解的过程中避免陷入局部最优,同时提升收敛速度,确保模型高效稳定地逼近目标。
经典梯度下降变体对比
- GD(梯度下降):每输入一个样本即更新一次参数 ΔT,适用于小规模数据但计算开销大。
- BGD(批量梯度下降):在完成整个批量(batch)的数据输入后才进行一次 ΔT 更新,依赖于 batchsize 设置,稳定性高但可能较慢。
- SGD(随机梯度下降):在批量基础上随机选取单个样本来更新 ΔT,虽加快训练速度,但容易引起局部振荡,难以达到理想的全局最优。
动量类优化器演进
SGDM(带动量的随机梯度下降):引入惯性因子,在更新参数时保留部分前一时刻的梯度方向。若梯度方向一致,则动量加速收敛(如同从陡坡滑向谷底);若方向相反,则减速甚至跳过局部极小值区域,有助于逃离局部最优陷阱。
NAG(Nesterov 加速梯度):进一步改进动量机制,采用“预判”策略——利用未来位置的梯度代替当前位置梯度进行调整。这种“探路”方式能够在即将进入更陡区域时提前“刹车”,防止因动量过大而越过全局最优解,相当于为动量机制加装限速装置,提升稳定性。
自适应学习率优化器发展
Adagrad(自适应梯度优化器):为每个参数维护一个独立的缓存值,记录从初始到当前所有梯度平方的累计和。若某参数频繁大幅更新,其缓存值增大,导致学习率自动降低;反之,若更新较少,缓存值小,学习率上升,促使该参数进行更大调整,实现个性化调节。
RMSProp:针对 Adagrad 学习率持续衰减至趋近于零的问题,改用指数加权移动平均方式处理历史梯度平方,并引入衰减率 γ 参数,有效缓解训练后期学习率过低导致停滞的现象。
Adadelta:继承 RMSProp 的优势,同时无需设定全局初始学习率,融合了 AdaGrad 与 RMSProp 的优点,在动态调整中更具鲁棒性。
[此处为图片2]
Adam:集大成者的自适应优化器
Adam 结合了一阶动量(来自 SGDM)和二阶动量(源于 AdaGrad、RMSProp 等中的梯度平方项),实现了 Momentum 与 Adaptive Learning Rate 的统一。其名称即体现本质:Adaptive + Momentum,综合了多种优化思想的优势,广泛应用于各类深度学习任务中。
为何交叉熵损失函数优于 MSE 用于分类?
- 当预测错误严重时,交叉熵施加更强惩罚,响应迅速且梯度清晰,不存在梯度消失问题,促使类别概率趋向极端化(非黑即白)。
- 相比之下,MSE 对误差的惩罚较为平缓,对重大错误不够敏感,梯度易缩小甚至消失,更适合连续值拟合而非离散分类任务。
应对样本不均衡的损失函数优化策略
Focal Loss:现实场景中易分样本数量庞大,主导总体损失,影响模型对难例的学习效果。Focal Loss 提出应减少对高置信度样本的关注度,转而聚焦于难以区分的困难样本,从而提升模型判别能力。
GHM(Gradient Harmonizing Mechanism):虽然 Focal Loss 强调关注难分样本,却可能忽略异常点(离群点)的影响,而这些点在模型收敛过程中仍具显著作用。此外,Focal Loss 中参数 α 与 γ 相互制约,调参困难。GHM 通过梯度密度加权机制,自动平衡不同样本的贡献,既抑制了易分样本与离群点的干扰,又规避了人工设定复杂超参数的问题。