基础数学:线性代数与优化理论

本篇文章简单带您复习线性代数与优化理论(主要是我发表的文章中涉及过的或相关联的)

微积分和概率与统计由此进:基础数学:微积分和概率与统计-CSDN博客

二、线性代数

1.矩阵运算

(1) 基础操作与几何意义

  • 矩阵乘法:

定义:若 ,则乘积 的元素为:

几何解释:矩阵乘法表示线性变换的组合。例如,旋转矩阵 和平移矩阵 的组合变换为

在注意力机制中,Query矩阵 与Key矩阵 相乘,计算相似度得分(即注意力权重)

示例:设 ,则:

  • 矩阵转置:

定义:

性质:

对称矩阵满足

  • 逆矩阵:

定义:若存在矩阵 ,使得 ,则 可逆

存在条件:

(2) 矩阵分解

  • 奇异值分解(SVD):

定义:任意矩阵 可分解为:

其中 是正交矩阵, 是对角矩阵(奇异值

几何意义:SVD将矩阵分解为旋转-缩放-旋转操作,奇异值表示缩放因子

应用:

降维:保留前 个奇异值,近似矩阵

量化压缩:通过低秩近似减少参数存储(如LLM.int8()中的权重压缩)

  • QR分解:

定义:将矩阵 分解为正交矩阵 和上三角矩阵 ,即

数值稳定性:QR分解常用于求解线性方程组 ,避免直接求逆的数值不稳定问题

  • 特征值分解(EVD):

定义:对方阵 ,若存在标量 和非零向量 ,满足 ,则 为特征值, 为特征向量

应用:

主成分分析(PCA):通过协方差矩阵的特征值分解降维

矩阵幂的计算:

(3) 张量与高阶运算

  • 张量的定义:

张量是多维数组的泛化,阶数(维度)成为张量的秩。例如:

标量:0阶张量

向量:1阶张量

矩阵:2阶张量

三维数组:3阶张量

  • Einstein求和约定(einsum):

规则:通过下标标记维度,自动求和重复索引

示例:计算矩阵乘法 可表示为

  • 张量压缩与分块:

Tucker分解:高阶SVD,将张量分解为核心张量与多个因子矩阵的乘积

应用:减少 Transformer 模型中的计算量(如将大矩阵分块适配GPU内存)

2.数值表示

(1) 浮点数与定点数

  • IEEE 754浮点数标准:

单精度(float32):1位符号位,8位指数位,23位尾数位

半精度(float16):1位符号位,5位指数位,10位尾数位

动态范围:浮点数的表示范围由指数位决定,例如float16的范围约为

  • 定点数表示:

定义:固定小数位数,例如8位整数部分和8位小数部分

量化公式:将浮点数 映射到整数

其中 是缩放因子

反量化:

(2) 稀疏性与压缩存储

  • 稀疏矩阵存储格式:

CSR(Compressed Sparse Row):存储非零元素的值、列索引和行偏移指针

示例:矩阵 的CSR表示为:

values = [5, 8, 3]

col_indices = [0, 1, 2]

row_ptr = [0, 1, 2, 3]

CSC(Compressed Sparse Column):类似CSR,但按列压缩存储

  • 块稀疏:

定义:将稀疏矩阵划分为固定大小的块,仅存储非零块

优势:提升GPU内存访问效率(连续内存读取)、加速矩阵乘法

3.应用场景

(1) 注意力机制中的矩阵运算:从理论到实践:Pytorch实现注意力机制到Triton优化-CSDN博客

(2) absmax量化步骤:从理论到实践:absmax、zeropoint和LLM.int8()在gpt-2的应用-CSDN博客

(3) Triton优化中的分块策略:从理论到实践:Pytorch实现注意力机制到Triton优化-CSDN博客

4.核心公式总结

矩阵乘法:

奇异值分解(SVD):

QR分解:

特征值分解(EVD):满足 ​,则 ​ 为特征值,​ 为特征向量

矩阵幂计算:

注意力权重:

三、优化理论

1.数值优化

(1) 梯度下降

  • 目标: 最小化损失函数 ,参数更新规则为:

其中 ​ 是学习率,​ 是梯度

  • **几何解释:**梯度方向是函数上升最快的方向,负梯度方向是函数下降最快的方向
  • 示例: 对二次函数 ,梯度为 ,更新规则为
  • 动量法: 引入动量项 减少震荡,加速在平坦区域的收敛:

(2) 随机梯度下降(SGD)

  • 小批量更新: 每次从数据集中随机采样一个小批量 ,计算梯度:

  • 方差分析: 小批量梯度是无偏估计,但方差为

权衡:批量越大,方差越小,但计算成本越高

(3) 约束优化

  • 拉格朗日乘数法:

目标:最小化 ​ 满足约束

构造拉格朗日函数:

通过求解 找到极值

  • 示例(量化约束):

量化要求权重 限制在整数范围

通过投影梯度下降迭代:

1.更新参数:

2.投影到约束集:

(4) 凸优化 vs. 非凸优化

  • 凸函数定义: 对任意 ,满足:

性质:凸函数的局部最小值即全局最小值

  • 非凸优化挑战:

存在多个局部极小值(如神经网络损失函数)

依赖初始化策略(如Xavier初始化)和优化器设计(如Adam)

2.应用场景

(1) 注意力机制中的优化问题

  • 计算瓶颈:标准注意力计算 需要 时间和空间
  • FlashAttention优化:

分块计算:将 分块,逐块计算并累加结果。有 从内存读写降至

(2) 量化中的约束优化

  • 对称量化: 约束缩放因子 和零点

闭式解:

  • **非对称量化:**允许零点偏移,适应非对称分布:

(3) 模型训练中的自适应优化器

  • Adam优化器:结合动力与自适应学习率:

作用:自动调整参数的学习率,适应不同方向的梯度变化

3.核心公式总结

梯度下降:

动量法:

拉格朗日函数:

相关推荐
励志要当大牛的小白菜23 分钟前
ART配对软件使用
开发语言·c++·qt·算法
qq_5139704427 分钟前
力扣 hot100 Day56
算法·leetcode
白-胖-子1 小时前
深入剖析大模型在文本生成式 AI 产品架构中的核心地位
人工智能·架构
PAK向日葵1 小时前
【算法导论】如何攻克一道Hard难度的LeetCode题?以「寻找两个正序数组的中位数」为例
c++·算法·面试
想要成为计算机高手2 小时前
11. isaacsim4.2教程-Transform 树与Odometry
人工智能·机器人·自动驾驶·ros·rviz·isaac sim·仿真环境
NeoFii3 小时前
Day 22: 复习
机器学习
静心问道3 小时前
InstructBLIP:通过指令微调迈向通用视觉-语言模型
人工智能·多模态·ai技术应用
宇称不守恒4.03 小时前
2025暑期—06神经网络-常见网络2
网络·人工智能·神经网络
爱喝矿泉水的猛男3 小时前
非定长滑动窗口(持续更新)
算法·leetcode·职场和发展
小楓12014 小时前
醫護行業在未來會被AI淘汰嗎?
人工智能·醫療·護理·職業