深度学习正则化技术之权重衰减法、暂退法(通俗易懂版)

news/2025/3/18 11:55:52/

一、影响模型泛性的因素有?什么是正则化技术?有什么用?

通常,影响模型泛化能力的因素有:

  • 可调节参数的个数:可调节的参数过少,会造成模型过于简单,欠拟合;过多,会造成成模型过于复杂,捕获过多训练数据中的噪声或特定细节,过拟合。
  • 参数采用的值:权重取值范围较大,较大的权重值会导致模型对输入数据更加敏感,从而可能捕获训练数据中的噪声或特定细节,这会使模型变得过于复杂,容易过拟合训练数据。
  • 训练数据量:数据越多,拟合数据模型就需要更加灵活,学习训练数据中的噪声和特定细节就变得更加困难。

深度学习中训练模型由于数据的不足和训练轮数的增加也可能导致模型学习到了训练数据中的噪声,模型的训练误差远远大于泛化误差,模型在训练数据上的表现远远好过在测试数据上的表现,这就是模型的过拟合。简单来说就是由于练习题库少,做题很多遍但是学习到的做题方法不够,却记住了练习题库,导致做练习题分数很高,但是做新的考试题目就表现得很差。

过拟合一般取决于训练数据量和模型的复杂程度这两个因素,模型的复杂程度高,所以就会记住训练数据中无关紧要的噪声部分,对预测测试数据产生不良影响。

缓解模型过拟合一般有三种方式:

  • 更多训练数据:成本高,耗时长。
  • 限制参数(特征)个数:过于生硬,参数过少模型容易过于简单,参数过多模型容易过于复杂。
  • 正则化技术:它是比限制参数个数更细粒度的调节模型复杂度的技术,一种避免模型过于复杂的技术,常见的正则化技术有权重衰减和暂退法

二、权重衰减——限制参数“放飞自我”

权重衰减又叫做L2正则化,通过权重向量的L2范数度量模型的权重向量(模型参数)的复杂度,将这种范数度量作为惩罚函数添加到损失函数中,避免模型在训练过程中权重参数变得过于复杂,造成过拟合。

2.1、简单类比

考试前复习老师要求不要扣偏题怪题(防止模型过度关注噪声),而是抓核心知识点(掌握主要特征),相当于老师划定了考试范围。就不会只学习带项圈的猫的特征(项圈即噪声),而遇到不戴项圈的猫时候就判定不是猫。

所谓的大道至简,越简洁的公式越具有普遍意义。比如:用大量小积木块可以完整拟合训练数据(比如特定形状的桥),但是换形状后就垮了;使用少量搭积木块虽然不能很完美的拟合训练数据,但是更容易搭出不同形状的桥,形状也更加稳定。

通过限制模型参数的大小,迫使模型学习更简单、更通用的规律,而不是死记硬背训练数据。它的本质是在拟合数据和保持简单性之间找到平衡

2.2、L2范数 VS L1范数

  • L2(权重衰减)惩罚的是参数的平方和,对权重的大向量施加了巨大的惩罚,不会让少数参数占据绝对的影响力,而是让各个参数都对模型做出一定的贡献,更好的保持了大量特征上的均匀分布权重,所以会让参数趋近小而分散。
  • L1惩罚的是绝对值之和,对于绝对值较小的参数,由于每次都会更靠近零,变成0后就不会再更新,所以L1会让部分参数归零,适合特征选择。

三、暂退法——神经元随机装傻

3.1、核心思路

在训练时,随机让一部分神经元“装傻”(暂时失效),迫使模型不能过度依赖某些特定的神经元,必须学会用多样化的路径做预测。

3.2、类比

如果你是一个老师,你想要教会全班回答一个问题。如果只提问学霸,那么其他同学就会躺平,仅仅依靠学霸来应付提问。上面类似传统的训练,要想打破这种模型参数之间的特定依赖,每一层都依赖前一层输出——即打破共适应性,提问的时候可以采用随机抽取同学回答问题,不再是固定学霸回答,其他同学必须学习回答问题,进而训练全班同学回答问题的能力——即使神经元随机失效,稀疏化神经元依赖,相当于训练了多个子模型,进而提高模型的泛化能力。

Dropout 是一种“以退为进”的策略,主要应用在神经网络的训练过程中的前向传播阶段,通过随机让神经元失效,强迫模型学习鲁棒的特征,避免过拟合。它的本质是给训练过程增加噪声,让模型在“不确定性”中变得更强大。

四、总结

  • Dropout:动态改变网络结构,训练多样性子模型。

  • 权重衰减:直接约束参数,从数学上控制模型复杂度。


http://www.ppmy.cn/news/1580063.html

相关文章

Github 2025-03-14 Java开源项目日报 Top10

根据Github Trendings的统计,今日(2025-03-14统计)共有10个项目上榜。根据开发语言中项目的数量,汇总情况如下: 开发语言项目数量Java项目10Apache Pulsar - 灵活的分布式消息平台 创建周期:2838 天开发语言:Java协议类型:Apache License 2.0Star数量:13693 个Fork数量:…

NET进行CAD二次开发之二

本文主要针对CAD 二次开发入门与实践:以 C# 为例_c# cad-CSDN博客的一些实践问题做一些补充。 一、DLL介绍 在 AutoCAD 中,accoremgd.dll、acdbmgd.dll 和 acmgd.dll 都是与.NET API 相关的动态链接库,它们在使用.NET 语言(如 C#、VB.NET)进行 AutoCAD 二次开发时起着关…

低压电工证考试常见题型有哪些?有哪些答题技巧

低压电工证考试分为理论考试和实操考试两部分。理论考试题型有选择题、判断题;实操考试则是考核实际操作能力。以下是常见题型及答题技巧: 理论考试 选择题:包括单选题和多选题。单选题要求从多个选项中选择一个正确答案,多选题…

C++设计模式-外观模式:从基本介绍,内部原理、应用场景、使用方法,常见问题和解决方案进行深度解析

一、基本介绍:复杂系统的"服务总台" 1.1 模式定义 外观模式(Facade Pattern)是一种结构型设计模式,它通过为多个复杂的子系统提供一个统一的高层接口,使这些子系统更易于使用。比如银行大堂的引导台&#…

C3P0数据库连接池技术详解及实战

1. 引言 在现代Java开发中,数据库访问是至关重要的一环。传统的JDBC连接方式由于频繁创建和销毁数据库连接,导致性能低下,资源占用过多。为了解决这一问题,数据库连接池(Connection Pool)技术应运而生。 C…

深度学习-yolo实战项目【分类、目标检测、实例分割】?如何创建自己的数据集?如何对数据进行标注?没有GPU怎么办呢?

一、本地环境配置 (1)本地创建虚拟环境 (2)下载项目到本地 (3)安装依赖 (4)测试一下 二、电脑没有GPU训练不了怎么办?【不用本地环境】 (1&#xff0…

Spring、Spring Boot、Spring Cloud 的区别与联系

1. Spring 框架 定位:轻量级的企业级应用开发框架,核心是 IoC(控制反转) 和 AOP(面向切面编程)。 核心功能: 依赖注入(DI):通过 Autowired、Component 等注解…

爬虫案例八js逆向爬取网易音乐

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、js逆向的前期准备二、网站分析三、代码 前言 提示:这里可以添加本文要记录的大概内容: 爬取网易音乐 提示:以下是本篇…