对张量tensor的一些理解

对张量tensor 的一些理解

我们知道经常用于神经网络的TensorFlow ,但是没想过Tensor是什么意思,今天我们就来小小的探究一下。下面的理解有些不一定对,很多都是从概念层面考虑的,就当时对张量这个概念的小探究。

 

张量的基本概念:

组件 component    组成张量的基本成分

基   basic vectors  构成组件的基本向量

张量的阶  rank    表示需要多少个基本向量完整解释每一个部件。

 

从不同的rank来分析:

1. 标量

Rank=0 也就是0阶张量。

具有一个组件,每个组件没有基。

 

比如温度标量(0阶张量):273开尔文,0摄氏度,32华氏度。这样只需要定义一个单位,就可以表示温度,并且温度没有方向。

所以标量为:1 component,0 basic vectors/ component。

 

2.向量

Rank=1 也就是1阶张量。

具有d个组件,每个组件具有一个基。

 

首先说表示三维空间中(维度d=3)的一个空间向量(一阶张量):那么此向量具有三个组件,向量=(x,y,z).且X、Y、Z坐标每个都具有一个基向量。所以说此时的空间向量就是具有3个组件,每个组件具有一个基。

 

我们再扩展一下,比如深度学习中研究身体素质,创造一个表示身体素质的向量(一阶张量),具有几个组件(或者说维度):身高、体重、臂力、速度等,此时d=4,这样这个向量就是:身体素质=(身高,体重,臂力,速度)。身高,体重,臂力,速度这些假设放在一个四维坐标系下,那么每个组件就具有了一个方向,也就是各有一个基向量来表示。

 

所以向量为:d component(d由向量的维度确定) ,1 basic vectors/ component。

 

3.矩阵(其实矩阵只是2阶张量的表示形式,但是张量与矩阵有不同,在于张量表示具体涵义,满足张量的变换原理,而矩阵只是数组组合)

Rank=2 也就是2阶张量。

具有d个组件,每个组件具有2个基。

 

首先以三维空间中某物体内部受力举例,每种力(组件)具有两个基,受力面、受力方向。以下图Pxx为例,Pxx表示,x面(法向量x)上x方向上的力。这样的力一共有9种,所以是9各组件,且每个组件具有两个基向量。

对张量tensor的一些理解

组成矩阵的话就是这样:

对张量tensor的一些理解

在这种情况下,代表此受力情况的P张量就具有9个组件,2个基向量。

可以看到行代表的物理意义力的方向具有三个维度,列代表的受力面也有三个维度。所以组件数目设为N,阶数为n,各阶维度设为a,则有:

对张量tensor的一些理解

也就是组件数目等于各阶维度的连乘。

 

4. 推广 图像作为张量

如果图像作为卷积神经网络的第一层输入,这个图像可以看做一个三阶张量。

具有H * W * C个组件,每个组件具有三个基向量,行,列,通道,但是这并不是平时使用的坐标的概念,而是行具有W个维度,列方向具有H个维度,通道方向有C个维度。每一个单通道像素就是一个组件。

 

自己的理解:张量的阶是特性数量,比如评价一个人,可以用两个阶表示,身体素质与脑力,也就是各个阶不一定是同一种东西。比如上面那个物体内受力的例子,其实两个阶是力的方向与受力面,代表的物理属性不一致。

 

身体素质可以分为 身高,体重,速度。

脑力可以分为 智力,情商。

这样组成一个2阶张量,共6个组件,每个组件2个基向量,用矩阵表示:

对张量tensor的一些理解

每个组件表示一个组合的属性,是不同的。

 

张量的其他一些说法:

  1. 一个量, 在不同的参考系下按照某种特定的法则进行变换, 就是张量。
  2. 用张量语言描述的物理定律自动保证了不随参考系变化的这一性质. 而且从记号的角度看, 用张量也更加简洁
  3. 矩阵的意义是线性变换, 相似矩阵是同一个线性变换在不同的基下的表示. 在数学家眼中, 张量已经被抽象成了线性变换。
  4. 张量的定义是从坐标转换来的。只要服从那个转换规律,那就是张量
  5. (计算机方面的说法)vector是一维的在学到tensor之前,你总该学过线性代数了吧,总该知道vector和matrix了吧。vector是一维的matrix是二维的。而tensor是这些的泛化,用rank来表示。rank = 0的时候,就是标量,rank = 1是vector,rank = 2是matrix,rank >= 2就没有自己的名称,都用rank N tensor来说了。也就是说,张量是向量、矩阵等变换性质的推广,多重线性函数的感觉。
  6. 或者就把张量当做多元数组:

对张量tensor的一些理解

 

参考:

张量Tensor是什么,有什么用

https://www.bilibili.com/video/BV1dJ411W7Xm?from=search&seid=844787483587450591

张量怎么变换,张量是矩阵吗?

https://www.bilibili.com/video/av93063462/?spm_id_from=333.788.b_636f6d6d656e74.14

什么是张量?

https://www.zhihu.com/question/20695804/answer/43265860