201_深度学习的数学底座:PyTorch 线性代数与范数实战

在深度学习中,数据以张量(Tensor)的形式流动,而模型参数的更新则依赖于矩阵运算。掌握 PyTorch 中的线性代数操作,不仅能帮你理解算法原理,更能让你写出高性能的计算代码。

1. 核心数学对象:从标量到张量

笔记中详细介绍了四种基础数学对象的定义与操作:

  • 标量 (Scalar):只有一个元素的张量。
  • 向量 (Vector):一阶张量,通常表示特征。
  • 矩阵 (Matrix):二阶张量,用于表示权重或数据集。
  • 张量 (Tensor):更一般的 N 维数组。

2. 核心代码:特征值与特征向量

在线性变换中,特征值和特征向量揭示了矩阵变换的方向和缩放比例,这在主成分分析(PCA)等降维算法中至关重要。

Python

复制代码
import torch

# 定义一个方阵
A = torch.tensor([[1.0, 2.0], [2.0, 1.0]])

# 求解特征值 (eigenvalues) 和 特征向量 (eigenvectors)
# 在新版 PyTorch 中建议使用 torch.linalg.eig
eigenvalues, eigenvectors = torch.linalg.eig(A)

print(f"特征值: {eigenvalues}")
print(f"特征向量: {eigenvectors}")

3. 范数(Norm):衡量"大小"的尺度

在深度学习的**正则化(Regularization)**中,我们经常听到 L1 范数和 L2 范数。它们本质上是衡量向量或矩阵"长度"或"大小"的函数。

① L1 范数

  • 定义:向量元素的绝对值之和。
  • 用途:倾向于产生稀疏解(让不重要的权重变为 0)。
  • 代码torch.abs(u).sum()

② L2 范数

  • 定义:向量元素平方和的平方根(欧几里得距离)。
  • 用途:最常用的权值衰减方式,防止过拟合。
  • 代码torch.norm(u)

③ 矩阵 F 范数 (Frobenius norm)

  • 定义:矩阵所有元素平方和的平方根。
  • 代码实现

Python

复制代码
# 将矩阵拉成向量求 L2 范数,即为 F 范数
X = torch.ones((4, 9))
f_norm = torch.norm(X) 
print(f"矩阵的 Frobenius 范数: {f_norm}") # 输出应为 6.0 (sqrt(36))

4. 常见的矩阵运算技巧

笔记中还涵盖了一些高频使用的矩阵函数:

  • 转置 (Transpose)A.T,交换行与列。
  • 对称矩阵 :如果 A == A.T,则 A 是对称矩阵。
  • 哈达玛积 (Hadamard Product)A * B,两个形状相同的矩阵对应元素相乘。
  • 点积 (Dot Product)torch.dot(x, y),两个向量的内积。
  • 矩阵-向量积torch.mv(A, x)
  • 矩阵-矩阵乘法torch.mm(A, B)

5. 总结:线性代数如何赋能深度学习?

分析该文件后,我们可以发现线性代数在深度学习中的具体应用点:

  1. 参数存储:权重 W 和偏置 b 全部存储在矩阵和向量中。
  2. 损失控制 :通过计算权重的 范数 并将其加入损失函数,实现模型正则化。
  3. 降维与压缩 :利用 特征值分解 或 SVD 压缩模型参数,减少计算量。

💡 学习小结

不要被复杂的公式吓倒,在 PyTorch 中,这些复杂的数学变换都被浓缩成了简单的函数。理解了范数的物理意义和矩阵乘法的几何意义,你就掌握了深度学习算法的"灵魂"

相关推荐
LaughingZhu1 小时前
Product Hunt 每日热榜 | 2026-08-01
人工智能·深度学习·神经网络·搜索引擎·百度
卡梅德生物科技小能手3 小时前
卡梅德生物科普 TNFSF4(肿瘤坏死因子超家族成员 4)
经验分享·深度学习·生活
逻辑君4 小时前
ANNA 认知引擎 · Humanoid 机器人训练白皮书
人工智能·深度学习·机器学习·机器人
hans汉斯4 小时前
计算机科学与应用|改进MeanShift算法在智能监控视频中的应用研究
图像处理·人工智能·功能测试·深度学习·算法·音视频
余俊晖7 小时前
多模态大模型细粒度视觉理解:Vision-OPD在线策略自蒸馏技术方案概述
人工智能·深度学习·算法·多模态·opd
大伟先生8 小时前
OpenClaw 数据采集实战入门
人工智能·深度学习
skywalk81638 小时前
经过多次尝试,在kaggle 双T4训练Qwen2.5-0.5B的正确打开方式是:
人工智能·深度学习·机器学习·qwen2.5·段言
神神道呵he9 小时前
[深度学习] 大模型学习-RAG技术全景解析
人工智能·深度学习·学习
AI街潜水的八角9 小时前
菌落微生物检测和识别2:基于深度学习YOLO26神经网络实现菌落微生物检测和识别(含训练代码和数据集)
人工智能·深度学习·神经网络
独行侠影a9 小时前
Mojo:专为AI而生的“Python++”,能否真正挑战CUDA与C++的统治地位?
大数据·人工智能·深度学习