【深度学习基础】张量与Tensor的区别?从标量到深度学习的多维世界

部署运行你感兴趣的模型镜像

引言

在数学、物理学和深度学习中,“张量”(Tensor)是一个核心概念。然而,许多人对"张量"和"Tensor"之间的区别感到困惑,甚至对"标量"、"向量"等基础概念也存在模糊认识。本文将从基础到深度学习,系统梳理这些概念的定义、区别及其应用场景,帮助读者建立清晰的认知框架。


一、张量(Tensor)的定义与特性

1. 数学中的张量

在数学和物理学中,张量(Tensor)是一个多重线性映射,用于描述物理量在不同坐标系下的变换关系。其阶数(Rank)决定了张量的维度:

  • 0阶张量:标量(Scalar),例如温度、质量。
  • 1阶张量:向量(Vector),例如速度、力。
  • 2阶张量:矩阵(Matrix),例如应力张量、旋转矩阵。
  • 高阶张量:3阶及以上,例如视频数据(时间×高度×宽度×通道)。

张量的数学定义强调其坐标变换的不变性。例如,应力张量在不同坐标系下遵循特定的线性变换规则,但其物理意义保持一致。

2. 深度学习中的Tensor

在深度学习框架(如PyTorch、TensorFlow)中,Tensor(张量)被简化为多维数组,本质上是数学张量的计算机实现。

  • 特点
    • 可运行在GPU/TPU上,加速计算。
    • 支持自动微分(Autograd),是神经网络训练的核心。
    • 动态调整形状,适应不同数据结构。

示例

  • 标量loss = 0.5(0D Tensor)。
  • 向量weights = [0.1, 0.3, 0.5](1D Tensor)。
  • 矩阵image = [[1,2,3],[4,5,6]](2D Tensor)。
  • 高阶张量video = [batch, frames, height, width, channels](5D Tensor)。

二、标量(Scalar)是什么?

标量是0阶张量,仅包含一个数值,无方向性

  • 特性
    • 数值大小独立于坐标系(例如温度25°C在任何坐标系下都是25°C)。
    • 支持加减乘除等基本运算。

应用场景

  • 损失函数(Loss)的输出值。
  • 学习率(Learning Rate)等超参数。

三、深度学习中的其他核心量

1. 向量(Vector)

  • 定义:1阶张量,具有大小和方向(例如 [v1, v2, v3])。
  • 应用:神经网络中的权重、偏差(Bias)向量。

2. 矩阵(Matrix)

  • 定义:2阶张量,二维数组(例如 [3x3])。
  • 应用:卷积核(Convolutional Kernel)、全连接层的权重矩阵。

3. 高阶张量(High-order Tensors)

  • 3D张量:时间序列数据([batch, time_steps, features])。
  • 4D张量:图像数据([batch, channels, height, width])。
  • 5D张量:视频数据([batch, frames, channels, height, width])。

4. 自动微分与计算图

  • Tensor在计算图中的角色
    • 每个操作(如加法、乘法)生成新的Tensor节点。
    • 反向传播时,通过链式法则计算梯度(Gradient)。

四、张量与Tensor的区别

维度数学张量深度学习Tensor
定义多重线性映射,强调坐标变换不变性多维数组,强调计算效率
应用场景物理学、连续介质力学深度学习、计算机视觉、NLP
存储方式符号化表达(如 σ_ij数组形式(如 [1, 2, 3]
计算支持手动推导GPU加速、自动微分

关键区别

  • 数学张量是抽象的数学实体,而深度学习中的Tensor是计算机实现的多维数组
  • 深度学习Tensor支持动态计算图,而数学张量通常用于静态分析。

五、深度学习中的张量操作

  1. 创建Tensor

    import torch
    # 从列表创建
    tensor = torch.tensor([1, 2, 3])
    # 全零张量
    zeros = torch.zeros(2, 3)
    
  2. 张量转换

    • Tensor ↔ NumPy数组torch.from_numpy() / .numpy()
    • Tensor ↔ 列表.tolist()
  3. 张量运算

    • 加法、乘法、矩阵乘法(@)。
    • 广播机制(Broadcasting):低维张量自动扩展到高维。
  4. GPU加速

    tensor = tensor.to("cuda")  # 将Tensor移动到GPU
    

六、总结

  • 标量是0维数据,向量是1维,矩阵是2维,高阶张量是3维及以上。
  • 深度学习中的Tensor是数学张量的计算机实现,通过多维数组高效处理数据。
  • 张量操作(如自动微分、GPU加速)是神经网络训练的核心。

您可能感兴趣的与本文相关的镜像

Wan2.2-I2V-A14B

Wan2.2-I2V-A14B

图生视频
Wan2.2

Wan2.2是由通义万相开源高效文本到视频生成模型,是有​50亿参数的轻量级视频生成模型,专为快速内容创作优化。支持480P视频生成,具备优秀的时序连贯性和运动推理能力

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值