张量是深度学习中用于表示数据的多维数组。它们是权重、激活、梯度等的基本数据结构。张量的维度称为"阶"或"秩"。例如:
- 0阶张量:标量,只有一个数值,没有维度。
- 1阶张量:向量,有一维数组,可以表示一系列数值。
- 2阶张量:矩阵,有二维数组,可以表示表格数据或图像的灰度值。
- 更高阶张量:具有三维或更多维度的数组,常用于表示彩色图像(RGB三个通道)、视频数据(时间+空间维度)或复杂的多维特征空间。
在神经网络中,权重通常以张量的形式存储。例如,在全连接层中,权重张量的形状通常是 [输入特征数, 输出特征数]。在卷积层中,权重张量的形状可能包括卷积核的高度、宽度、输入通道数和输出通道数。
此外,激活函数 和损失函数的输入和输出也通常以张量的形式表示。在训练过程中,梯度(也是张量)通过反向传播算法计算得到,并用于更新权重。
因此,权重是张量的一个特例,用于表示神经网络中的参数。而张量则是更一般的数据结构,用于表示和处理多维数据。在深度学习中,理解和操作张量是非常重要的技能。
一、张量的定义
基本概念:
张量是一个定义在一些向量空间和一些对偶空间的笛卡尔积上的多重线性映射。
它是一个可用来表示在一些矢量、标量和其他张量之间的线性关系的多线性函数。
表示方法:
张量在数学上通常用花体符号表示,如T、A、X等。
n阶张量可以表示为定义在n个向量空间的笛卡尔积上的多重线性函数,记为T ∈ K I1×I2×⋯×In。
阶数与维数:
张量的阶数(或称为秩)是指其包含的向量空间的数量。
维数则是指每个向量空间的维度。
二、张量的性质
张量不变量:
张量的分量可以组成某些函数,这些函数值与坐标轴无关,不随坐标的改变而改变,这样的函数称为张量不变量。
叠加与分解:
几个同阶张量各对应的分量之和或差定义为另一个同阶张量。
对称性:
张量可以分为对称张量、非对称张量和反对称张量。
三、张量的应用
物理学:
张量在力学、物理学中有重要应用,如应力张量、应变张量等。
在连续介质力学中,张量是基本语言,用于描述物理现象。
数学:
张量理论是数学的一个分支学科,与线性代数密切相关。
它提供了处理多维数组和多重线性映射的工具。
计算机科学:
在计算机科学中,特别是在深度学习框架(如PyTorch)中,张量被用作多维数组。
它可以包含任意数量的轴(或称为维度),用于存储神经网络的权重参数、处理文本数据和时间序列数据等。
其他领域:
张量还在医学(如扩散张量成像)、化学等领域有应用。
四、张量的历史与发展
- "张量"一词最初由威廉·罗恩·哈密顿在1846年引入,但他把这个词用于指代现在称为模的对象。
- 该词的现代意义是沃尔德马尔·福格特在1899年开始使用的。