您的位置:首页 > 教育 > 锐评 > 深度学习的关键数据结构——张量解释

深度学习的关键数据结构——张量解释

2024/10/5 22:24:27 来源:https://blog.csdn.net/weixin_56054625/article/details/142287354  浏览:    关键词:深度学习的关键数据结构——张量解释

参考英文文章:

https://deeplizard.com/learn/video/Csa5R12jYRgicon-default.png?t=O83Ahttps://deeplizard.com/learn/video/Csa5R12jYRg

什么是张量(Tensor)

神经网络中的输入、输出和变换都是用张量表示的,因此,神经网络编程大量使用张量。张量的概念是其他更具体概念的数学归纳。

以下例子中的每一个都是更一般的张量概念的特定实例:

  • 标量
  • 数组
  • 向量
  • 二维数组
  • 矩阵

我们将上面列出的示例分成两组:

  • 数,数组,二维数组

  • 标量、向量、矩阵

第一组三个术语(数、数组、二维数组)是计算机科学中常用的术语,而第二组(标量、向量、矩阵)是数学中常用的术语。

我们经常看到这样的事情,不同的研究领域对同一个概念使用不同的词在深度学习中,我们通常将所有这些都称为张量。

访问元素所需的索引

上面两对元素之间的关系是,两个元素都需要相同数字的索引来引用数据结构中的特定元素。

例如,假设下面这样子的一个数组:

a = [1,2,3,4]

现在,假设我们想访问(引用)这个数据结构中的数字 3 。我们可以使用一个索引来完成,比如:

a[2]# 输出 3

假设我们有这个二维数组:

dd = [[1,2,3],[4,5,6],[7,8,9]]

现在假设我们想要访问数据结构中的数字 3 。在这种情况下,我们需要两个索引去定位这个特定的元素

dd[0][2]# 输出 3

张量是广义的

让我们看看当访问(引用)这些数据结构中的特定元素需要两个以上的索引会发生什么。

当需要两个以上的索引来访问特定元素时,我们停止为结构指定特定名称,并开始使用更通用的语言。

在数学中,我们不再使用标量、向量和矩阵等词,而是开始使用张量(tensor)或nd张量(nd-tensor)。

字母 n 告诉我们访问结构中特定元素所需的索引数

而在计算机科学中,我们不再使用诸如,数字,数组,2维数组之类的词,而开始使用多维数组或n维数组(nd-array)

字母 n 告诉我们访问结构中特定元素所需的索引数

所以张量是多维数组或者简称n维数组。我们之所以说张量是一种统称(generalization),是因为我们对n的所有值都使用张量这个词,就像这样:

  • 标量是0维张量

  • 向量是一维张量

  • 矩阵是二维张量

  • n维数组是n维张量

张量允许我们去掉这些特定的项,只需使用n来标识我们正在处理的维数。

关于张量的维数要注意的一点是,它不同于我们在向量空间中引用向量维数时的意思。张量的维数并不能告诉我们张量中有多少分量(components)。

例如,我们的二维张量dd有九个分量。

dd = [[1,2,3],[4,5,6],[7,8,9]]

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com