AI学习记录 - L2正则化详细解释(权重衰减)

news/2024/10/7 16:35:07/

大白话:

通过让反向传播的损失值变得比原来更大,并且加入的损失值关联到神经网络全部权重的大小,当出现权重的平方变大的时候,也就是网络权重往更加负或者更加正的方向走的时候,损失就越大,从而控制极大正或者极大负的情况出现。

原因:

在神经网络训练的时候,当网络结构和数量足够牛皮,网络有能力单独拟合那些躁点数据,为了拟合这些躁点数据,权重可能会变得很大,或者变得很小,因为我们没有制定任何的限制,可能会出现99,-100这种较大权重出现,因为可能拟合了奇怪的数据。一般情况下我看到权重大概都在-5到5之间。

机制:

在原有的损失函数的前提下,加多一个值(也可以理解为加多一个计算公式),使得损失值扩大。
在这里插入图片描述
我们知道一个定理:损失值越大,惩罚越大。

  • 大的权重会导致更大的平方和,因此在正则化项中贡献更多的惩罚。小的权重虽然也会被惩罚,但相对贡献较小。
  • 权重衰减的目的是鼓励模型学习到的权重保持较小的值,降低模型的复杂度,从而提升模型的泛化能力。

举个例子

weights = [[0.5, -0.2, 0.1],[0.3, 0.8, -0.5],[-0.7, 0.4, 0.6]]

这个权重矩阵有 3 行 3 列,共有 9 个权重值。我们将计算这些权重的平方和以及基于这个平方和的权重衰减。

首先,我们计算权重矩阵中所有权重的平方和:
在这里插入图片描述

逐项计算:
在这里插入图片描述

将它们加在一起:
在这里插入图片描述

设定权重衰减系数
假设我们设定权重衰减系数 λ=0.01。
Regularization Term=λ×Weight Sum of Squares
代入数值:
Regularization Term=0.01×2.09=0.0209

最终损失计算
假设我们有一个损失
L(θ)(例如,交叉熵损失)为 0.5。结合正则化项,最终的损失函数为:
在这里插入图片描述
总结
在这个例子中:

我们计算了权重的平方和为 2.09。
设置的权重衰减系数为 0.01。
计算得出的正则化项为 0.0209。
最终损失(包括正则化)为 0.5209。

结论

尽管小权重也会受到惩罚,但相对来说,较大的权重会对总损失产生更大的影响,导致优化算法优先处理它们。
权重衰减的目的是通过综合考虑所有权重的影响,促进更简单、泛化能力更强的模型。
在实际应用中,调整正则化强度(如 λ 值)可以帮助找到在避免过拟合和确保模型表现之间的平衡。


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

相关文章

论文阅读:InternVL v1.5| How Far Are We to GPT-4V? 通过开源模型缩小与商业多模式模型的差距

论文地址:https://arxiv.org/abs/2404.16821 Demo: https://internvl.opengvlab.com Model:https://huggingface.co/OpenGVLab/InternVL-Chat-V1-5 公开时间:2024年4月29日 InternVL1.5,是一个开源的多模态大型语言模…

【Text2SQL】当前在BIRD基准测试集上取得SOTA的论文

论文《The Death of Schema Linking? Text-to-SQL in the Age of Well-Reasoned Language Models》探讨了在大型语言模型(LLMs)时代,文本到SQL(Text-to-SQL)转换中模式链接(Schema Linking)的作…

WPF 设计属性 设计页面时实时显示 页面涉及集合时不显示处理 设计页面时显示集合样式 显示ItemSource TabControl等集合样式

WPF 设计属性 设计页面时实时显示 页面涉及集合时不显示处理 设计页面时显示集合样式 显示ItemSource TabControl等集合样式 1、设计显示属性 1、设计时显示属性依赖以下属性 xmlns:d"http://schemas.microsoft.com/expression/blend/2008"2、在运行时不显示设计属性…

第 21 章 一条记录的多幅面孔——事务的隔离级别与 MVCC

21.1 事前准备 CREATE TABLE hero ( number INT, NAME VARCHAR ( 100 ), country VARCHAR ( 100 ), PRIMARY KEY ( number ) ) ENGINE INNODB CHARSET utf8;INSERT INTO hero VALUES ( 1, 刘备, 蜀 );21.2 事务隔离级别 在保证事务隔离性的前提下,使用不同的隔…

使用Qt实现实时数据动态绘制的折线图示例

基于Qt的 QChartView 和定时器来动态绘制折线图。它通过动画的方式逐步将数据点添加到图表上,并动态更新坐标轴的范围,提供了一个可以实时更新数据的折线图应用。以下是对代码的详细介绍及其功能解析: 代码概述 该程序使用Qt的 QChartView…

CSS实现服务卡片

CSS实现服务卡片 效果展示 CSS 知识点 回顾整体CSS知识点灵活运用CSS知识点 页面整体布局 <div class"container"><div class"card"><div class"box"><div class"icon"><ion-icon name"color-pal…

【PostgreSQL】提高篇——PostgreSQL 对 JSON 和数组的支持及其在数据建模中的应用

数据的多样性和复杂性日益增加&#xff0c;传统的关系型数据库结构往往难以灵活应对这些变化。PostgreSQL 作为一个强大的开源关系数据库管理系统&#xff0c;提供了对 JSON 和数组数据类型的原生支持&#xff0c;使得开发者能够更灵活地进行数据建模和存储。 一、背景与重要性…

银河麒麟,apt 安装软件报错640Unknown Status

今天把银行麒麟的机器恢复出厂了&#xff0c;然后apt install 安装极其不稳定&#xff0c;故障现象如下图所示&#xff1a; 错误提示里面有&#xff1a; 640 Unknown Status [IP: 106.116.184.122 80] E: 无法下载 http://archive.kylinos.cn/kylin/KYLIN-ALL/pool/universe/f…