10分钟AI - Tensor(张量)

1592608-693f1b0f11568d68.png

image

也许你已经下载了TensorFlow,而且准备开始着手研究深度学习。但是你会疑惑:TensorFlow里面的Tensor,也就是“张量”,到底是个什么鬼?在你查阅了维基百科,NASA教程之后仍然不知道它在说些什么?归根结底,这些讲述张量的指南都假定你已经了解其描述的所有数学术语,而很明显的问题在于,你并没有。

张量(Tensor)是深度学习的基础,其核心可以看作成一个数据容器,可容纳数字,字符串和各种各样乱七八糟的东西。在这篇文章中,我们只讨论张量与数字的关系。这里引入一个新的概念,标量,表示每一个装在张量中的数字。

张量的维数

零阶张量

千万不要被唬住,0阶张量就等同于一个数字,也就是一个标量。随便举个例子,s=5 就算做一个零阶张量。

一阶张量

一阶张量在数学里的表示为向量,其维数对应其所在空间的维数。在一个N维空间中,则其可以表示为v = [T1,T2,...,TN],看起来很熟悉是不是。如果你是一名初等程序员,学过数组的话,在计算机的世界里,一阶张量就可以表示为一维数组。在这里我们又要引入一个新概念---分量。什么叫分量?从数学上的定义来说,把一个向量分解成几个方向的向量的和,那些方向上的向量就叫做该向量(未分解前的向量)的分量。看不懂是不是?傻瓜式的理解就是数组中的变量,也就是Ti,对应张量在第i个维度的分量(不要在意这些细节)。这里我们又可以发现:对于一阶张量来说,其所对应几维空间则其就拥有几个元素(分量)。

二阶张量

形象点比喻,二阶张量可以比作一个平面,在数学中可称之为二阶矩阵,而在计算机的世界里,抛开唬人的名称,在三维空间中它就是一个二维数组:a = [[1,2,3],[4,5,6],[7,8,9]]。聪明的你是不是想到什么了。如果在n维空间中,二阶张量所对应的数组是什么样子呢?答案是:

很明显,n维空间中二阶张量所对应的分量的数量是n的平方。

三阶张量

如果说二阶张量可以表示一个平面的话,三阶张量就好比是把这个平面摞起来,变成一个立方体。假设在三维空间里的一个三阶张量,就好比把三个二阶张量摞三层,拿上面的二维数组举例,在这里我们给数组加一个小小的角标i,对应每一层的index,则在三维空间内一个三阶张量可以表示为:A_3 = [a_1,a_2,a_3]。从一阶二阶张量来推断,很明显,n维空间中三阶张量中的分量数目为n的三次方。

....

大家可以自行脑补n阶张量的样子和对应n维空间中分量的数目(要是还不明白还是转行吧,板砖貌似是个不错的选择)。

作者:AI小白笔记

链接:https://www.jianshu.com/p/5df3ca2649d0

來源:简书

简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

猜你喜欢

转载自blog.csdn.net/weixin_34396902/article/details/87313916