閱讀655 返回首頁    go 阿裏雲 go 技術社區[雲棲]


什麼是張量、數據立體、矩陣、向量和純數

張量就是一個變化量。

張量有零階、一階、二階、三階、四階等等。

零階張量是純量(數值)

一階張量是向量(數值和方向的組合)

二階張量是矩陣(向量的組合)

三階張量是數據立體(矩陣的組合)

四階張量(數據立體的組合)

等等。


1、純量就是一個數值,可以看成是一個數值上的變化量。


2、向量是點到點的變化量,而點可以是一維空間上的點、二維空間上的點、三維空間上的點,等等。

一維空間上的點的變化,好像點(x)在線上的移動,也即是左右的線性變化,變化量可以表示為[x1]。

二維空間上的點的變化,好像點(x,y)在麵上的移動,也即是前後左右的線性變化,變化量可以表示為[x1, y1]。

三維空間上的點的變化,好像點(x,y,z)在體上的移動,也即是前後上下左右的線性變化,變化量可以表示為[x1, y1, z1]。

N維空間上的點的變化,好像點(x,y,z,.....n)在體上的移動,也即是2n個方向的線性變化,變化量可以表示為[x1, y1, z1,……n1]。


3、矩陣是圖形到圖形的變化量,而圖形可以是一維的線、二維的麵、三維的體,等等。

3.1、一維的線的變化,我們知道兩點可以表示一線段,則需要用兩個向量組成的矩陣對兩點進行變化,就能達到對線段的變化。

一維空間   二維空間     三維空間 N維空間 

點1的變化量 [x1] [x1, y1] [x1, y1, z1] [x1,  y1,  z1,……n1]

點2的變化量 [x2] [x2,y2] [x2,y2,z2] [x2, y2, z2,……n2]

而矩陣是向量的組合,兩個向量組合的矩陣分別是:

  2*1的矩陣            2*2的矩陣 2*3的矩陣     2*n的矩陣

                        x1 x1, y1         x1, y1, z1 x1,  y1,  z1,……n1

x2 x2,y2         x2,y2,z2 x2, y2, z2,……n2


3.2、二維的麵的變化,我們知道三點可以表示一個三角形,四點可以表示一個四邊形,五點可以表示一個五邊形,等等。就拿三角形來說,需要用三個向量組成的矩陣對三點進行變化,就能達到對三角形的變化。

一維空間    二維空間    三維空間 N維空間 

點1的變化量 [x1] [x1, y1] [x1, y1, z1]         [x1,  y1,  z1,……n1]

點2的變化量 [x2] [x2,y2] [x2,y2,z2] [x2, y2, z2,……n2]

點3的變化量 [x3] [x3,y3] [x3,y3,z3] [x3, y3, z3,……n3]

而矩陣是向量的組合,三個向量組合的矩陣分別是:

  2*1的矩陣            2*2的矩陣 2*3的矩陣     2*n的矩陣

                        x1 x1, y1         x1, y1, z1 x1,  y1,  z1,……n1

x2 x2,y2         x2,y2,z2 x2, y2, z2,……n2

x3 x3,y3         x3,y3,z3 x3, y3, z3,……n3


3.3、三維的體的變化,我們知道4點可以表示一個三角堆,5點可以表示四棱錐、6點可以表示一個三棱柱,等等。就拿三角堆來說,需要用四個向量組成的矩陣來對四個頂點進行變化,就能達到對三角堆的變化。

一維空間    二維空間    三維空間 N維空間 

點1的變化量 [x1] [x1, y1] [x1, y1, z1] [x1,  y1,  z1,……n1]

點2的變化量 [x2] [x2,y2] [x2,y2,z2] [x2, y2, z2,……n2]

點3的變化量 [x3] [x3,y3] [x3,y3,z3] [x3, y3, z3,……n3]

點4的變化量 [x4] [x4,y4] [x4,y4,z4] [x4, y4, z4,……n3]

而矩陣是向量的組合,四個向量組合的矩陣分別是:

  2*1的矩陣            2*2的矩陣 2*3的矩陣     2*n的矩陣

x1 x1, y1         x1, y1, z1 x1,  y1,  z1,……n1

x2 x2,y2         x2,y2,z2 x2, y2, z2,……n2

x3 x3,y3         x3,y3,z3 x3, y3, z3,……n3

x4 x4,y4         x4,y4,z4 x4, y4, z4,……n3


4、三階張量可以表示圖像的變化量,圖像與圖形的不同是圖像的點除了有坐標,還具有顏色特性,如RGB、RGBA、YCbcr等表示的顏色。拿RGB的圖像來說,它的變化量包括坐標和色值變化。圖像坐標的變化相當於圖形的變化,即是一個矩陣的變化。色值變化也就是RGB在顏色空間中的一個點變化,也是一個矩陣的變化,圖像變化有兩個矩陣變化,三階張量是矩陣的組合,則可以用三階張量來表示圖像的變化量,如tensor[3,5,5]表示3顏色通道的5*5大小圖形的變化量。


5、四階張量在TensorFlow的神經卷積網絡中,經常用到。下麵舉個例子。

5.1、輸入張量格式:[batch, in_height, in_width, in_channels]

5.2、卷積核格式:[filter_height, filter_width, in_channels, out_channels]

5.3、我們來對輸入圖片進行卷積得到特征圖片。

一張5通道的5*5的輸入圖片:input = [1, 5, 5, 5]; 

5輸入通道、7輸出通道的3*3大小的卷積核:filter = [3, 3, 5, 7];

strides=[1,1,1,1]表示各個方向步長為1;

padding=“SAME”表示卷積核遍曆到輸入圖片的每個像素,得到的特征圖片與輸入圖片是一樣大小。

tf.shape(tf.nn.conv2d(input, filter, strides=[1,1,1,1], padding=“SAME”));

卷積結果是:[1, 5, 5, 7]

5.4、用圖形來表示上麵的卷積過程。

6706a8175319d04f1bc5f72eb99d4d1bfc74ac83


最後更新:2017-07-14 16:02:35

  上一篇:go  換一種思路,服務器數據中心將更加強大
  下一篇:go  數據中心的安全永遠不會是過時話題