跳到主要内容

调教神经网络的方法


问题引入

过拟合

现象说明
训练数据上表现完美损失值最小,每 一个点都穿过
新数据上表现糟糕预测不准确,泛化能力差

过拟合:在训练数据上表现很完美,但在没见过的数据上表现很糟糕的现象。

泛化能力

定义:模型在没见过的数据上的表现能力。

对比训练数据新数据
过拟合模型完美
适度拟合模型较好较好

一、数据增强

问题原因

训练数据本身是简单规律,但模型太复杂,把噪声和随机波动也学会了。

解决方案

方法说明
简化模型复杂度不是越大越好
增加训练数据量数据量足够,复杂模型也变简单

数据增强技术

对图像进行变换,创造更多训练样本:

技术说明
旋转改变图像角度
翻转水平或垂直镜像
裁剪随机裁剪区域
变色调整亮度、对比度
噪声添加随机噪声

鲁棒性

数据增强不仅能产生更多数据,还能让模型不因输入的微小变化而产生大波动,增强模型的鲁棒性


二、正则化

核心思想

通过在损失函数中添加惩罚项,抑制参数的野蛮增长。

原理

新损失函数 = 损失函数 + 惩罚项
惩罚项类型公式名称
绝对值之和Σ|wᵢ|L1 正则化
平方和Σwᵢ²L2 正则化

作用机制

当参数往大了调整时,如果让损失函数减小得不够多,导致新损失函数变大,则调整不合适。

一定程度 上抑制了参数的野蛮增长。

超参数

概念说明
正则化系数控制惩罚项的力度
超参数控制参数的参数(需手动设置)

L1 与 L2 范数

类型公式特点
L1 范数|w| 的绝对值之和会让参数趋近于 0(稀疏化)
L2 范数|w| 的平方和开方让参数均匀趋近于 0

三、Dropout

核心思想

训练过程中随机丢弃一部分参数,让模型不过度依赖少量参数。

比喻

角色比喻
普通参数普通士兵
异常强大的参数战斗力极强的"闪客"
Dropout让闪客偶尔缺席

原理

问题解决方案
过度依赖某几个参数每次训练随机丢弃一部分参数
闪客主导战局让闪客缺席,模型学会依赖更多普通士兵

让模型必须依赖更多的参数,避免在某些关键参数上过度集中。


四、其他问题与对策

问题一览

问题说明
梯度消失网络越深,梯度反向传播时越来越小,参数更新困难
梯度爆炸梯度数值越来越大,参数调整幅度失控
收敛速度陷入局部最优或来回震荡
计算开销数据量庞大,每次完整训练很耗时

解决方案

问题解决方案
梯度更新过大梯度裁剪
深层网络梯度衰减残差网络
梯度分布不平滑权重初始化、归一化
收敛慢动量法、RMSProp、Adam 等自适应优化器
计算开销大Mini-batch 分批次训练

五、深度学习发展脉络

技术说明
CNN卷积神经网络,利用卷积层、池化层处理图像
RNN循环神经网络,利用上下文处理序列数据
GAN生成对抗网络
Transformer引入注意力机制
GPT 系列大语言模型
ChatGPT对话模型
DeepSeek国产大模型

六、总结

过拟合应对策略

策略方法
数据层面数据增强:旋转、翻转、裁剪、变色
模型层面简化模型复杂度、Dropout
训练层面提前终止、L1/L2 正则化
参数层面惩罚项抑制参数野蛮增长

核心思想

深度学习不是神经网络足够大就能包打天下,正是由于各种困境的出现,人们才想出了各种应对策略。

这门学问确实像是一门"玄学",但每个技巧都是为了让训练过程更好