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

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

微积分和概率与统计由此进:基础数学:微积分和概率与统计-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.核心公式总结

梯度下降:

动量法:

拉格朗日函数:

相关推荐
AIGC方案1 小时前
deepseek热度已过?
人工智能·大模型
88号技师1 小时前
模糊斜率熵Fuzzy Slope entropy+状态分类识别!2024年11月新作登上IEEE Trans顶刊
人工智能·机器学习·分类·数据挖掘·信号处理·故障诊断·信息熵
死磕代码程序媛1 小时前
谷歌25年春季新课:15小时速成机器学习
人工智能·机器学习
liuluyang5301 小时前
C语言C11支持的结构体嵌套的用法
c语言·开发语言·算法·编译·c11
有Li2 小时前
弥合多层次差距:用于超声心动图中基于文本引导的标签高效分割的双向循环框架|文献速递-深度学习医疗AI最新文献
人工智能
橙色小博2 小时前
Transformer模型解析与实例:搭建一个自己的预测语言模型
人工智能·深度学习·神经网络·机器学习·transformer
意.远2 小时前
PyTorch实现二维卷积与边缘检测:从原理到实战
人工智能·pytorch·python·深度学习·神经网络·计算机视觉
勤劳的进取家2 小时前
贪心算法之最小生成树问题
数据结构·python·算法·贪心算法·排序算法·动态规划
牛奶咖啡.8542 小时前
第十四届蓝桥杯大赛软件赛省赛C/C++ 大学 A 组真题
c语言·数据结构·c++·算法·蓝桥杯
电报号dapp1192 小时前
2025年智能合约玩法创新白皮书:九大核心模块与收益模型重构Web3经济范式
人工智能·重构·web3·去中心化·区块链·智能合约