研究人员是否通常将张量视为具有特定形状的数学对象?

人工智能 研究 数据可视化 张量
2021-10-22 03:58:22

包括神经网络在内的大多数人工智能实践研究都涉及更高维的张量。很容易想象到三个维度的张量。

当我问这个问题时,研究人员如何想象向量空间?在数学堆栈交换中,您可以阅读回复

回应#1:

我个人认为向量空间只是另一种代数对象,我们有时会用它来分析,沿着群、环和域的线。

回应#2

在研究数学中,线性代数主要用作基本工具,通常在没有可用几何可视化的环境中使用。在这些设置中,它的使用方式与基本代数相同,可以进行简单的计算。

回应#3:

将向量视为元组或箭头或点和箭头......是相当有限的。除了定义所要求的之外,我通常不会费心去想象任何关于它们的视觉或特定的东西......它们是我可以相互添加的对象,并且我可以通过乘以一个标量来“拉伸”和“反转”标量场。

简而言之,数学家通常将向量视为向量空间中的对象,而不是流行的学术/初学者想象,例如空间中的点或箭头。

我们网站上的一个类似问题也建议不要想象更高的维度并将维度视为自由度

我只知道关于张量的两种处理方法:

  1. 在空间上最多想象三维张量。

  2. 将张量视为具有形状属性的对象,看起来像n1×n2×n3×nd

大多数时候我更喜欢第一种方法。但是当我尝试理解使用更高维张量的代码(程序)时,我对第一种方法感到困难。我不习惯第二种方法,尽管我认为它足以理解张量上所有必需的任务。

我想知道:

  • 研究人员通常如何处理张量?
  • 如果是我提到的第二种方法:是否可以理解所有与高维张量相关的任务?
1个回答

我会说它们被视为多维数字数组。它们在实际维度中没有被可视化。有时,当有人试图解释一个需要它的概念时,小的会被可视化。

例如,您可能有一个变量uint8 training_batch[100][200][400][3];这是一批 100 张 RGB 图像,每张图像有 200x400 像素。一个像素是 [3] 个数字的数组;图像是 [200][400] 像素的数组;批次是 [100] 个图像的数组。没有比这更多的结构了。您不必尝试想象一个 4D 数字数组。(在这种特殊情况下,您可以轻松想象一组图像)

有用的想象每个维度的含义。第一个维度是批次中的图像。第 2 和第 3 维是图像中的像素位置。第 4 个维度是 R/G/B 通道。

如果我沿着一个维度减少张量,我不会认为它是扁平化的,而是用完一个维度。如果我想计算每个图像的平均颜色,我会减少第 2 维和第 3 维并得到另一个张量 shape [100][3]现在不再有宽度或高度尺寸,只有图像和通道。

如果将向量重新整形为,[100][240000]以便可以计算密集层的矩阵乘法,那么现在第 1 维仍然是批号,第 2 维基本上没有意义,但每个图像有 240000 个任意索引的数字。您也可以将其重塑为[100][80000][3]具有 80000 个任意索引的像素,但仍然可以使用通道号。

免责声明:我实际上不是研究人员。