为什么 'dimension' 在机器学习领域有几个不同的含义?

Why does 'dimension' mean several different things in the machine-learning world?

我注意到 AI 社区将各种张量称为 512-d,意思是 512 维张量,其中术语 'dimension' 似乎表示单个数据点表示中的 512 个不同的浮点值。例如在 512-d word-embeddings 中表示 512 长度的浮点向量,用于表示 1 个英语单词,例如https://medium.com/@jonathan_hui/nlp-word-embedding-glove-5e7f523999f6

但这不是512个不同的维度,它只是一维向量?为什么 dimension 一词的使用方式与平时如此不同?

当我们使用术语 conv1dconv2d 时,它们是 1 维和 2 维的卷积,维度以其在 math/sciences 中使用的典型方式使用,但是在词嵌入上下文中,一维向量被称为 512 维向量,还是我遗漏了什么?

为什么要过度使用术语 dimension?什么上下文决定了 dimension 在机器学习中的含义,因为这个术语似乎超载了?

这不是重载,而是标准用法。 512维向量space的元素是什么?它们是 512 维 向量 。每个都可以用 512 浮点数表示,如您的方程式所示。每个这样的向量跨越 512 维 space 的一维子 space。

当你谈到张量的维数时,张量是乘积的线性映射(粗略地说,我省略了对偶) N 向量 spaces 到实数。 TENSOR 的维度是 N.

如果想说得更具体一点,需要把dimensionrank、[=24=这几个词搞清楚]形状.

张量的维数就是秩,它有一个具体的定义:秩就是指数的个数。当你看到“3维张量”时,你可以理解为张量有3个指标,即T[i][j][k]。所以向量的秩为 1,矩阵的秩为 2,立方体的秩为 3,等等

当您想要指定每个维度的大小时,您应该更喜欢使用术语 shape。如果第 0 维有 10 个值,第 1 维有 20 个值,第 2 维有 30 个值,则 3 维(也称为秩 3)张量可以具有形状 [10, 20, 30]。 (这个形状可能表示一批 10 张图像,每张图像的形状为 20x30。)

不过请注意,在谈论 向量时 ,通常会说“512-D 向量”。正如您提到的,这个术语经常出现在词嵌入中(例如 "we used 512-D word embeddings")。由于根据定义 "vector" 表示等级 1,因此人们会将该语句解释为 "a structure of rank 1 with 512 values".

您可能会遇到有人说 "I have a 5-d vector",在这种情况下您需要跟进 "wait, do you mean a 5-d tensor or a 1-d vector with 5 values?"。

顺便说一句,我不是数学家。

在神经网络中的词嵌入降维以及许多其他机器学习领域中,确实是正确的将向量(通常是一维数组或张量)称为 n 维,其中 n 通常大于 2。这是因为我们通常工作在Euclidean space where a (data) point in a certain dimensional (Euclidean) space is represented as an n-tuple实数(即实数n-spaceℝn)。

下面是 3D(欧几里德)space 中(数据)点的示例ref。为了表示这个 space 中的任何一点,比如 d1,我们需要一个包含三个实数的元组 (x1 , y1, z1).

现在,你的困惑出现了,为什么这个点 d1 被称为 3 维数组而不是 1 维数组。原因是因为它躺在生活在这个3Dspace中。相同的论点可以扩展到任何 n 维实数 space 中的所有点,就像在 300d512d1024d 向量等嵌入的情况下所做的那样.

然而,在所有 nD 数组计算框架中,例如 NumPy、PyTorch、TensorFlow 等,这些仍然是一维数组,因为 length上述向量中的一个可以用一个数字表示。

但是,如果您有超过 1 个数据点怎么办?然后,您必须以某种(独特的)方式堆叠它们。这就是需要第二维的地方。因此,假设您垂直堆叠这些 512d 向量中的 4 个,那么您最终会得到形状 (4, 512) 的二维 array/tensor。请注意,这里我们将数组称为二维,因为需要两个整数来表示沿每个轴的extent/length。

为了更好地理解这一点,请参考我在 axis parameter visualization 上对 nD 数组的其他回答,我将在下面包含它的可视化表示。


ref: Euclidean space wiki