深度学习篇---深度学习中的范数


文章目录


前言

本文介绍了一系列范数的定义、计算、使用。比如L1\L2\L∞\Frobenius范数(矩阵L2范数),用于正则化(防止过拟合)、损失函数。


一、向量范数

1.L0范数

1.1定义

向量中非零元素的数量

1.2计算式

1.3特点

  1. 非凸计算困难(NP难问题)。
  2. 用于稀疏性约束 ,但实际常用L1范数替代

1.4应用场景

1.4.1特征选择

特征选择(稀疏特征提取)。

1.4.2压缩感知

压缩感知(信号稀疏表示)。

2.L1范数(曼哈顿范数)

2.1定义

定义:向量元素绝对值之和

2.2计算式

2.3特点

  1. 凸函数,可优化性强
  2. 诱导稀疏性:优化过程中倾向于将部分参数置零
  3. 几何解释:菱形等高线,在坐标轴处有"尖角"(稀疏性来源)。

2.4应用场景

2.4.1L1正则化

L1正则化(Lasso):用于线性回归、神经网络权重稀疏化

2.4.2鲁棒回归

鲁棒回归(如最小绝对偏差)。

3.L2范数(欧几里得范数)

3.1定义

定义:向量元素平方和的平方根。

3.2特点

  1. 严格凸,优化稳定。
  2. 抑制大参数值,防止过拟合。
  3. 几何解释:圆形等高线,各方向平滑下降。

3.3应用场景

  1. L2正则化(岭回归、权重衰减):防止模型过拟合。
  2. 损失函数(如均方误差损失)。

4.L∞范数(最大范数)

4.1定义

定义:向量元素绝对值的最大值

4.2计算式

4.3特点

  1. 关注最大幅值的元素。
  2. 对抗样本 生成中用于约束扰动大小

4.4应用场景

  1. 对抗训练(限制扰动的最大幅度)。
  2. 梯度裁剪(防止梯度爆炸)。

5.Lp范数(广义范数)

5.1定义

定义:向量元素绝对值的p次方和的1/p次幂。

5.2计算式

5.3特点

p=1时为L1范数 ,p=2时为L2范数 ,p→∞时趋近L∞范数

不同p值对应不同的稀疏性和平滑性权衡

二、矩阵范数

1. Frobenius范数(矩阵L2范数)

1.1定义

定义:矩阵元素平方和的平方根。

1.2特点

  1. 将矩阵视为向量后计算L2范数
  2. 衡量矩阵的"总能量"。

1.3应用场景

  1. 权重矩阵的正则化 (如全连接层参数约束)。
  2. 矩阵分解(如PCA、SVD)。

2. 核范数(迹范数)

2.1定义

定义:矩阵奇异值之和。

2.2计算式

2.3特点

  1. 反映矩阵的低秩性质。
  2. 用于低秩矩阵恢复

2.4应用场景

  1. 推荐系统(矩阵补全,如Netflix问题)。
  2. 鲁棒PCA(分离低秩矩阵与稀疏噪声)。

3. 谱范数(最大奇异值范数)

3.1定义

定义:矩阵的最大奇异值

3.2计算式

3.3特点

  1. 衡量矩阵对向量的最大拉伸程度
  2. Lipschitz连续性相关。

3.4应用场景

  1. 生成对抗网络(GAN):约束判别器的Lipschitz常数。
  2. 谱归一化(稳定训练过程)。

三、范数在深度学习中的核心应用

1. 正则化(防止过拟合)

1.1L1正则化

L1正则化:通过稀疏化权重减少模型复杂度(如Lasso回归)。

1.2L2正则化

L2正则化:通过限制权重幅度防止过拟合(如岭回归、神经网络权重衰减)。

2. 损失函数设计

2.1L1损失

L1损失(MAE):对异常值鲁棒,用于回归任务

2.2L2损失

L2损失(MSE):对异常值敏感,但优化更稳定

3. 权重约束与优化

3.1梯度裁剪

梯度裁剪:使用L2或L∞范数限制梯度大小,防止梯度爆炸。

3.2谱归一化

谱归一化:通过谱范数约束网络层的Lipschitz常数(如WGAN)。

4. 模型压缩与稀疏化

4.1L1正则化

L1正则化:生成稀疏权重矩阵,便于模型压缩(如剪枝)。

4.2结构化范数

结构化范数(如Group Lasso):约束特定参数组的稀疏性。

5. 对抗防御

5.1L∞范数

L∞约束:限制对抗扰动的大小(如对抗训练中的PGD攻击)。

四、不同范数的对比与选择

范数类型 稀疏性 计算复杂度 典型应用

L0 最强 NP难 理论分析,实际中少用

L1 强 低 特征选择、稀疏模型

L2 无 低 防止过拟合、稳定优化

L∞ 无 低 对抗训练、梯度裁剪

Frobenius 无 中 矩阵正则化、分解

核范数 低秩性 高 推荐系统、低秩恢复

五、总结

L1/L2范数

L1/L2范数:基础正则化工具,分别诱导稀疏性和平滑性。

矩阵范数

矩阵范数:处理高维数据、低秩建模及稳定训练。

范数选择原则

  1. 根据任务需求(稀疏性、低秩性、鲁棒性)。
  2. 考虑计算效率和优化难度
  3. 结合模型结构(如卷积层常用Frobenius范数,全连接层用L2)。

理解不同范数的特性及其几何意义 ,能够帮助设计更高效的模型架构、正则化策略和优化方法,从而提升深度学习模型的性能和泛化能力。


相关推荐
cooldream200924 分钟前
华为云Flexus+DeepSeek征文|基于华为云Flexus X和DeepSeek-R1打造个人知识库问答系统
人工智能·华为云·dify
老胖闲聊3 小时前
Python Copilot【代码辅助工具】 简介
开发语言·python·copilot
Blossom.1183 小时前
使用Python和Scikit-Learn实现机器学习模型调优
开发语言·人工智能·python·深度学习·目标检测·机器学习·scikit-learn
曹勖之4 小时前
基于ROS2,撰写python脚本,根据给定的舵-桨动力学模型实现动力学更新
开发语言·python·机器人·ros2
scdifsn5 小时前
动手学深度学习12.7. 参数服务器-笔记&练习(PyTorch)
pytorch·笔记·深度学习·分布式计算·数据并行·参数服务器
DFminer5 小时前
【LLM】fast-api 流式生成测试
人工智能·机器人
lyaihao5 小时前
使用python实现奔跑的线条效果
python·绘图
郄堃Deep Traffic5 小时前
机器学习+城市规划第十四期:利用半参数地理加权回归来实现区域带宽不同的规划任务
人工智能·机器学习·回归·城市规划
ai大师5 小时前
(附代码及图示)Multi-Query 多查询策略详解
python·langchain·中转api·apikey·中转apikey·免费apikey·claude4
海盗儿6 小时前
Attention Is All You Need (Transformer) 以及Transformer pytorch实现
pytorch·深度学习·transformer