news 2026/4/16 1:52:27

【AI邪修·破壁行动】神经网络基础—核心数据结构—张量

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
【AI邪修·破壁行动】神经网络基础—核心数据结构—张量

1. 从标量到张量

问AI:
什么是张量?

AI答:
0维是标量,1维是向量,2维是矩阵,3维及以上就是张量。
在深度学习中,张量不仅是多维数据容器,更重要的是它支持自动微分和GPU加速计算,这是普通多维数组不具备的核心特性。比如PyTorch和TensorFlow中的张量,除了存储数据,还记录了计算图信息,能够反向传播梯度。

个人理解:
从数组的角度看,

  • 数字1就是0维数组
  • 坐标(100,100)就是1维数组
  • NxM 矩阵(011110101)\begin{pmatrix} 0&1&1\\ 1&1&0\\ 1&0&1\\ \end{pmatrix}011110101就是2维数组。
  • QxNxM张量就是Q个矩阵的数组,也就是3维数组。

所以从数组的角度看,张量就是多维数组。

从几何的角度看:

  • 数字1是一维坐标轴上的向量;
  • 点(100, 100)是二维空间中的一个向量,由xy坐标轴上的两个分向量合成而来;
  • 矩阵是向量的推广,矩阵的子向量数量可以是多个。矩阵要竖着看,每一列都是一个向量。
    比如1x1矩阵:
    (0)\begin{pmatrix} 0 \end{pmatrix}(0)
    可以表示一个标量。
    3x1矩阵:
    (011)(3)\begin{pmatrix} 0\\ 1\\ 1\\ \end{pmatrix} \tag{3}011(3)
    表示一个3维向量。
    3x3矩阵:
    (011110101)\begin{pmatrix} 0&1&1\\ 1&1&0\\ 1&0&1\\ \end{pmatrix}011110101
    表示3个3维向量。
    4x3矩阵:
    (011110101100)\begin{pmatrix} 0&1&1\\ 1&1&0\\ 1&0&1\\ 1&0&0\\ \end{pmatrix}011111001010
    表示3个4维向量。
    从几何的角度看,矩阵可以代表由子向量组成的任意维度的空间。这个维度是几何维度,不是数组中的维度概念,不要搞混。比如说一张二维1920x1080的图片,你可以把它看作矩阵,那么它代表的空间是多少维的?上千维的。但是它作为数据,就是个二维数组。这两个维度要区分开,否则很晕。
  • 张量:张量是矩阵的推广。既然矩阵可以表示任意维度的空间,那么从几何角度看,张量就是多元宇宙。3维的张量,就是一阶多元宇宙,4维的张量,就是二阶多元宇宙。以此类推。

需要强调的是,数组中的维度和空间中的维度是不一样的,在神经网络中最好还是从多维数组的角度去理解张量。

2.张量在神经网络中的地位

问AI:
是不是神经网络中几乎都在用张量或者说离不开张量?

AI答:
是的,神经网络几乎完全依赖张量。

张量是深度学习的核心数据结构,几乎所有现代深度学习框架(如PyTorch、TensorFlow、JAX)都围绕张量构建。神经网络的输入数据(如图像、文本序列)、权重参数、中间计算结果、梯度信息等都以张量形式存储和计算。

张量不仅仅是多维数组,更重要的是它们支持自动微分和GPU加速,这是训练神经网络的关键能力。框架通过张量追踪计算图,实现反向传播算法,自动计算梯度用于参数更新。可以说,没有张量,现代深度学习的高效训练和推理就无从谈起。

3.张量的使用

张量是神经网络框架(pytorch, tensorflow)中的核心数据结构,经常用到。所以一般输入的图片都需要转换成张量才能被计算。

问AI:
torch中toTensor()函数作用的什么,为什么要把图片toTensor()?

AI答:
toTensor()就是给图片办一张「神经网络身份证」。

它主要做三件事:

改格式:从图片格式(如jpg、png)变成神经网络能看懂的数字格式(张量)。

缩数值:把像素亮度从0-255的整数,变成0-1之间的小数,神经网络处理起来更顺手。

调顺序:把图片的「高×宽×颜色通道」排布,改成神经网络最喜欢的「颜色通道×高×宽」排布。

一句话总结:没有 toTensor(),图片就进不了神经网络的大门。


好了,下一篇直接让AI分析代码,AI之下没有看不懂的代码。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/13 18:51:48

调用多个Agent,Chatkit让APP从“单打独斗”到“团队协作”

你是不是也经常有这样的体验? “每次打开银行App,想好好做个理财规划,但“智能助手”只会机械地列出热门产品。 想查个航班行程,它展示完时间和价格,就没了下文。 打开电商App,上周刚买过的东西&#xff0c…

作者头像 李华
网站建设 2026/4/13 8:21:09

25、配置 FreeBSD 拨号上网连接

配置 FreeBSD 拨号上网连接 在当今数字化时代,网络连接是我们生活和工作中不可或缺的一部分。对于使用 FreeBSD 系统的用户来说,配置拨号上网连接可能是一项具有挑战性但又十分必要的任务。本文将详细介绍如何在 FreeBSD 系统中配置拨号上网连接,包括所需的步骤、文件配置以…

作者头像 李华
网站建设 2026/4/11 6:33:33

29、X Window系统配置与启动指南

X Window系统配置与启动指南 1. 鼠标和键盘配置 1.1 鼠标类型与协议选择 如今,PS/2鼠标或USB鼠标较为常见,串口鼠标正逐渐被淘汰。使用 xf86config 程序配置X Window系统时,首先要以root用户登录,在命令提示符下输入 xf86config 启动程序。启动后,会要求选择鼠标协…

作者头像 李华
网站建设 2026/4/10 15:01:23

32、FreeBSD窗口管理器与桌面环境及办公软件全解析

FreeBSD窗口管理器与桌面环境及办公软件全解析 1. 窗口管理器与桌面环境的区别 在FreeBSD系统中,KDE是较为流行的桌面环境,但并非唯一选择,还有众多从简单到复杂的替代方案。窗口管理器和桌面环境存在明显差异: - 功能特性 :像KDE这样的桌面环境通常比单纯的窗口管理…

作者头像 李华
网站建设 2026/4/15 5:55:28

34、FreeBSD 多媒体与 Web 服务器使用指南

FreeBSD 多媒体与 Web 服务器使用指南 1. FreeBSD 多媒体功能 1.1 CD 播放器 KDE 自带了一个 CD 播放器,该播放器支持 CDDB 系统,这意味着它可以自动从互联网下载专辑和曲目信息。 1.2 混音器 FreeBSD 提供了一个可以通过命令行访问的混音器。 - 显示当前混音器设置 …

作者头像 李华