当前位置: 首页 > article >正文

深度学习标量、向量、矩阵与张量(三)

1. 定位导航线性代数是深度学习最核心的数学工具——没有之一。神经网络的前向传播本质上就是矩阵乘法加非线性激活反向传播本质上就是链式法则在矩阵/向量上的应用PCA、SVD、特征分解等工具贯穿从数据预处理到模型分析的全过程。本篇是最基础的一篇建立符号体系和直觉。如果你已经熟悉线性代数可以快速扫过符号约定后跳到下一篇。2. 核心问题深度学习处理的数据千差万别——数字、图片、文本、音频、视频。但在数学上它们都必须被统一表达为数的数组然后才能被计算。这些数的数组从简单到复杂对应四种数学对象理解它们的定义、符号约定和操作方式是一切后续内容的前提。3. 直觉解释可以用容器的比喻来理解这四种对象对象比喻现实例子标量一个杯子里的水温度 36.5°C、学习率 0.001向量一排杯子一个学生的3门成绩 [88, 92, 76]矩阵一个架子上的多排杯子全班30个学生的3门成绩30×3 的表格张量多个架子堆叠一张 RGB 彩色图片高×宽×3通道深度学习中一张 224×224 的彩色图片就是一个形状为 (224, 224, 3) 的三阶张量一个 batch 的 32 张图片就是形状为 (32, 224, 224, 3) 的四阶张量。4. 严格定义4.1 标量Scalar—— 0 阶张量标量就是一个单独的数。用斜体小写字母表示并明确其类型实数标量s∈Rs \in \mathbb{R}s∈R如令sss表示一条线的斜率自然数标量n∈Nn \in \mathbb{N}n∈N如令nnn表示元素的数目在深度学习中标量常见于学习率、正则化系数、损失值、单个神经元的输出值。4.2 向量Vector—— 1 阶张量向量是一列有序排列的数。用粗体小写字母表示如x\mathbf{x}x。通过索引访问元素x\mathbf{x}x的第iii个元素写作xix_ixi​斜体、不加粗。如果每个元素都属于实数集R\mathbb{R}R且共有nnn个元素则x∈Rn\mathbf{x} \in \mathbb{R}^nx∈Rn。显式写出来就是一个列向量x [x₁, x₂, ..., xₙ]ᵀ两种理解方式代数视角一列数几何视角空间中的一个点每个元素是不同坐标轴上的坐标索引技巧xS\mathbf{x}_SxS​表示取集合SSS中索引对应的元素。例如S{1,3,6}S \{1,3,6\}S{1,3,6}则xS\mathbf{x}_SxS​取出第 1、3、6 个元素x−1\mathbf{x}_{-1}x−1​表示除第 1 个元素外的所有元素x−S\mathbf{x}_{-S}x−S​表示除SSS中索引外的所有元素在深度学习中向量常见于一个样本的特征向量、网络某一层的输出、梯度向量、偏置项。4.3 矩阵Matrix—— 2 阶张量矩阵是二维数组每个元素由两个索引确定。用粗体大写字母表示如A\mathbf{A}A。A∈Rm×n\mathbf{A} \in \mathbb{R}^{m \times n}A∈Rm×n表示mmm行nnn列的实数矩阵Ai,jA_{i,j}Ai,j​表示第iii行、第jjj列的元素斜体、不加粗Ai,:\mathbf{A}_{i,:}Ai,:​表示第iii行一个行向量A:,j\mathbf{A}_{:,j}A:,j​表示第jjj列一个列向量在深度学习中矩阵常见于权重矩阵W\mathbf{W}W、设计矩阵每行一个样本、灰度图像。4.4 张量Tensor—— N 阶当坐标超过两维时就进入了张量的领域。张量就是任意维度的数组。用特殊字体A\textsf{A}A表示实际代码中就是多维数组坐标为(i,j,k)(i, j, k)(i,j,k)的元素记作Ai,j,k\textsf{A}_{i,j,k}Ai,j,k​在深度学习中张量无处不在阶数形状示例含义0()标量如损失值1(512,)向量如某层的输出2(30, 512)矩阵如一个 batch 的特征3(224, 224, 3)一张 RGB 图片4(32, 224, 224, 3)一个 batch 的图片5(16, 30, 512)一个 batch 的序列数据batch × 时间步 × 特征5. 三种基本操作5.1 转置Transpose转置是以主对角线左上到右下为轴的镜像(A⊤)i,jAj,i(\mathbf{A}^\top)_{i,j} A_{j,i}(A⊤)i,j​Aj,i​直觉行列互换。一个m×nm \times nm×n的矩阵转置后变为n×mn \times mn×m。特殊情况向量的转置列向量 → 行向量。常用于定义行向量x[x1,x2,x3]⊤\mathbf{x} [x_1, x_2, x_3]^\topx[x1​,x2​,x3​]⊤标量的转置等于自身aa⊤a a^\topaa⊤5.2 矩阵加法两个形状相同的矩阵对应位置元素相加CAB ⟹ Ci,jAi,jBi,j\mathbf{C} \mathbf{A} \mathbf{B} \implies C_{i,j} A_{i,j} B_{i,j}CAB⟹Ci,j​Ai,j​Bi,j​标量与矩阵的运算逐元素Da⋅Bc ⟹ Di,ja⋅Bi,jc\mathbf{D} a \cdot \mathbf{B} c \implies D_{i,j} a \cdot B_{i,j} cDa⋅Bc⟹Di,j​a⋅Bi,j​c5.3 广播Broadcasting深度学习中有一个非常规但极其常用的操作矩阵和向量相加。CAb ⟹ Ci,jAi,jbj\mathbf{C} \mathbf{A} \mathbf{b} \implies C_{i,j} A_{i,j} b_jCAb⟹Ci,j​Ai,j​bj​向量b\mathbf{b}b被隐式地复制到矩阵的每一行——不需要显式创建一个将b\mathbf{b}b重复mmm次的矩阵。这种隐式复制的机制叫做广播broadcasting。这在神经网络中极其常见。一个全连接层的前向传播就是yWxb\mathbf{y} \mathbf{W}\mathbf{x} \mathbf{b}yWxb其中b\mathbf{b}b就是通过广播加到每个样本的输出上。6. 关键对比维度对象符号约定元素访问深度学习中的典型角色0标量斜体小写sss直接使用学习率、损失值1向量粗体小写x\mathbf{x}xxix_ixi​特征、偏置、梯度2矩阵粗体大写A\mathbf{A}AAi,jA_{i,j}Ai,j​权重、灰度图、数据批次≥3张量特殊字体A\textsf{A}AAi,j,k\textsf{A}_{i,j,k}Ai,j,k​彩色图、视频、batch数据7. 常见误区误区一“向量默认是行向量”在深度学习的数学约定中向量默认是列向量。行向量需要显式写成x⊤\mathbf{x}^\topx⊤。很多初学者被 Python 的一维数组误导——NumPy 的np.array([1,2,3])既不是行向量也不是列向量它是一个没有行列概念的一维数组。要明确区分需要用reshape(-1,1)或reshape(1,-1)。误区二“张量 高维矩阵”严格来说张量是一个更广义的数学概念涉及坐标变换下的不变性但在深度学习的语境中张量基本等同于多维数组。PyTorch 的核心数据结构就叫torch.TensorTensorFlow 也以此命名。误区三“广播是自动且安全的”广播虽然方便但也是 bug 的温床。例如形状为 (3,1) 的矩阵和形状为 (1,4) 的矩阵相加会广播成 (3,4) 的结果——这可能不是你想要的。始终检查张量形状是调试的第一步。8. 代码实践importnumpyasnp# 标量learning_rate0.001loss2.345# 向量注意numpy一维数组没有行列之分xnp.array([1.0,2.0,3.0])# shape: (3,)x_colx.reshape(-1,1)# shape: (3, 1) — 列向量x_rowx.reshape(1,-1)# shape: (1, 3) — 行向量# 矩阵Wnp.random.randn(4,3)# shape: (4, 3)print(fW 的形状:{W.shape})print(fW 的转置形状:{W.T.shape})# (3, 4)print(fW[0,:] 第0行:{W[0,:]})# 一个行向量print(fW[:,0] 第0列:{W[:,0]})# 一个列向量# 张量 — 一张 RGB 图片imagenp.random.randint(0,256,size(224,224,3))# 三阶张量print(f一张图片:{image.shape})# (224, 224, 3)# 一个 batch 的图片batchnp.random.randint(0,256,size(32,224,224,3))# 四阶张量print(f一个batch:{batch.shape})# (32, 224, 224, 3)# 广播示例Anp.array([[1,2,3],[4,5,6]])# shape: (2, 3)bnp.array([10,20,30])# shape: (3,)CAb# 广播b 被复制到 A 的每一行print(f广播结果:\n{C})# [[11 22 33]# [14 25 36]]# 神经网络中的典型操作y Wx bWnp.random.randn(4,3)# 权重矩阵xnp.random.randn(3)# 输入向量bnp.random.randn(4)# 偏置向量yW xb# 前向传播print(f输出 y 的形状:{y.shape})# (4,)9. 现代延伸概念现代发展张量作为基础数据结构PyTorch 的torch.Tensor和 TensorFlow 的tf.Tensor就是多维数组的工程实现支持 GPU 加速和自动微分广播机制NumPy 的广播规则被 PyTorch/TensorFlow 完整继承是所有框架的核心特性高阶张量Transformer 中的注意力权重是 4 阶张量 (batch, heads, seq_len, seq_len)视频理解模型处理 5 阶张量 (batch, time, height, width, channels)张量分解张量分解CP 分解、Tucker 分解被用于模型压缩——将大型权重张量分解为多个小张量的乘积

相关文章:

深度学习标量、向量、矩阵与张量(三)

1. 定位导航 线性代数是深度学习最核心的数学工具——没有之一。神经网络的前向传播本质上就是矩阵乘法加非线性激活;反向传播本质上就是链式法则在矩阵/向量上的应用;PCA、SVD、特征分解等工具贯穿从数据预处理到模型分析的全过程。 本篇是最基础的一篇…...

SDMatte镜像结构详解:/opt/sdmatte-web目录布局与模型路径规范说明

SDMatte镜像结构详解:/opt/sdmatte-web目录布局与模型路径规范说明 1. 镜像概述 SDMatte 是一款面向高质量图像抠图场景的AI模型,特别适合处理以下任务: 商品图主体分离透明物体提取(如玻璃器皿、薄纱等)复杂边缘精…...

当孩子冲动行为影响学习,如何借助哈洛韦尔医生的情绪管理技巧?

如何有效应对孩子情绪管理困难,促进学习进步 面对孩子的情绪管理困难,家长和教育者可以采用一些实用的策略来帮助他们更好地表达情绪和应对挑战。首先,建立一个安全的环境非常重要,让孩子感到可以自由表达自己的情感而不必担心负面…...

深度学习 三次浪潮、三大驱动力与神经科学的恩怨(二)

1. 一个领域,多个名字 很多人以为"深度学习"是一个全新的领域。事实上,它的历史可以追溯到 20 世纪 40 年代——只不过在不同时期,它被叫过完全不同的名字: 1940s-1960s:被称为控制论(Cybernetic…...

百川2-13B-4bits量化实测:OpenClaw长文本处理会丢信息吗?

百川2-13B-4bits量化实测:OpenClaw长文本处理会丢信息吗? 1. 测试背景与动机 最近在尝试用OpenClaw搭建个人自动化工作流时,遇到一个实际问题:当处理长文档(比如几十页的PDF或网页文章)时,AI助…...

音频标注:从原理到产业,AI听懂世界的“翻译官”

音频标注:从原理到产业,AI听懂世界的“翻译官” 引言 在人工智能的浪潮中,计算机视觉的“看”和自然语言处理的“读”已广为人知,而让机器学会“听”——理解并解析复杂的声音世界,正成为新的前沿。这一切的基石&…...

从51job爬虫案例出发,聊聊如何用Selenium优雅地绕过前端反爬机制

从51job爬虫案例解析Selenium反反爬高阶策略 当招聘网站的前端技术不断升级,传统爬虫手段逐渐失效时,如何让自动化工具的行为更像真实用户?这个问题困扰着许多中高级开发者。以51job为例,其动态加载、URL不变的设计让常规爬虫束手…...

CentOS 7.6 + Intel Parallel Studio XE 2017:手把手搞定VASP 5.4.4编译环境(附License激活避坑指南)

CentOS 7.6环境下Intel编译器与VASP 5.4.4的深度配置实战 在计算材料科学领域,VASP作为电子结构计算的黄金标准工具,其性能高度依赖底层编译环境的优化。本文将带您深入探索如何在CentOS 7.6系统上,通过Intel Parallel Studio XE 2017构建高性…...

VitePress 博客主题定制与美化实战

1. VitePress主题美化的核心思路 很多开发者在使用VitePress搭建博客时,都会遇到一个共同的问题:默认主题虽然简洁,但缺乏个性。我在实际项目中发现,通过CSS变量覆盖、自定义组件和插件扩展这三个维度,可以打造出极具辨…...

不止于搭建:用DVWA靶场在Kali上复现SQL注入与文件上传漏洞实战

不止于搭建:用DVWA靶场在Kali上复现SQL注入与文件上传漏洞实战 当你第一次在Kali Linux上成功运行DVWA靶场时,那种成就感就像解锁了新世界的大门。但真正的乐趣才刚刚开始——这个看似简单的靶场,其实是网络安全爱好者最好的实战训练场。本文…...

OpCore-Simplify:如何用四步自动化流程解决黑苹果配置的三大核心挑战

OpCore-Simplify:如何用四步自动化流程解决黑苹果配置的三大核心挑战 【免费下载链接】OpCore-Simplify A tool designed to simplify the creation of OpenCore EFI 项目地址: https://gitcode.com/GitHub_Trending/op/OpCore-Simplify 对于黑苹果爱好者来说…...

OpenArk:新一代Windows系统安全分析工具完整指南

OpenArk:新一代Windows系统安全分析工具完整指南 【免费下载链接】OpenArk The Next Generation of Anti-Rookit(ARK) tool for Windows. 项目地址: https://gitcode.com/GitHub_Trending/op/OpenArk 如果你正在寻找一款强大的Windows系统安全分析工具&#…...

iBeebo:5个理由让你选择这款纯净高效的第三方微博客户端

iBeebo:5个理由让你选择这款纯净高效的第三方微博客户端 【免费下载链接】iBeebo 第三方新浪微博客户端 项目地址: https://gitcode.com/gh_mirrors/ib/iBeebo 在信息过载的数字时代,官方微博客户端日益臃肿的界面设计、无处不在的广告推送和复杂…...

Python子解释器隔离全解密(从PyThreadState到_PyInterpreterState):20年源码级剖析,首次公开CPython内部隔离边界图谱

第一章:Python子解释器隔离的演进脉络与核心挑战Python长期以来依赖全局解释器锁(GIL)保障线程安全,但这也限制了真正的并行执行能力。为突破这一瓶颈,CPython自3.12起正式引入子解释器(subinterpreters&am…...

高基数路由器的最佳拍档?深入浅出解析Flattened Butterfly拓扑的优缺点与适用场景

高基数路由器的最佳拍档?深入浅出解析Flattened Butterfly拓扑的优缺点与适用场景 在构建大规模互连网络时,拓扑结构的选择往往决定了系统的性能上限和成本下限。当工程师面对高基数路由器(High-Radix Router)的选型时&#xff0c…...

[路径保护]解决中文路径乱码:从名称错乱到Unicode支持的实践指南

[路径保护]解决中文路径乱码:从名称错乱到Unicode支持的实践指南 【免费下载链接】calibre-do-not-translate-my-path Switch my calibre library from ascii path to plain Unicode path. 将我的书库从拼音目录切换至非纯英文(中文)命名 项…...

PyFluent:重新定义CFD仿真自动化的技术革命

PyFluent:重新定义CFD仿真自动化的技术革命 【免费下载链接】pyfluent 项目地址: https://gitcode.com/gh_mirrors/pyf/pyfluent 行业痛点分析:CFD工程师的效率困境 在现代工程设计流程中,计算流体动力学(CFD&#xff09…...

高通平台USB充电背后的秘密:从SBL1阶段到Kernel的电池ID识别全解析

高通平台USB充电与电池ID识别的深度技术解析 在Android设备开发中,电源管理系统的稳定性直接影响用户体验。作为底层驱动工程师,理解高通平台从硬件到软件的完整充电流程至关重要。本文将深入剖析从XBL阶段到Kernel层的电池识别机制,揭示BATT…...

ANPC逆变器下垂控制的“阻抗相消术

ANPC-下垂功率均分-两台ANPC三电平逆变器在不同阻感性线路阻抗下实现有功均分与无功均分,采用积分改进法(阻抗相消法),电压电流双闭环控制,中点电位平衡控制,SPWM调制。 1.下垂,电压电流双闭环控…...

PFC3D模拟含纤维混凝土材料单轴压缩破坏

PFC3D含纤维混凝土材料单轴压缩破坏模拟去年在实验室折腾PFC3D模拟含纤维混凝土压缩破坏的时候,发现这玩意儿真是让人又爱又恨。纤维像调皮的孩子,在混凝土基体里各种"搞事情",今天就跟大家唠唠这个"微观破坏现场"的观察…...

E-Hentai Downloader 终极使用指南:从零开始掌握开源项目配置教程

E-Hentai Downloader 终极使用指南:从零开始掌握开源项目配置教程 【免费下载链接】E-Hentai-Downloader Download E-Hentai archive as zip file 项目地址: https://gitcode.com/gh_mirrors/eh/E-Hentai-Downloader 你是否经常在E-Hentai网站上遇到下载困难…...

BGE嵌入模型突破指南:解锁多模态检索增强的实战路径

BGE嵌入模型突破指南:解锁多模态检索增强的实战路径 【免费下载链接】FlagEmbedding Dense Retrieval and Retrieval-augmented LLMs 项目地址: https://gitcode.com/GitHub_Trending/fl/FlagEmbedding 在信息爆炸的时代,如何让机器精准理解人类语…...

Prompt Optimizer

链接:https://pan.quark.cn/s/3d42e4512934Prompt Optimizer v2.2.1是一款开源AI提示词优化工具,致力于通过智能算法提升提示词质量,支持多模型集成和图像生成功能。它提供桌面应用、Docker部署等多种方式,帮助用户快速获得精准的…...

Beekeeper Studio:现代跨平台数据库管理工具的技术架构与实战应用

Beekeeper Studio:现代跨平台数据库管理工具的技术架构与实战应用 【免费下载链接】beekeeper-studio beekeeper-studio/beekeeper-studio: Beekeeper Studio 是一款开源的跨平台数据库客户端工具,支持多种数据库(如MySQL, PostgreSQL, SQLit…...

DOL-CHS-MODS实战指南:从入门到精通的5个关键步骤

DOL-CHS-MODS实战指南:从入门到精通的5个关键步骤 【免费下载链接】DOL-CHS-MODS Degrees of Lewdity 整合 项目地址: https://gitcode.com/gh_mirrors/do/DOL-CHS-MODS 副标题:一站式解决Degrees of Lewdity汉化与Mod整合难题,让你轻…...

Qwen3-32B-Chat微调实战:提升OpenClaw代码生成任务的准确性

Qwen3-32B-Chat微调实战:提升OpenClaw代码生成任务的准确性 1. 为什么需要微调Qwen3-32B-Chat? 去年夏天,当我第一次尝试用OpenClaw自动化我的开发工作流时,遇到了一个令人沮丧的问题:模型生成的代码虽然语法正确&am…...

多代理系统架构实战:Supervisor 与 Swarm 的选型与落地策略

1. 多代理系统架构的核心价值 想象一下你正在组织一场大型会议:需要预订场地、安排餐饮、发送邀请函、准备会议材料。如果让一个人完成所有工作,要么质量难以保证,要么时间拖得很长。这就是多代理系统要解决的问题——通过专业分工和高效协作…...

Step3-VL-10B部署案例:金融APP界面自动化测试,覆盖85%人工回归用例

Step3-VL-10B部署案例:金融APP界面自动化测试,覆盖85%人工回归用例 1. 项目背景与痛点 金融APP的每一次版本更新,都伴随着一场紧张的回归测试。测试团队需要反复验证登录、转账、理财购买、账单查询等几十个核心功能,确保新代码…...

Wan2.2-I2V-A14B部署教程:系统盘50GB+数据盘40GB最小化配置实操

Wan2.2-I2V-A14B部署教程:系统盘50GB数据盘40GB最小化配置实操 1. 镜像概述与核心特性 Wan2.2-I2V-A14B是一款专为文生视频任务优化的私有部署镜像,特别针对RTX 4090D 24GB显存显卡进行了深度优化。这个镜像最大的特点是开箱即用,内置了完整…...

OpenClaw自动化测试框架:百川2-13B驱动的CI/CD辅助方案

OpenClaw自动化测试框架:百川2-13B驱动的CI/CD辅助方案 1. 为什么选择OpenClaw做测试自动化 去年我在重构一个中型前端项目时,遇到了测试覆盖率不足的老问题。手动补测试用例不仅耗时,还经常遗漏边界条件。当我尝试用传统测试生成工具时&am…...