想象一下,你手里有一臺相機或者一部手機,它可以拍照。你看到的每一張照片,其實都是由成千上萬,甚至上百萬個微小的點構成的,這些點就叫做像素。 ![]() 當人們說他們的手機有1200萬、2000萬,甚至5000萬像素的攝像頭時,說的正是圖像中包含了多少這樣的微小像素。每一個像素都攜帶一些信息,要么只是亮度值,要么就是它應該呈現的顏色。 在最開始的三個例子里,我們只會討論黑白圖像,也就是所謂的灰度圖像。在灰度圖像里,每個像素只存儲一個數值,這個數值在 0 到 255 之間,用來表示它的亮度。因為顯然它是黑白圖像,所以不會存儲任何顏色信息。 零維張量 讓我們從最簡單的層級開始,那就是零維張量。一個零維張量就是一個單獨的數字,僅此而已。就好像你問:“在一張黑白照片里,單獨的某一個像素的亮度是多少?” 這個像素沒有寬度,沒有高度,只有一個點。舉個例子,這個像素的亮度可能是 128。所以,一個零維張量就是一個數字,比如 128。它沒有形狀、沒有結構、沒有方向,僅僅是一個單獨的數。 一維張量 現在我們向前走一步。如果你有一排像素,比如說照片的最上面一行像素,每一個像素都有自己的亮度值。你可以把它看作一個一維張量,簡稱 1D。舉例來說,假設一行里有五個灰度像素,它們的亮度值可能是 100、20、140、200 和 30。這樣你就得到五個依次排列的數字。這就是一個數字列表。它有長度或大小,但沒有高度和寬度,就像一條直線。 類似地,即使是一條豎直的像素帶——也就是一列像素——依舊是一個一維張量,因為它本質上還是一個方向上的數字列表。所以,一維張量就像是黑白圖像里的一行或者一列像素值,它只承載一個維度的數據。我們也常常把一維張量稱為向量。 二維張量 接下來再走一步,如果我們有一整張圖像,比如一張小的黑白照片,其中每個像素仍然只存儲一個亮度值,但它們現在是按照行和列排列的。這就形成了一個網格。這就是二維張量,簡稱 2D。在這個網格的每一個位置上都有一個數字,比如左上角可能是 100,它旁邊的是 110,依此類推。黑白圖像——也就是灰度照片——就是這樣存儲的:一大張數字表。所以,二維張量也被稱為矩陣,它是按行和列排列的像素值。 三維張量 到目前為止,我們討論的都是灰度像素——只有亮度,沒有顏色。那如果我們想存儲彩色圖像,比如一張你用手機拍的真實照片呢?每一個彩色像素不再只是一個數字,而是由三個不同的數值構成:一個表示紅色,一個表示綠色,一個表示藍色。它們被稱為通道。 ![]() 所以,現在你的圖像中的每一個點不再是一個單獨的數,而是一個包含三個數值的小捆綁。舉個例子,如果你的圖像是 3 像素高、3 像素寬,但每個像素有三個值而不是一個,你就得到了三張矩陣疊加在一起:一張表示紅色,一張表示綠色,一張表示藍色。這就叫做三維張量,簡稱 3D。 你可以把它想象成一個數字立方體。在高度方向上,有行;在寬度方向上,有列;而在第三個方向上,也就是深度方向,有顏色通道。所以,這個立方體的每一個點都由三層數值構成:紅、綠、藍。 讓我們舉一個具體的例子。假設第一行第一列的那個像素,它的紅色值是 255,綠色值是 0,藍色值也是 0。那就意味著這個像素是鮮艷的紅色。下一個像素可能會有不同的紅、綠、藍數值。這些彩色數值組合在一起,就構成了完整的圖像。而所有這些數值,都存在于一個三維張量里。 所以,每一次你在手機相冊里滑動查看照片時,你的眼睛其實都在看三維張量,只是你沒有意識到。 現實世界的例子 既然我們已經用像素理解了張量,那就把這種理解擴展到其他現實世界的例子。首先,我們來看天氣數據。想象一下,我們要追蹤不同城市隨時間變化的溫度。如果你有 10 個城市的溫度數據,每小時測量一次,持續 24 小時,你可以把這些數據存儲為一個二維張量:24 行代表每個小時,10 列代表每個城市。 但如果我們還想加入其他數據,比如濕度和風速呢?那么,每個單元格就不再是一個數字,而是一個由三個數值組成的小組合:溫度、濕度和風速。于是,這些數據就變成了一個三維張量,其中第三個維度用來存儲不同的天氣特征。 金融領域的例子 現在讓我們轉到一個完全不同的領域——金融。假設你在追蹤 50 家公司的股票價格,跨度是 100 天。這就構成了一個二維張量:每一行代表一天,每一列代表一家公司。 但是,如果你還想在每只股票里存儲更多細節,比如開盤價、收盤價和交易量,那么每一個單元格就會變成一個數值組合。這就引入了第三個維度。于是,我們就可以把這份數據看成是一個立方體。假設這份數據對應的是某一個證券交易所,比如紐約證券交易所(NYSE)。當然這里是假設的數據,但我們可以把 NYSE 想象成這樣一個立方體。 接著,如果我們對其他證券交易所也有類似的存儲方式,比如納斯達克(NASDAQ)、印度的國家證券交易所(NSE)、香港交易所,以及東京證券交易所,那么它們每一個都會有自己的數據立方體,就像 NYSE 一樣。 所以,現在我們不再只有一個立方體,而是有一系列立方體,每個交易所一個。如果你把這些立方體堆疊在一起,比如并排放置,那么就形成了一個四維張量,一種能夠容納多層次、多來源金融數據的結構。 這正是深度學習系統處理龐大數據集的方式:通過把它們組織進高維張量。這些張量幫助金融分析師在龐大的數據集中進行運算、發現模式并進行預測。 |
|
來自: taotao_2016 > 《幾何》