当前位置: 首页 > news >正文

正则化都是放在模型的哪个位置呢?

✅ 什么是“正则化”?

在神经网络中,正则化(Regularization)= 抑制过拟合的技巧
目的是让模型在训练集和测试集上都表现得好(泛化能力强)。


🧠 常见的正则化手段包括:

方法类型通常放在哪里?作用
L1 / L2 正则项权重正则优化器参数中控制权重大小,避免过拟合
Dropout激活正则通常放在全连接层或 ReLU 后随机屏蔽神经元,增加鲁棒性
BatchNorm激活正则 + 稳定训练Conv/Linear 后、ReLU 前归一化激活分布,加快训练
Data Augmentation输入层面数据加载阶段扩展数据多样性
Early Stopping训练控制训练过程监控防止模型训练太过拟合
Weight Decay权重正则Optimizer 中设置相当于 L2 正则


✅ 那“放在哪里”呢?逐个来看:


🔸 1. L1 / L2 正则(Weight Decay)

  • 放在:优化器设置中

  • 代码示例:

optimizer = torch.optim.Adam(model.parameters(), lr=1e-3, weight_decay=1e-4)

  • 作用在模型所有可训练权重上

  • 不影响网络结构,只影响训练时的权重更新


🔸 2. Dropout

  • 通常放在:Linear 或 ReLU 后面

  • 不能放在卷积层后直接用(容易丢信息)

nn.Linear(128, 64), nn.ReLU(), nn.Dropout(p=0.5),

  • 注意:训练时才启用 Dropout,验证/测试时自动关闭


🔸 3. BatchNorm

  • 放在 Conv/Linear 输出后,ReLU

  • 在训练和测试阶段行为不同(训练时统计均值方差)


🔸 4. Data Augmentation

  • 放在数据加载前,例如:

transform = transforms.Compose([ transforms.RandomHorizontalFlip(), transforms.RandomCrop(32, padding=4), transforms.ToTensor(), ])

  • 与模型结构无关,但非常有效


🔸 5. Early Stopping

  • 放在训练 loop 外部控制,基于验证集监控性能


✅ 一个典型的结构示例

nn.Conv2d(3, 16, 3, padding=1), nn.BatchNorm2d(16), nn.ReLU(), nn.MaxPool2d(2), nn.Conv2d(16, 32, 3, padding=1), nn.BatchNorm2d(32), nn.ReLU(), nn.MaxPool2d(2), nn.Flatten(), nn.Linear(512, 128), nn.BatchNorm1d(128), nn.ReLU(), nn.Dropout(p=0.5), nn.Linear(128, 10) # 输出层,不加正则


✅ 总结一句话:

正则化是“无处不在”的,但每种方法都在“它该在的地方”。

正则化类型该放哪里
DropoutLinear/ReLU 后
BatchNormConv/Linear 后,ReLU 前
L2Optimizer 里
Augmentation数据预处理阶段
EarlyStopping训练 loop 外
http://www.lryc.cn/news/606318.html

相关文章:

  • 案例开发 - 日程管理 - 第四期
  • 【C语言学习】scanf函数
  • 【源力觉醒 创作者计划】文心一言与deepseek集成springboot开发哪个更方便
  • 3.Linux 系统文件类型与文件权限
  • AI与AGI:从狭义智能到通用智能
  • 上证50期权2400是什么意思?
  • 性能测试篇 :Jmeter监控服务器性能
  • virtualbox+UBuntu20.04+内存磁盘扩容
  • 知识随记-----使用现代C++客户端库redis-plus-plus实现redis池缓解高并发
  • 逻辑回归的应用
  • JVM学习日记(十二)Day12
  • 8K、AI、低空智联,H.266能否撑起下一代视频通路?
  • vue 开发总结:从安装到第一个交互页面-与数据库API
  • 逻辑回归详解:从数学原理到实际应用
  • 三坐标测量仪攻克深孔检测!破解新能源汽车阀体阀孔测量难题
  • MySQL 8.0 OCP 1Z0-908 题目解析(39)
  • Verilog与SytemVerilog差别
  • 文法中的间接左递归
  • 行业热点丨仿真历史数据难以使用?如何利用几何深度学习破局,加速汽车工程创新
  • 【BUUCTF系列】[HCTF 2018]WarmUp1
  • 第15届蓝桥杯C++青少组中级组选拔赛(STEMA)2024年3月10日真题
  • 大模型流式长链接场景下 k8s 优雅退出 JAVA
  • 永磁同步电机无速度算法--直流误差抑制自适应二阶反推观测器
  • 公路坑槽检测分析原理和思路
  • Java——数组及Java某些方法、二维数组
  • #C语言——刷题攻略:牛客编程入门训练(一):简单输出、基本类型
  • C++游戏开发(2)
  • 一次性接收大量上传图片,后端优化方式
  • 代码随想录算法训练营第五十七天|图论part7
  • Qt 消息弹窗 Toast