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

【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之下没有看不懂的代码。

http://www.jsqmd.com/news/100293/

相关文章:

  • MATLAB分步傅里叶法仿真:光纤激光器锁模脉冲产生及可饱和吸收镜导致的脉冲漂移问题的解决
  • Dify+PDF加密权限控制(仅限高级用户掌握的5个关键技术点)
  • comsol光学仿真 光子晶体光纤 论文复现(图是仿的一个spr传感器和一个三芯分束器)图左原文
  • 7个常见错误避免,确保YashanDB实施的成功率
  • ChatID 批量同步:详细解析如何通过“获取客户群列表”API 接口全量同步群聊 ID
  • 云主机如何新增账号
  • 揭秘Docker容器化LangGraph多Agent通信:5个必须掌握的核心技巧
  • 乐迪信息:智慧煤矿解决方案:AI摄像机智能预警系统
  • 专项智能练习(新课程改革的课程结构)
  • 自定义MyBatis拦截器,实现SQL字段注入
  • 成为AI产品经理:程序员不可错过的AI时代红利
  • 【AI邪修·破壁行动】理解领域驱动设计DDD
  • 鸿蒙PC开发者必备工具推荐:覆盖开发全流程的高效利器
  • 基于模型的测试设计(MBT):软件测试的智能化革新
  • 为什么你的服务总崩溃?:Docker MCP 网关负载均衡未正确配置的3大隐患
  • 电脑久坐提醒软件哪个好用?定时休息强制锁屏+护眼习惯养成神器怎么用?
  • 科研快报 |路侧感知新突破:用“多边形”注意力,让摄像头看得更远更准
  • 构建高可靠软件系统:性能与安全测试的融合与实践
  • 永磁同步电机三闭环控制Simulink仿真 电流内环 转速 位置外环 参数已经调好 原理与双闭...
  • 抛弃脚本自动化:我们如何用 LangGraph 构建会“自我反思”的接口测试 Agent?
  • LobeChat会话管理功能有多强?多话题并行处理不混乱
  • pydash原型链污染
  • 鸿蒙三方库—harmony-utils使用
  • 有名的西点培训机构推荐:杭州欧米奇,靠谱又高性价比 - 工业推荐榜
  • 6大场景下YashanDB数据库的性能调优实用技巧
  • 常见的视频去水印原理
  • ComfyUI及常用插件安装指南
  • 15. 实时数据- SSE VS WebSocket
  • UML和模式应用:类图建模详解
  • 【赵渝强老师】Oracle客户端与服务器端连接建立的过程