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

【漫话机器学习系列】225.张量(Tensors)

深度学习中的张量(Tensor)到底是什么?一文彻底讲清楚!

在机器学习和深度学习领域,无论是使用 TensorFlow、PyTorch 还是其他框架,我们都会频繁遇到一个术语:张量(Tensor)
但很多初学者对张量的理解只停留在“好像是数组?”的阶段。实际上,张量既简单又强大,它是支撑现代深度学习系统的基础。

本文通过直观图示,带你彻底掌握张量的概念、分类和在实际应用中的意义。


一、什么是张量(Tensor)?

简单来说,张量就是一种多维数组
它们以网格(Grid)状坐标形式排列数值,可用来表示数据的不同形态,比如一个向量、一张图片,甚至是一个视频序列。

正如图中所示:

维度形态示例
1维张量向量(Vector)[1, 2, 3, 4]
2维张量矩阵(Matrix)\left[\begin{matrix}1 & 2\\3 & 4\end{matrix}\right]
3维张量数据立方体(Data Cube)多张图片叠加或彩色图像(RGB通道)

二、张量各维度的直观理解

让我们逐一来看:

1. 一维张量(向量)

  • 结构:一串线性排列的数字

  • 形象理解:一列数字,就像一条直线

  • 示例应用:表示特征列表(如一个人的身高、体重、年龄等)

图中左边部分就是一维张量示意图:

形状(Shape)(n,),只有一个维度。


2. 二维张量(矩阵)

  • 结构:数字排列成行和列的表格

  • 形象理解:就像一张二维表格或 Excel 工作表

  • 示例应用:图片的灰度像素、词嵌入矩阵(Embedding Matrix)

图中中间部分展示的是二维张量:

形状(Shape)(m, n),有行有列。


3. 三维张量

  • 结构:多个矩阵叠加在一起,形成立体结构

  • 形象理解:一个“数据立方体”

  • 示例应用:

    • 彩色图像(RGB三个通道)

    • 多帧组成的视频片段(时间、宽度、高度)

    • Batch处理(多张图像作为一个批次)

图中右边部分就是三维张量的直观展示:

形状(Shape)(d, m, n),包含多个二维矩阵。


三、张量为什么重要?

在深度学习中,所有数据都是以张量的形式表示和计算的,包括输入数据、模型参数、输出结果等。
不论你是进行图像识别、自然语言处理,还是做强化学习,张量都是基本的计算单位

比如:

  • 输入一张彩色图片 → 是一个三维张量(宽 × 高 × 通道数)

  • 隐藏层权重矩阵 → 是一个二维张量(输入特征数 × 输出特征数)

  • 批量训练数据 → 是一个四维张量(批大小 × 通道数 × 高度 × 宽度)

张量不仅支持简单的数据存储,还能进行高效的数学运算(如矩阵乘法、卷积等),这也是深度学习框架优化计算性能的关键。


四、补充:张量与数组(Array)的关系

很多同学会问:张量和普通的数组有什么区别?

可以这样理解:

特点数组(Array)张量(Tensor)
数学背景计算机科学中使用数学/物理中更正式
运算特性支持加减乘除支持高阶线性代数运算(例如广播机制、梯度计算)
深度学习框架支持部分支持全面支持,且针对硬件加速(GPU/TPU)

所以,从使用上讲,可以粗略地把张量看作是“功能更强大的数组”。


五、总结

张量是深度学习中用于表示数据的基础结构,具有任意维度,可以看作是“网格状排列的数值组”。

掌握张量的本质是理解神经网络、优化模型结构、提升训练效率的第一步。

本文小结:

  • 张量 = 多维数组

  • 一维张量 = 向量,二维张量 = 矩阵,三维及以上 = 数据立方体

  • 在深度学习中,无论是输入、输出还是中间计算,统统是以张量的形式进行的


如果本文对你理解张量有所帮助,记得点赞支持!也可以在评论区留言你想了解的其他深度学习基础概念,比如 广播机制(Broadcasting)自动微分(Autograd) 等,后续我会继续更新系列内容!

相关文章:

  • Android学习总结之kotlin篇(一)
  • 关于图论的知识
  • 正则表达式三剑客之——grep和sed
  • 有关图的类型的题目(1)
  • 从基础到实战的量化交易全流程学习:1.2 金融市场基础
  • Springboot用IDEA打jar包 运行时 错误: 找不到或无法加载主类
  • 路由器重分发(OSPF+RIP),RIP充当翻译官,OSPF充当翻译官
  • 【C++】15. 模板进阶
  • Eigen几何变换类 (Transform, Quaternion等)
  • 学习笔记:Qlib 量化投资平台框架 — GETTING STARTED
  • 将服务器接到路由器上访问
  • 【Leetcode 每日一题】2444. 统计定界子数组的数目
  • 图像特征检测算法对比及说明
  • 2025.4.26总结
  • ADC单通道采集实验
  • 3:QT联合HALCON编程—海康相机SDK二次程序开发
  • Android12源码编译及刷机
  • 详解Adobe Photoshop 2024 下载与安装教程
  • 论文笔记(八十)π0.5: a Vision-Language-Action Model with Open-World Generalization
  • Python并行计算:2.Python多线程编程:threading模块详解与守护线程实战
  • 力保夏粮丰收,粮食大省江苏多地党政主官到田间察看小麦长势
  • 山东一景区怕游客赶不到海撒三千斤蛤蜊:给游客提供情绪价值
  • 韩国代总统、国务总理韩德洙宣布辞职,将择期宣布参选总统
  • 购车补贴、“谷子”消费、特色产品,这些活动亮相五五购物节
  • 乌美签署矿产协议
  • 《求是》杂志发表习近平总书记重要文章《激励新时代青年在中国式现代化建设中挺膺担当》