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

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

在机器学习和深度学习领域,无论是使用 TensorFlow、PyTorch 还是其他框架,我们都会频繁遇到一个术语:张量(Tensor)

但很多初学者对张量的理解只停留在"好像是数组?"的阶段。实际上,张量既简单又强大,它是支撑现代深度学习系统的基础。

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


一、什么是张量(Tensor)?

简单来说,张量就是一种多维数组

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

正如图中所示:

维度 形态 示例
1维张量 向量(Vector) <math xmlns="http://www.w3.org/1998/Math/MathML"> [ 1 , 2 , 3 , 4 ] [1, 2, 3, 4] </math>[1,2,3,4]
2维张量 矩阵(Matrix) <math xmlns="http://www.w3.org/1998/Math/MathML"> [ 1 2 3 4 ] \left[\begin{matrix}1 & 2\\3 & 4\end{matrix}\right] </math>[1324]
3维张量 数据立方体(Data Cube) 多张图片叠加或彩色图像(RGB通道)

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

让我们逐一来看:

1. 一维张量(向量)

  • 结构:一串线性排列的数字
  • 形象理解:一列数字,就像一条直线
  • 示例应用:表示特征列表(如一个人的身高、体重、年龄等)

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

形状(Shape) : <math xmlns="http://www.w3.org/1998/Math/MathML"> ( n , ) (n,) </math>(n,),只有一个维度。


2. 二维张量(矩阵)

  • 结构:数字排列成行和列的表格
  • 形象理解:就像一张二维表格或 Excel 工作表
  • 示例应用:图片的灰度像素、词嵌入矩阵(Embedding Matrix)

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

形状(Shape) : <math xmlns="http://www.w3.org/1998/Math/MathML"> ( m , n ) (m, n) </math>(m,n),有行有列。


3. 三维张量

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

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

  • 示例应用:

    • 彩色图像(RGB三个通道)
    • 多帧组成的视频片段(时间、宽度、高度)
    • Batch处理(多张图像作为一个批次)

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

形状(Shape) : <math xmlns="http://www.w3.org/1998/Math/MathML"> ( d , m , n ) (d, m, n) </math>(d,m,n),包含多个二维矩阵。


三、张量为什么重要?

在深度学习中,所有数据都是以张量的形式表示和计算的 ,包括输入数据、模型参数、输出结果等。

不论你是进行图像识别、自然语言处理,还是做强化学习,张量都是基本的计算单位

比如:

  • 输入一张彩色图片 → 是一个三维张量(宽 × 高 × 通道数)
  • 隐藏层权重矩阵 → 是一个二维张量(输入特征数 × 输出特征数)
  • 批量训练数据 → 是一个四维张量(批大小 × 通道数 × 高度 × 宽度)

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


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

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

可以这样理解:

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

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


五、总结

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

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

本文小结:

  • 张量 = 多维数组
  • 一维张量 = 向量,二维张量 = 矩阵,三维及以上 = 数据立方体
  • 在深度学习中,无论是输入、输出还是中间计算,统统是以张量的形式进行的

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

相关推荐
每天都要写算法(努力版)1 分钟前
【神经网络与深度学习】通俗易懂的介绍非凸优化问题、梯度消失、梯度爆炸、模型的收敛、模型的发散
人工智能·深度学习·神经网络
Blossom.1183 分钟前
Web3.0:互联网的去中心化未来
人工智能·驱动开发·深度学习·web3·去中心化·区块链·交互
kyle~5 分钟前
计算机视觉---目标检测(Object Detecting)概览
人工智能·目标检测·计算机视觉
hao_wujing12 分钟前
YOLOv8在单目向下多车辆目标检测中的应用
人工智能·yolo·目标检测
王学政221 分钟前
LlamaIndex 第九篇 Indexing索引
人工智能·python
白熊1881 小时前
【计算机视觉】OpenCV实战项目:基于OpenCV的车牌识别系统深度解析
人工智能·opencv·计算机视觉
IT古董2 小时前
【漫话机器学习系列】261.工具变量(Instrumental Variables)
人工智能·机器学习
小王格子2 小时前
AI 编程革命:腾讯云 CodeBuddy 如何重塑开发效率?
人工智能·云计算·腾讯云·codebuddy·craft
MonkeyKing_sunyuhua2 小时前
VSCode + Cline AI辅助编程完全指南
ide·人工智能·vscode