深度学习正则化归一化,动图版来了,复杂概念秒变简单!
摘要:本文解析了机器学习的两个关键技术——正则化和归一化。正则化通过L1/L2正则项防止模型过拟合,L1产生稀疏权重,L2保持参数均衡;归一化统一数据尺度,介绍批量、层、实例和组归一化四种方法及其适用场景。文章还提供了大模型学习资源,包含学习路线、视频教程、技术文档和面试题等,助力AI开发者掌握核心技能。
你是否也有这样的困扰?"我的模型在训练集上100分,测试集上却只有60分?""我的神经网络训练了500轮还是不收敛?"
别慌!这些问题的根源往往在于两个关键技术:正则化和归一化。正则化就像严格的老师,防止学生死记硬背;归一化则是标准化的教材,让学习更高效。
一、正则化(Regularization)
正则化(Regularization)是什么?
正则化就像一个严格的老师,防止学生过度背书。
正则化的目的是通过引入额外的约束或惩罚项来限制模型的复杂度,从而提高模型在未知数据上的泛化能力。
过拟合的学生不仅记住了知识点,连教材上的错别字、页码都背下来了;正则化后的学生只会记住核心知识,能举一反三。

如何实现正则化?正则化是通过重新定义损失函数来实现的。新的损失函数由两部分组成:原始的预测损失和一个正则化项。
正则化通过给损失函数"加料",在原有的预测误差基础上,再添加一个基于模型参数计算得出的惩罚项。
原来的损失函数,只看考试成绩;正则化后的损失函数,看考试成绩 + 惩罚项(防止死记硬背)。

L1正则化和L2正则化是最主流的两种正则化技术,前者通过引入权重绝对值的约束来产生稀疏权重(许多权重为零),后者则通过权重平方和的惩罚来控制参数规模(保持权重值较小)。

L1正则化(Lasso): "断舍离大师"
L1正则化在损失函数L中添加L1正则项,即模型参数绝对值之和作为惩罚项
喜欢把不重要的权重直接变成0,这样倾向于产生稀疏权重矩阵,即部分特征权重为零,有助于特征选择。
def l1_regularization(model, lambda_l1):l1_loss = 0for param in model.parameters():l1_loss += torch.norm(param, p=1) # 绝对值之和return lambda_l1 * l1_loss# 训练时修改loss计算loss = criterion(outputs, labels) + l1_regularization(model, 0.001)
L2正则化(Ridge): "均衡发展者"
L2正则化则在损失函数L中添加L2正则项,即模型参数平方和作为惩罚项。
让所有权重都保持在合理范围内,这样倾向于使模型权重均匀分布,有助于防止模型过于复杂,减少过拟合。
def l2_regularization(model, lambda_l2):l2_reg = torch.tensor(0.0)for param in model.parameters():l2_reg += torch.norm(param, p=2) # 平方和return lambda_l2 * l2_reg# 在训练循环中手动添加loss = criterion(outputs, labels) + l2_regularization(model, 0.001)
二、归一化(Normalization)
归一化(Normalization)是什么?
归一化就像给所有数据穿上统一的校服,让它们在同一个"频道"上交流。
小明的身高:175cm,小红的体重:50kg,小李的年龄:20岁,直接比较毫无意义!归一化后,它们都变成了-1到1之间的数字,就能公平比较了。
这样当模型面对来自不同量纲的特征数据时,归一化能够将它们统一转换到相同的数值范围内,比如标准正态分布(均值0,标准差1)。通过这种统一化处理,让神经网络能够更均衡地学习各个特征的重要性。

归一化的过程是什么?
三步法把不同尺度的数据调整到相同标准
- 测量数据范围:找出最大值、最小值、平均值等
-
应用魔法公式:用数学公式把数据"压缩"到标准范围
-
获得标准化数据:所有数据都在同一个尺度上了

常用的归一化有哪些?
主要包括批量归一化(BN)、层归一化(LN)、实例归一化(IN)和组归一化(GN)

批量归一化(Batch Normalization, BN):"班级统一标准"
看这个班级,这一批学生的平均分和分数分布,把所有分数调整到统一标准(平均0,标准差1)。最适合:图像处理任务。
# 卷积网络标准配置nn.Sequential(nn.Conv2d(3, 64, 3),nn.BatchNorm2d(64), # 批量归一化nn.ReLU())
层归一化(Layer Normalization, LN):"个人标准化"
不看其他学生,只看自己各科成绩,把自己的各科成绩标准化。最适合: 文本处理、Transformer模型。
# Transformer Block结构class TransformerLayer(nn.Module):def __init__(self):super().__init__()self.ln1 = nn.LayerNorm(512)self.ln2 = nn.LayerNorm(512)
实例归一化(Instance Normalization, IN):"独立个体标准"
每个样本完全独立处理,适合每个样本都有独特风格的任务。最适合: 图像风格迁移、艺术生成。
# 风格迁移网络片段style_transfer = nn.Sequential(nn.Conv2d(3, 128, 3),nn.InstanceNorm2d(128), # 单样本单通道归一化nn.AdaptiveAvgPool2d(1))
组归一化(Group Normalization, GN):“小组标准化"
把特征分成几个小组,每个小组内部标准化。最适合: 医学图像分割、小batch训练。
# 医学图像分割网络nn.Sequential(nn.Conv2d(64, 128, 3),nn.GroupNorm(4, 128), # 128通道分为4组nn.LeakyReLU())
大模型&AI产品经理如何学习
求大家的点赞和收藏,我花2万买的大模型学习资料免费共享给你们,来看看有哪些东西。
这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】
1.学习路线图

第一阶段: 从大模型系统设计入手,讲解大模型的主要方法;
第二阶段: 在通过大模型提示词工程从Prompts角度入手更好发挥模型的作用;
第三阶段: 大模型平台应用开发借助阿里云PAI平台构建电商领域虚拟试衣系统;
第四阶段: 大模型知识库应用开发以LangChain框架为例,构建物流行业咨询智能问答系统;
第五阶段: 大模型微调开发借助以大健康、新零售、新媒体领域构建适合当前领域大模型;
第六阶段: 以SD多模态大模型为主,搭建了文生图小程序案例;
第七阶段: 以大模型平台应用与开发为主,通过星火大模型,文心大模型等成熟大模型构建大模型行业应用。
2.视频教程
网上虽然也有很多的学习资源,但基本上都残缺不全的,这是我自己整理的大模型视频教程,上面路线图的每一个知识点,我都有配套的视频讲解。


(都打包成一块的了,不能一一展开,总共300多集)
因篇幅有限,仅展示部分资料,需要点击下方图片前往获取
3.技术文档和电子书
这里主要整理了大模型相关PDF书籍、行业报告、文档,有几百本,都是目前行业最新的。

4.LLM面试题和面经合集
这里主要整理了行业目前最新的大模型面试题和各种大厂offer面经合集。

👉学会后的收获:👈
• 基于大模型全栈工程实现(前端、后端、产品经理、设计、数据分析等),通过这门课可获得不同能力;
• 能够利用大模型解决相关实际项目需求: 大数据时代,越来越多的企业和机构需要处理海量数据,利用大模型技术可以更好地处理这些数据,提高数据分析和决策的准确性。因此,掌握大模型应用开发技能,可以让程序员更好地应对实际项目需求;
• 基于大模型和企业数据AI应用开发,实现大模型理论、掌握GPU算力、硬件、LangChain开发框架和项目实战技能, 学会Fine-tuning垂直训练大模型(数据准备、数据蒸馏、大模型部署)一站式掌握;
• 能够完成时下热门大模型垂直领域模型训练能力,提高程序员的编码能力: 大模型应用开发需要掌握机器学习算法、深度学习框架等技术,这些技术的掌握可以提高程序员的编码能力和分析能力,让程序员更加熟练地编写高质量的代码。

1.AI大模型学习路线图
2.100套AI大模型商业化落地方案
3.100集大模型视频教程
4.200本大模型PDF书籍
5.LLM面试题合集
6.AI产品经理资源合集***
👉获取方式:
😝有需要的小伙伴,可以保存图片到wx扫描二v码免费领取【保证100%免费】🆓

火山引擎开发者社区是火山引擎打造的AI技术生态平台,聚焦Agent与大模型开发,提供豆包系列模型(图像/视频/视觉)、智能分析与会话工具,并配套评测集、动手实验室及行业案例库。社区通过技术沙龙、挑战赛等活动促进开发者成长,新用户可领50万Tokens权益,助力构建智能应用。
更多推荐
所有评论(0)