深度學習 - 深度學習的數據表示

深度學習的數據表示

張量是一個數據容器。它包含的數據幾乎總是數值數據,因此它是數字的容器。矩陣是二維張量。張量是矩陣向任意維度的推廣。
張量的維度通常叫作軸

標量(0D 張量):僅包含一個數字的張量叫作標量(scalar,也叫標量張量、零維張量、0D 張量)
向量(1D 張量):數字組成的數組叫作向量(vector)或一維張量(1D 張量)。一維張量只有一個軸。
矩陣(2D 張量):向量組成的數組叫作矩陣(matrix)或二維張量(2D 張量)。矩陣有2 個軸(通常叫作行和列)。你可以將矩陣直觀地理解爲數字組成的矩形網格。
3D 張量與更高維張量:將多個矩陣組合成一個新的數組,可以得到一個3D 張量,你可以將其直觀地理解爲數字組成的立方體。
將多個3D 張量組合成一個數組,可以創建一個4D 張量,以此類推。
深度學習處理的一般是0D 到4D 的張量,但處理視頻數據時可能會遇到5D 張量。

張量是由以下三個關鍵屬性來定義的:
· 軸的個數(階):例如,3D 張量有 3 個軸,矩陣有 2 個軸。這在 Numpy 等 Python 庫中也叫張量的ndim。
· 形狀:這是一個整數元組,表示張量沿每個軸的維度大小(元素個數)。
例如,前面矩陣示例的形狀爲(3, 5),3D 張量示例的形狀爲(3, 3, 5)。向量的形狀只包含一個元素,比如(5,),而標量的形狀爲空,即()。
· 數據類型(在 Python 庫中通常叫作 dtype):這是張量中所包含數據的類型,例如,張量的類型可以是float32、uint8、float64 等。在極少數情況下,你可能會遇到字符(char)張量。注意,Numpy(以及大多數其他庫)中不存在字符串張量,因爲張量存儲在預先分配的連續內存段中,而字符串的長度是可變的,無法用這種方式存儲。

通常來說,深度學習中所有數據張量的第一個軸(0 軸,因爲索引從0 開始)都是樣本軸(samples axis,有時也叫樣本維度)
深度學習模型不會同時處理整個數據集,而是將數據拆分成小批量。對於這種批量張量,第一個軸(0 軸)叫作批量軸(batch axis)或批量維度(batch dimension)。

 
向量數據:每個數據點都被編碼爲一個向量,因此一個數據批量就被編碼爲2D 張量(即向量組成的數組),其中第一個軸是樣本軸,第二個軸是特徵軸。

時間序列數據或序列數據:當時間(或序列順序)對於數據很重要時,應該將數據存儲在帶有時間軸的3D 張量中。每個樣本可以被編碼爲一個向量序列(即2D 張量),因此一個數據批量就被編碼爲一個3D 張量
在這裏插入圖片描述
根據慣例,時間軸始終是第2 個軸(索引爲1 的軸)
如:股票價格數據集:每一分鐘,我們將股票的當前價格、前一分鐘的最高價格和前一分鐘的最低價格保存下來。因此每分鐘被編碼爲一個3D 向量,整個交易日被編碼爲一個形狀爲(390, 3) 的2D 張量(一個交易日有390 分鐘),而250 天的數據則可以保存在一個形狀爲(250, 390, 3) 的3D 張量中。這裏每個樣本是一天的股票數據。

圖像數據
在這裏插入圖片描述

視頻數據
視頻數據是現實生活中需要用到5D 張量的少數數據類型之一。視頻可以看作一系列幀,每一幀都是一張彩色圖像。由於每一幀都可以保存在一個形狀爲(height, width, color_depth) 的3D 張量中,因此一系列幀可以保存在一個形狀爲(frames, height, width,color_depth) 的4D 張量中,而不同視頻組成的批量則可以保存在一個5D 張量中,其形狀爲(samples, frames, height, width, color_depth)。
 
 
深度學習的幾何解釋
神經網絡完全由一系列張量運算組成,而這些張量運算都只是輸入數據的幾何變換。因此,你可以將神經網絡解釋爲高維空間中非常複雜的幾何變換,這種變換可以通過許多簡單的步驟來實現。
對於三維的情況,下面這個思維圖像是很有用的。想象有兩張彩紙:一張紅色,一張藍色。將其中一張紙放在另一張上。現在將兩張紙一起揉成小球。這個皺巴巴的紙球就是你的輸入數據,每張紙對應於分類問題中的一個類別。神經網絡(或者任何機器學習模型)要做的就是找到可以讓紙球恢復平整的變換,從而能夠再次讓兩個類別明確可分。通過深度學習,這一過程可以用三維空間中一系列簡單的變換來實現,比如你用手指對紙球做的變換,每次做一個動作。
在這裏插入圖片描述
讓紙球恢復平整就是機器學習的內容:爲複雜的、高度摺疊的數據流形找到簡潔的表示。現在你應該能夠很好地理解,爲什麼深度學習特別擅長這一點:它將複雜的幾何變換逐步分解爲一長串基本的幾何變換,這與人類展開紙球所採取的策略大致相同。深度網絡的每一層都通過變換使數據解開一點點——許多層堆疊在一起,可以實現非常複雜的解開過程。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章