资讯动态

[深度学习]量化研究_ML_Lesson1

发布时间:2026/8/24 12:32:58 来源:尧图企业网站定制
一、前言线性代数与微积分是深度学习的两大数学基石网络运算、梯度下降、参数更新全部依托于此。本文结合理论概念 PyTorch 代码实操系统梳理向量、矩阵、范数、矩阵运算、求导、梯度、小批量梯度下降等核心内容兼顾理论理解与工程落地适合深度学习入门、算法进阶学习者使用。二、线性代数核心概念2.1 向量基础2.1.1 向量加法向量加法满足三角形法则可类比已知三角形两条边带方向求解第三条边运算时大小与方向同步参与计算。2.1.2 单位向量与施密特正交化单位向量对原始向量做缩放使向量模长等于 1仅保留方向信息。施密特正交化将一组普通向量转换为两两正交的向量组正交化后通常会做向量单位化保证所有正交向量长度统一。2.1.3 范数与正交矩阵F 范数弗罗贝尼乌斯范数针对矩阵设计计算方式为矩阵所有元素平方和后开平方根逻辑和向量模长计算保持一致是衡量矩阵 “长度 / 大小” 的常用指标。 公式简写∣∣A∣∣F​∑i​∑j​aij2​​正交矩阵核心性质矩阵内任意两行 / 两列向量内积为 0矩阵与其转置矩阵的乘积为单位矩阵。特殊拓展置换矩阵是一类特殊的正交矩阵。图 1向量加法三角形法则示意图三、PyTorch 向量与矩阵基础实操下文代码基于 PyTorch 实现涵盖张量创建、索引、维度、变形、四则运算等基础操作。3.1 标量单元素张量运算标量对应数学中的单个数值是张量的最小单元支持常规四则运算、幂指运算。import torch # 创建标量张量 x torch.tensor([3.0]) y torch.tensor([2.5]) # 四则运算 print(x y) print(x - y) print(x * y) print(x / y) # 幂指运算 print(x ** y)3.2 一维向量一维张量# 生成 0~3 的一维向量 x torch.arange(4) # 按索引访问元素 print(x[3]) # 获取向量长度 print(len(x)) # 获取张量形状/维度 print(x.shape)3.3 二维矩阵二维张量# 生成 0~19 数据变形为 5行4列 矩阵 stOriginal_Mat torch.arange(20).reshape(5, 4) # 矩阵转置 mat_T stOriginal_Mat.T # 判断是否为对称矩阵二次型前置条件 print(stOriginal_Mat.T stOriginal_Mat) # 手动创建矩阵 stDirectCreate_Mat torch.tensor([[1, 3], [2, 4], [3, 5]])3.4 三维张量深度学习中常用于存储批次图像、时序数据格式一般为(批次, 通道, 特征)。# 生成 0~23 数据变形为 2×3×4 三维数组 stOriginal_Mat3D torch.arange(24).reshape(2, 3, 4)3.5 矩阵拷贝与数据类型深度学习主流使用32 位浮点数float32进行运算兼顾精度与算力。# 创建 float32 类型矩阵 stSender_Mat torch.arange(20, dtypetorch.float32).reshape(5, 4) # 张量深拷贝等价于 Numpy 的 copy() stReciver_Mat stSender_Mat.clone()图 2标量 / 向量 / 矩阵维度与求导对应关系图四、矩阵常用运算PyTorch 实现4.1 哈达玛积逐元素相乘两个同维度矩阵对应位置元素相乘区别于数学矩阵乘法# 逐元素相乘 hadamard_res stSender_Mat * stReciver_Mat4.2 矩阵求和、均值按维度降维支持全局求和、指定维度求和keepdimsTrue可保留原有维度避免维度塌陷。# 创建 2×5×4 三维矩阵 stExperiment_Mat torch.arange(20 * 2).reshape(2, 5, 4) print(stExperiment_Mat.shape) # 1. 全局所有元素求和 total_sum stExperiment_Mat.sum() # 2. 按第0维求和维度压缩 axis0_sum stExperiment_Mat.sum(axis0) print(axis0_sum, axis0_sum.shape) # 3. 按维度求和保留原始维度 keepdim_sum stExperiment_Mat.sum(axis0, keepdimsTrue) # 4. 全局均值均值 总和 / 元素总个数 total_mean stExperiment_Mat.mean() element_num stExperiment_Mat.numel() print(total_mean stExperiment_Mat.sum() / element_num) # 5. 按维度求均值 axis0_mean stExperiment_Mat.mean(axis0) print(axis0_mean stExperiment_Mat.sum(axis0) / stExperiment_Mat.shape[0])知识点按指定维度求和 / 求均值本质是降维操作keepdimsTrue在网络层拼接、维度对齐场景中高频使用。图 3矩阵维度变换示意图4.3 向量点积、矩阵 - 向量乘法# 向量点积 vec1 torch.tensor([1.0, 2.0, 3.0]) vec2 torch.tensor([4.0, 5.0, 6.0]) dot_res torch.dot(vec1, vec2) # 矩阵 × 向量齐次线性方程组 Ax 运算 mat_A torch.tensor([[1, 2], [3, 4]], dtypetorch.float32) vec_x torch.tensor([5, 6], dtypetorch.float32) mv_res torch.mv(mat_A, vec_x)4.4 求解矩阵 F 范数使用torch.norm()直接计算矩阵 / 向量的 F 范数mat torch.arange(9, dtypetorch.float32).reshape(3, 3) f_norm torch.norm(mat) # 计算F范数 print(f_norm)五、微积分基础导数、偏导、梯度深度学习核心5.1 核心概念深度学习的参数更新完全依赖梯度从标量、向量到矩阵求导规则逐层拓展导数标量对标量的变化率。偏导数多元函数中固定其他变量仅对单一变量求导。梯度函数对向量 / 矩阵所有分量的偏导数集合指示函数下降最快的方向。亚导数针对 ReLU 等不可导激活函数设计保证梯度依然可正常回传。图 4矩阵按维度求和示意图5.2 标量 / 向量 / 矩阵求导维度规则深度学习求导会严格遵循维度匹配原则下图为维度对应关系配图参考标量 x→ 标量 y求导结果仍为标量向量 x(n,1)→ 标量 y求导结果为同维度向量矩阵 X(n,k)→ 标量 y求导结果为同维度矩阵高阶张量求导维度跟随原始输入保证运算合法。六、优化算法小批量随机梯度下降6.1 算法定位小批量随机梯度下降Mini-Batch SGD是目前深度学习框架默认优化算法兼顾训练速度、泛化能力与硬件算力。图 5F 范数计算原理图6.2 两大核心超参数批量大小batch size单次送入模型训练的样本数量影响训练稳定性与算力占用。学习率learning rate控制参数每次更新的步长过大易震荡不收敛过小训练速度极慢。6.3 应用场景该算法广泛用于拟合带噪声的线性模型、深度神经网络是模型迭代更新的核心逻辑。图 6小批量梯度下降流程简图总结线性代数向量、矩阵、范数、正交矩阵是张量运算的基础PyTorch 张量操作完全对标数学定义熟练掌握reshape、sum、clone、矩阵乘法等接口是深度学习编码必备能力。矩阵运算逐元素积、矩阵向量乘法、按维度聚合求和 / 均值是网络前向传播的核心运算。微积分梯度是反向传播、参数更新的核心理解不同维度数据的求导规则才能读懂梯度回传逻辑。优化算法小批量随机梯度下降为工业界通用方案批量大小和学习率是调参核心超参数。数学理论 代码实操结合才能真正吃透深度学习底层逻辑为网络搭建、调优、排错打下基础。

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价