Tensorflow 为什么';尺寸';在机器学习的世界里意味着几种不同的东西?

Tensorflow 为什么';尺寸';在机器学习的世界里意味着几种不同的东西?,tensorflow,deep-learning,neural-network,pytorch,word-embedding,Tensorflow,Deep Learning,Neural Network,Pytorch,Word Embedding,我注意到AI社区将各种张量称为512-d,这意味着512维张量,其中术语“维”似乎表示单个数据点表示中的512个不同浮点值。e、 g.在512-d中,单词嵌入指用于表示1个英语单词的512个浮点长度向量,例如 但它不是512个不同的维度,它只是一维向量?为什么术语维度的使用方式与通常不同 当我们使用术语conv1d或conv2d时,它们是一维和二维的卷积,维度的使用方式与数学/科学中的典型方式相同,但在单词嵌入上下文中,一维向量被称为512维向量,或者我遗漏了什么 为什么术语维度的使用会过多?什

我注意到AI社区将各种张量称为512-d,这意味着512维张量,其中术语“维”似乎表示单个数据点表示中的512个不同浮点值。e、 g.在512-d中,单词嵌入指用于表示1个英语单词的512个浮点长度向量,例如

但它不是512个不同的维度,它只是一维向量?为什么术语
维度
的使用方式与通常不同

当我们使用术语
conv1d
conv2d
时,它们是一维和二维的卷积,维度的使用方式与数学/科学中的典型方式相同,但在单词嵌入上下文中,一维向量被称为512维向量,或者我遗漏了什么


为什么术语
维度的使用会过多?什么样的上下文决定了机器学习中
维度
的含义,因为该术语似乎过载了?

它不是过载,而是标准用法。512维向量空间的元素是什么?它们是512维向量。其中每一个都可以用512个浮点数表示,如您的等式所示。每个这样的向量跨越512维空间的1维子空间


当你谈论张量的维数时,张量是一个线性映射(粗略地说,我省略了对偶),从N向量空间到实空间的乘积。张量的维数是N.

如果你想更具体一些,你需要清楚地知道维数、秩和形状

张量的维数意味着秩,它有一个特定的定义:秩是索引的数量。当你看到“三维张量”时,你可以认为这意味着张量有3个指数,即
T[i][j][k]
。向量有秩1,矩阵有秩2,立方体有秩3,等等

如果要指定每个标注的大小,则应使用术语
shape
。如果第0维有10个值,第1维有20个值,第2维有30个值,则三维(又名秩3)张量可以具有形状[10,20,30]。(例如,该形状可能表示一批10幅图像,每幅图像的形状为20x30。)

不过,请注意,当谈到矢量时,通常会说“512-D矢量”。正如您所提到的,这个术语在单词嵌入中经常出现(例如,“我们使用了512-D单词嵌入”)。由于“向量”的定义是指秩1,那么人们会将该语句解释为“具有512个值的秩1结构”

你可能会遇到有人说“我有一个5-d向量”,在这种情况下,你需要接着说“等等,你是指一个5-d张量还是一个有5个值的1-d向量?”

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

在神经网络中嵌入单词、降维和许多其他机器学习领域,将向量(通常是一维数组或张量)称为n维是正确的,其中
n
通常大于2。这是因为我们通常在特定维(欧几里德)空间中的(数据)点表示为实数(即实n-空间)的集合的情况下工作ℝn)

下面是3D(欧几里德)空间中(数据)点的示例REF。为了表示这个空间中的任何点,比如说
d
1,我们需要一个三个实数的元组(
x
1,
y
1,
z
1)

现在,您的困惑出现了,为什么这一点
d
1被称为三维数组而不是一维数组。原因是因为它位于或生活在这个三维空间中。相同的参数可以扩展到任何n维实空间中的所有点,就像嵌入
300d
512d
1024d
向量等时一样

然而,在所有nD数组计算框架中,如NumPy、PyTorch、TensorFlow等,这些仍然是1D数组,因为上述向量的长度可以用单个数字表示

但是,如果您有多个数据点呢?然后,您必须以某种(唯一的)方式来堆叠它们。这就是需要第二维度的地方。那么,假设你垂直叠加4个
512d
向量,然后得到一个形状为
(4512)
的二维数组/张量。请注意,这里我们将数组称为2D,因为需要两个整数来表示沿每个轴的范围/长度

为了更好地理解这一点,请参考我关于nD阵列的另一个答案,我将在下面介绍它的视觉表示



ref:

从这个意义上讲,许多术语都是“过载的”,整个科学界几乎所有的符号都是如此。每个上下文中只有有限数量的有用单词,因此在某些情况下,重载变得不可避免。顺便说一句,Numpy使用术语
shape
,PyTorch使用
size
,表示n张量的
n
。我不确定我是否理解。表示“cat”的单词的512-d单词嵌入是长度为512的一维向量。这和512维张量不同吗?一个单词嵌入存在512维向量空间中。512维张量是从512个向量空间的乘积到R的映射。