搞懂张量(Tensor)—— 从矩阵到高阶抽象
搞懂张量(Tensor)—— 从矩阵到高阶抽象小可推了推眼镜张量究竟是什么为什么它经常被画得像矩阵今天我们和博博一起来彻底搞清楚博博摇着尾巴让我来告诉你张量比矩阵更一般、更抽象。今天我们会从最基础的概念出发一步步揭开张量的神秘面纱。Scene 1什么是张量小可好奇地歪着头张量(tensor)究竟是什么为什么它经常被画得像矩阵博博微笑着翻开书本让我来告诉你张量比矩阵更一般、更抽象今天我们来彻底搞懂它。如果你学习过工程学或物理学或者看过关于张量的系列视频那么你很可能已经接触过张量(tensor)。但是tensor 究竟是什么为什么 tensors 经常会被画得像矩阵(matrices)当然matrix 和 tensor 其实并不是同一种东西。要彻底清晰地理解 tensor 的本质我们需要从两个层面来说明首先说明为什么 tensor 不只是 matrix而是一类比 matrix 更一般(more general)、更抽象(more abstract)的数学对象然后通过一个具体例子来加深理解。简单来说我们可以把 tensor 看作是标量(scalar)、向量(vector)和矩阵(matrix)这些概念的推广。Scene 2张量 ≠ 矩阵小可惊讶地瞪大眼睛矩阵和张量不是同一种东西它们到底有什么区别博博认真地指着黑板首先 matrix 永远只有两个 indices而 tensor 可以有任意多个。这是 matrix 和 tensor 之间的第一个区别Matrix矩阵永远只有 2 个 indices行索引 i 和列索引 j表示为 M[i,j]是固定二维结构。Tensor张量可以拥有任意多个indicesT[i,j,k,…]可以是任意阶数。但这只是第一个区别更重要的区别在于tensor 不仅仅是高阶矩阵(higher order matrices)。它还有更深层的抽象性质——独立于坐标系表示的是几何对象本身而非一组数字。Scene 3标量 零阶张量小可若有所思所以标量也是一种张量零阶是什么意思博博点头对标量就是一个数字没有任何 index我们叫它零阶张量。零阶张量Rank-0 Tensor就是最基础的标量(scalar)没有任何 index就是单个数值例如 42不依赖坐标系例如温度 25°C质量 5kg这是推广的起点零阶 → 一阶 → 二阶 → 三阶 → …对应scalar → vector → matrix → 更高阶。Scene 4向量 一阶张量小可掰着手指头数那向量呢它有好多个数字算几阶博博画出向量箭头向量是一阶张量有一个 index是由多个数字组成的列数组。一阶张量Rank-1 Tensor就是向量(vector)有1 个 indexvᵢi 可以取 1, 2二维例子表示一个有方向和大小的量例如速度、力、位移在二维空间中向量可以用一个箭头来表示有明确的方向和长度。Scene 5矩阵 二阶张量小可恍然大悟矩阵就是二阶张量了吧有行和列两个 index博博满意地笑没错矩阵是二阶张量有两个 indices是由行和列组成的数字数组。二阶张量Rank-2 Tensor就是矩阵(matrix)有2 个 indicesFᵢⱼi, j 都可以取 1, 2二维例子表示线性变换例如应力张量、惯性张量⚠ 但要注意并非所有二阶张量在物理上都等价于一个固定的 matrix。matrix 只是 tensor 在特定坐标系下的一种表示形式。Scene 6三阶及更高阶张量小可眼睛放光在矩阵基础上再加一层就是三阶张量博博画出立方体示意对再加一层数字就得到三阶随着层数增加越来越难可视化。张量的阶数与元素数量的关系以二维为例阶数名称元素数量表示0阶标量(scalar)1个a1阶向量(vector)2个vᵢ2阶矩阵(matrix)4个Fᵢⱼ3阶三阶张量8个Tᵢⱼₖn阶n阶张量2ⁿ个Tᵢ₁ᵢ₂…ᵢₙ随着阶数增加这种结构已越来越难直观地进行可视化。因此人们通常采用**指标记号(index notation)**来解决这个问题。Scene 7指标记号小可认真记笔记阶数越来越高该怎么简洁地表示它们呢博博指着公式用指标记号 index notationvᵢ、Fᵢⱼ、Tᵢⱼₖ一目了然。指标记号(Index Notation)用下标 index 来简洁地表示各阶张量阶数记号说明零阶a标量无 index一阶vᵢ向量i1,2二阶Fᵢⱼ矩阵i1,2; j1,2三阶Tᵢⱼₖ三阶i,j,k 各取 1 或 2n阶Tᵢ₁ᵢ₂…ᵢₙn 个 index指标记号的优点使得我们在推导和处理数学公式时更加方便还能让我们一眼就看出一个 tensor 的阶数(order)Index 的数量 tensor 的阶数Scene 8矩阵的局限性小可总结道所以第一个区别是 matrix 永远只有两个 indices博博竖起大拇指完全正确而 tensor 可以拥有任意多个 indices这是一般化的推广。Matrix ⊂ Tensor矩阵是张量的子集。但 Tensor 不仅仅是高阶矩阵第二个更深刻的区别在于tensor 不仅仅是数字的集合它是一个独立于坐标系的抽象对象。同一 tensor 在不同坐标系下有不同的 matrix 表示——这些 matrix 不同但描述的 tensor 是同一个Scene 9向量的坐标表示小可追问那第二个区别是什么tensor 不仅仅是高阶矩阵博博画出两个坐标系对最好通过例子解释。看这个 vector它的 components 依赖坐标系。向量是一个一阶张量(first-order tensor)。它的各个 components 告诉我们在某一个具体的笛卡尔坐标系(Cartesian coordinate system)下这个 vector 是什么样子的。但是这里有一个关键点如果我们改变坐标系vector 本身并不会发生变化。真正发生变化的是用来描述 vector 的那些数字——也就是它在新坐标系中的各个 components。左边这一组数字只是在某一个特定坐标系下对这个 vector 的一种表示方式。如果只知道这个 vector 的 components而不知道它对应的是哪个坐标系那么我们就不可能知道 vector 真正长什么样。Scene 10改变坐标系小可若有所思如果改变坐标系vector 本身不会变化博博肯定地没错vector 本身不变真正变化的是用来描述它的那组数字。Tensors are mathematical objects that are independent of the coordinate system.右边所表示的 first-order tensor 在改变 coordinate system 之后并不会发生变化。发生变化的仅仅是描述这个 first-order tensor 的那些数字。Scene 11张量与坐标无关小可恍然大悟所以这组数字并不是 tensor 本身博博指着抽象对象对左边数字只是特定坐标系下的表示右边的抽象对象才是真正的 tensor。因此可以这样理解左边这一组数字并不是 tensor 本身右边这个抽象对象(abstract object)才是真正的 tensor而左边的数字只是它在某一个特定坐标系中的一种表示方式推广到二阶张量也是一样的道理。Scene 12二阶张量可视化小可好奇那 matrix 很难直接可视化怎么看它的变形效果博博画出圆和椭圆把 matrix 乘以一组 vector在所有箭头末端画圆观察圆如何被拉伸。Matrix 本身很难直接进行可视化但是我们可以可视化它的效果把这个 matrix 乘以一组 vectors在所有箭头的末端画出一个圆当 matrix 作用于这些 vector 之后这个圆也会随着这些 vector 一起发生拉伸变形你可以把这个被拉伸后的圆理解为二阶张量的几何表示。Scene 13矩阵如何拉伸圆小可兴奋matrix 作用于向量圆就被拉伸变形了博博解释对这个被拉伸的椭圆描述了 matrix 的变换特性deform 就是拉伸。Deform 拉伸/变形(deformation)。那么如果我们改变 coordinate system 会发生什么呢圆的拉伸形状并不会发生变化这说明我们的 second-order tensor 没有发生变化。但是用来描述这种变形的那一组数字会随着 coordinate system 的变化而发生变化。这正是为什么我们说Matrix 和 Tensor 并不完全相同。Scene 14矩阵只是表示小可总结改变坐标系后椭圆形状不变但描述的数字变了博博满意没错能描述这种拉伸的 matrix 有无穷多个对应不同坐标系。张量描述的是这个圆如何发生拉伸而这种描述并不依赖于坐标系。而能够描述这种拉伸变形的 matrix 有无穷多个它们分别对应不同的 coordinate system。下次当你看到一个 tensor 用 matrix 表示时不要把那个 matrix 当成 tensor itself而应该记住这个 matrix 只是 tensor 在某一个特定坐标系中的一种表示形式。Scene 15变形例子引入小可期待用一个具体例子来说明比如固体的形变博博画出变形前后的物体对物体可以是固体或液体tensor 非常适合描述这类 deformation。Deformation形变—— 这个物体可以是一块固体材料也可以是一滴像图中这样的液体。Tensor 非常适合描述这类 deformation。我们先来看二维情况下一种描述 deformation 的方法是在物体上画出一组点并随着时间跟踪这些点的位置变化。Scene 16位移向量的局限小可疑惑跟踪每个点的位移向量不行吗为什么不够博博指着没动的点有些点根本没移动但整个物体在变形displacement 无法提供 local 信息。所谓的**位移向量(displacement vector)**表示的是物体上每一个点从原位置移动了多少。但是仅仅依靠 displacement vector 并不能真正告诉我们物体上的每一点如何发生局部形变(local deformation)。来看这个形变例子其中有一些点根本没有发生移动。在这些点上 displacement 等于 0。然而我们却可以清楚地看到整个物体实际上正在发生 Deformation这说明 displacement 并不能提供关于 deformation 的完整信息。Scene 17小圆变形法小可眼睛一亮所以在物体内部画很多小圆来观察变形博博点头对即使某些点没动小圆的变形仍然能揭示 local deformation。因此我们可以采用另一种方法我们在物体内部画出许多很小的圆然后观察这些小圆随时间如何发生变形。这样一来即使某些点本身没有移动我们依然能够看到物体正在发生变形。你可能已经注意到这些小圆发生变形的方式与我们刚才可视化二阶张量时看到的变形非常相似。事实上在每一个位置这些小圆的形变都可以用一个second-order tensor来描述。Scene 18形变与坐标系无关小可恍然大悟这些小圆的形变也可以用二阶张量来描述博博肯定没错而且改变坐标系形变本身不变变的是描述它的 matrix。而且非常重要的一点是即使我们改变坐标系这些小圆的形变依然不会发生变化。也就是说物体的形变以及描述这种形变的 second-order tensor 都独立于坐标系而存在。真正发生变化的仅仅是那些用来表示这个 tensor 的 matrix。Scene 19工程中的简化小可放松下来所以在固定坐标系下matrix 和 tensor 的区别不太重要博博微笑对大多数工程应用中用固定坐标系只有一个 matrix 表示不需要太担心。当然在许多工程应用中我们通常都使用一个固定的 Cartesian coordinate system。在这种情况下只会有唯一一个 matrix 来表示这个 tensor。因此大多数时候我们其实不需要太过分担心 matrix 和 tensor 之间的区别。理解 matrix vs tensor 的区别能帮助你真正理解 tensor 的本质而非把它当成一个数字表格在处理坐标变换时不会混淆 tensor 本身和它的表示Scene 20张量科普总结小可兴奋地总结让我总结一下张量是推广的、坐标无关的抽象对象博博竖起大拇指完美下次看到 matrix 时记住它背后可能是一个更抽象的 tensor 张量五大要点总结张量是标量、向量、矩阵的推广—— 0阶 → 1阶 → 2阶 → n阶Matrix 永远只有 2 个 indices—— Tensor 可以有任意多个 indicesTensor 独立于坐标系—— 改变坐标系tensor 不变components 变Matrix 只是 Tensor 的一种表示—— 同一 tensor 在不同坐标系下有不同 matrixTensor 描述的是变形本身—— 而非某一组数字应用广泛记住当你看到一个 matrix 时它背后可能是一个更抽象的 tensorTensor 描述了与坐标系无关的几何/物理本质。小可开心地摇尾巴今天学到了很多原来张量不是那么可怕的东西嘛博博合上书本数学就是这样一旦理解了本质就会发现它其实很简单。下次有什么不懂的随时来问我哦希望这个漫画科普能帮你彻底理解张量的本质*

相关新闻

如何用3个步骤打造你的专属AI记忆管家:从照片整理到年度报告

如何用3个步骤打造你的专属AI记忆管家:从照片整理到年度报告

如何用3个步骤打造你的专属AI记忆管家:从照片整理到年度报告 【免费下载链接】WeChatMsg 提取微信聊天记录,将其导出成HTML、Word、CSV文档永久保存,对聊天记录进行分析生成年度聊天报告 项目地址: https://gitcode.com/GitHub_Trending/we…

2026/7/22 15:00:20阅读更多 →
i-book.in_Archive未来路线图:功能规划与技术发展方向

i-book.in_Archive未来路线图:功能规划与技术发展方向

i-book.in_Archive未来路线图:功能规划与技术发展方向 【免费下载链接】i-book.in_Archive 项目地址: https://gitcode.com/gh_mirrors/ib/i-book.in_Archive i-book.in_Archive是一个基于IPFS的电子书搜索引擎开源项目,为用户提供去中心化的电子…

2026/7/21 23:04:25阅读更多 →
HeyGen渲染失败率骤降87%的4个硬件级优化策略:NVIDIA/AMD/Mac芯片专项调优指南

HeyGen渲染失败率骤降87%的4个硬件级优化策略:NVIDIA/AMD/Mac芯片专项调优指南

更多请点击: https://codechina.net 第一章:HeyGen渲染失败率骤降87%的硬件级优化全景概览 HeyGen在大规模视频生成场景中曾长期面临GPU资源争用、显存溢出与CUDA上下文崩溃导致的渲染失败问题。通过深度协同硬件层(NVIDIA A100/A16 GPU PC…

2026/7/22 18:39:00阅读更多 →
springboot共享办公室在线预约与租赁系统

springboot共享办公室在线预约与租赁系统

共享办公室在线预约与租赁系统的选题背景随着全球经济的快速发展和创业浪潮的兴起,灵活办公模式逐渐成为企业和个人的主流需求。共享办公室(Coworking Space)作为一种新型办公模式,通过提供灵活的租赁方式、完善的设施和社群化服务…

2026/7/22 21:11:47阅读更多 →
【SOTA级AI工程规范】:基于MLflow+DVC+Cookiecutter的6层可审计目录架构(含企业级模板下载权限限时开放)

【SOTA级AI工程规范】:基于MLflow+DVC+Cookiecutter的6层可审计目录架构(含企业级模板下载权限限时开放)

更多请点击: https://kaifayun.com 第一章:SOTA级AI工程规范的核心理念与演进脉络 SOTA级AI工程规范并非静态标准,而是融合算法前沿性、系统鲁棒性、可维护性与合规性的动态实践体系。其核心理念植根于三个不可分割的支柱:**可复…

2026/7/22 21:11:47阅读更多 →
longcat完全指南:探索6种终端环境下的长猫渲染效果

longcat完全指南:探索6种终端环境下的长猫渲染效果

longcat完全指南:探索6种终端环境下的长猫渲染效果 【免费下载链接】longcat Looooooooooooooooooooooooooooooooooooooooooooooong cat 项目地址: https://gitcode.com/gh_mirrors/lo/longcat longcat是一款能够在不同终端环境下渲染长猫图像的有趣工具&…

2026/7/22 21:11:47阅读更多 →
Gizeh实战案例:用简单代码绘制惊艳的几何艺术

Gizeh实战案例:用简单代码绘制惊艳的几何艺术

Gizeh实战案例:用简单代码绘制惊艳的几何艺术 【免费下载链接】gizeh Simple Vector Graphics for Python 项目地址: https://gitcode.com/gh_mirrors/gi/gizeh Gizeh是一款专为Python设计的简单矢量图形库,让开发者能够用少量代码创建出精美的几…

2026/7/22 21:11:47阅读更多 →
TorToolkit-Telegram高级功能:Mega下载、Instagram解析与压缩包处理

TorToolkit-Telegram高级功能:Mega下载、Instagram解析与压缩包处理

TorToolkit-Telegram高级功能:Mega下载、Instagram解析与压缩包处理 【免费下载链接】TorToolkit-Telegram Most versatile Telegram torrent, direct-link, mega, and youtube-dl bot. Uploads to various cloud storage like Gdrive, Mega, Telegram, etc. 项目…

2026/7/22 21:11:47阅读更多 →
AI周报生成器选型红皮书(附12款工具实测对比表|含准确率/响应延迟/合规性三维度评分)

AI周报生成器选型红皮书(附12款工具实测对比表|含准确率/响应延迟/合规性三维度评分)

更多请点击: https://codechina.net 第一章:AI周报生成器选型红皮书导论 在企业级AI应用落地加速的当下,自动化周报生成已成为技术团队效能管理的关键环节。本导论不预设技术栈偏好,而是聚焦于构建一套可复用、可验证、可审计的选…

2026/7/22 21:09:47阅读更多 →
Go语言静态资源打包方案对比与实践指南

Go语言静态资源打包方案对比与实践指南

1. 项目背景与核心需求在Go语言开发中,我们经常需要处理静态资源文件的打包问题。无论是Web应用的模板文件、前端资源,还是配置文件、证书等,都需要随程序一起分发。传统做法是将这些文件与编译后的二进制文件放在同一目录下,但这…

2026/7/22 0:53:59阅读更多 →
Go语言实现高性能LDAP认证服务的架构与实践

Go语言实现高性能LDAP认证服务的架构与实践

1. 项目背景与核心价值LDAP(轻量级目录访问协议)作为企业级身份认证的黄金标准,已经服务了超过80%的财富500强公司。我在金融科技领域实施统一认证体系时,发现传统Java方案存在启动慢、内存占用高等痛点。而Go语言凭借其协程并发模…

2026/7/22 0:53:59阅读更多 →
【AI面试官实战指南】:用ChatGPT模拟10类高频技术岗面试,3天提升应答精准度92%

【AI面试官实战指南】:用ChatGPT模拟10类高频技术岗面试,3天提升应答精准度92%

更多请点击: https://intelliparadigm.com 第一章:AI面试官实战指南的核心价值与适用场景 AI面试官并非替代人类HR的“黑箱工具”,而是以可解释、可审计、可迭代的方式,赋能招聘全链路的关键基础设施。其核心价值在于将主观经验沉…

2026/7/22 0:53:59阅读更多 →
中小企业小程序开发公司怎么选:预算、上手和售后避坑指南

中小企业小程序开发公司怎么选:预算、上手和售后避坑指南

中小企业做小程序,最常见的矛盾是预算有限,但又不希望功能太单薄;没有技术团队,但又希望后续能自己运营;想快速上线,又担心隐性收费和售后失联。选型时如果只看“低价套餐”或“案例数量”,很容…

2026/7/22 0:01:17阅读更多 →
GEO优化如何沉淀长期内容资产?广拓时代谈AI搜索时代的内容ROI

GEO优化如何沉淀长期内容资产?广拓时代谈AI搜索时代的内容ROI

企业做营销,最怕钱花完了,资产没有留下。 效果广告能带来一段时间的曝光,但预算停止后,流量往往也随之停止。短视频内容可能在几天内冲高,也可能很快沉下去。AI搜索时代,企业需要重新思考一个问题&#xff…

2026/7/22 0:01:17阅读更多 →
Agent 终态判定:何时该停止思考、给出最终回复

Agent 终态判定:何时该停止思考、给出最终回复

Agent 终态判定:何时该停止思考、给出最终回复 一、你的 Agent 在"再想想"的循环里绕了 12 轮,用户已经关窗口了 Agent 与人最大的区别是:人知道什么时候该停下来给答案,Agent 会一直"想"下去。你给 Agent 接…

2026/7/22 0:01:17阅读更多 →
YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

如果你在部署 YOLOv8 时,发现推理速度只有可怜的 1-2 FPS,而别人的演示视频却能跑到 30 FPS 以上,那么问题很可能不在模型本身,而在于你的整个处理链路。很多开发者拿到一个训练好的 YOLOv8 模型后,会直接使用官方示例…

2026/7/21 22:53:50阅读更多 →
Coze与Dify对比指南:低代码AI应用开发从入门到实战

Coze与Dify对比指南:低代码AI应用开发从入门到实战

1. 从零到一:为什么你需要了解 Coze 和 Dify?如果你对 AI 应用开发感兴趣,但一看到“大模型”、“智能体”、“工作流”这些词就头疼,觉得门槛太高,那这篇文章就是为你准备的。很多开发者,包括我自己&#…

2026/7/22 18:55:50阅读更多 →
AI生图工具怎么选?2026年6月版实测对比

AI生图工具怎么选?2026年6月版实测对比

做自媒体的朋友应该都有体会:配图一直是个让人头疼的问题。2026年,AI生图工具已经非常成熟了,但工具太多反而不知道怎么选。以下是截至2026年6月我对主流AI生图工具的实测对比。Midjourney V8.1:速度之王2026年6月11日&#xff0c…

2026/7/22 18:55:50阅读更多 →