深度学习中会经常涉及到张量的维数、向量的维数的概念,我发现自己一直把它们给混淆了,原因是被一些约定俗成的叫法扰乱了,下面来介绍一下它们的区别。
首先,张量的维数等价于张量的阶数。
0维的张量就是标量,1维的张量就是向量,2维的张量就是矩阵,大于等于3维的张量没有名称,统一叫做张量。下面举例:
标量:很简单,就是一个数,1,2,5,108等等
向量:[1,2],[1,2,3],[1,2,3,4],[3,5,67,·······,n]都是向量
矩阵:[[1,3],[3,5]],[[1,2,3],[2,3,4],[3,4,5]],[[4,5,6,7,8],[3,4,7,8,9],[2,11,34,56,18]]是矩阵
3维张量:[[[1,2],[3,4]],[[1,2],[3,4]]]
但是混淆的地方来了,就是数学里面会使用3维向量,n维向量的说法,这其实指的是1维张量(即向量)的形状,即它所含分量的个数,比如[1,3]这个向量的维数为2,它有1和3这两个分量;[1,2,3,······,4096]这个向量的维数为4096,它有1、2······4096这4096个分量,都是说的向量的形状。你不能说[1,3]这个“张量”的维数是2,只能说[1,3]这个“1维张量”的维数是2。
矩阵也是类似,常常说的n×m阶矩阵,这里的阶也是指的矩阵的形状。