4. 模型优化与调参经验:正则化、学习率策略、超参调优方法
📌 面试问答卡片
面试问题:你是如何选择正则化方法的?L1/L2/Dropout分别在什么场景下使用?
考察点:🔍 是否理解正则化本质(限制模型复杂度);能否根据不同情况给出合理选择;是否具备实战对比经验。
回答框架:① 问题类型(过拟合/特征稀疏/模型结构)→ ② 原理对比(L1产生稀疏解,L2控制权重衰减,Dropout是集成)→ ③ 应用场景(高维稀疏→L1,全连接层→Dropout,平衡时用L2)
示例回答:“我通常先判断过拟合严重程度。若特征维度高且稀疏,优先用L1;若仅是权重过大导致过拟合,用L2;对于全连接层,我用Dropout+早停。例如在CTR预估中,L1使特征选择更高效,配合Dropout进一步防止过拟合。” (98字)
可能追问:L1为什么能产生稀疏?Dropout与Bagging的关系?正则化系数如何调?
面试问题:你用过哪些学习率调整策略?什么情况下用Warmup?何时用CosineAnnealing?
考察点:🔍 是否了解不同策略的适用场景;能否解释其背后的优化动力;是否有实际模型训练经验(如Transformer、GAN)。
回答框架:① 列举常见策略(StepDecay、Cosine、Warmup、ReduceOnPlateau)→ ② 选择依据(任务类型、batch size、loss曲面特性)→ ③ 案例说明(大模型训练必用Warmup防止梯度爆炸;Cosine适合长时间训练,避免过早陷入局部极小)
示例回答:“Transformer类模型我用Warmup+Cosine,Warmup前几千步线性增加学习率,防止早期梯度爆炸;之后余弦退火平滑降低。ResNet训练时我常用ReduceOnPlateau,当loss不下降时再降低LR。最近在GAN训练中也试过Cosine,效果好于StepDecay。” (95字)
可能追问:Warmup步数如何确定?Cosine与StepDecay的收敛行为有何区别?学习率上限怎么设?
面试问题:你通常如何进行超参调优?比较网格搜索、随机搜索和贝叶斯优化的优缺点。
考察点:🔍 是否理解不同方法的效率和精度权衡;是否有实际调参经验;能否针对资源限制给出合理方案。
回答框架:① 方法介绍(网格/随机/贝叶斯/进化)→ ② 对比(网格:维度灾难;随机:效率高但可能漏最优;贝叶斯:利用历史信息,效率最优)→ ③ 场景选择(资源充足且维度低用网格;维度高且预算有限用贝叶斯;快速试错用随机)
示例回答:“早期探索我常用随机搜索,固定搜索次数;当需要精细调优时用贝叶斯优化,结合TPE框架。例如在调学习率、dropout和l2系数时,贝叶斯在20轮内找到优于网格40轮的结果。对超参数空间较大时,我还会用Hyperband提前停止无效训练。” (94字)
可能追问:贝叶斯优化的具体代理模型是什么?如何平衡探索与利用?实际工程中如何并行化?
📁 项目案例模板
| 项目名称 | 多模态内容审核模型调优(图文违规检测) |
| 业务背景 | 电商平台日均10亿级内容需要实时审核,原模型召回率低(82%),且推理时间>500ms不达标 |
| 规模指标 | 模型参数量80M,训练数据3000万图文对;上线要求召回率≥95%,延迟≤150ms |
| 技术栈 | PyTorch + HuggingFace ViT + BERT + ONNX Runtime + Optuna |
| 核心难点 | ① 图文多模态融合后过拟合严重;② 训练初期梯度不稳定导致收敛慢;③ 超参空间大(LR、Dropout、weight decay、文本/图像分支平衡系数等) |
| 面试高频追问 | • 你们正则化具体用了哪些组合?为什么? • 学习率是用Cosine还是StepDecay?Warmup步数多少? • 贝叶斯优化搜索了哪些超参?怎样避免重复搜索? |
| 可迁移回答话术 | “我们采用了L2 + Dropout + Label Smoothing组合,其中Dropout在文本分支设为0.3,图像分支0.2,平衡过拟合和信息保留。学习率采用Warmup 2000步 + Cosine,初始LR通过贝叶斯搜索在[2e-5, 5e-5]区间决定。超参搜索使用Optuna的TPE sampler,结合早停(patience=5),总共探索了100个trials,最终在验证集上召回率提升至95.6%。” (可复用:组合正则化 + 具体数值 + 搜索框架 + 效果数据) |