一、啥是張量?
也許你剛剛對深度學(xué)習(xí)有了基本的了解,于是滿心歡喜的下載了tensorflow,準備開始搭建你的第一個神經(jīng)網(wǎng)絡(luò)。但是,一個叫張量的東西讓你產(chǎn)生了疑惑,這是啥?張量本身是一個數(shù)學(xué)概念。你可能對于標量和向量非常熟悉了,但是,當(dāng)我們想用數(shù)學(xué)語言去描述一個高維數(shù)據(jù)時,變量和向量就顯得力不從心了,所以張量的概念應(yīng)運而生。事實上,張量本身是標量和向量概念的延伸。python中一個張量通常被保存為numpy數(shù)組,numpy也被應(yīng)用于大部分的機器學(xué)習(xí)框架中。
我們可以把標量看成零階張量:
import numpy as np x = np.array(5) print(x)
輸出:5
向量看成一階張量:
x = np.array([1, 2, 3, 4]) print(x)
輸出:[1 2 3 4]
同樣的,把矩陣可以看成二階張量:
x = np.array([[1, 2, 3, 4], [5, 6, 7, 8]]) print(x)
輸出:[[1 2 3 4] [5 6 7 8]]
理論上張量可以延伸到n維數(shù)據(jù):
二、深度學(xué)習(xí)中的定義
在深度學(xué)習(xí)領(lǐng)域我們完全可以把張量等同于一個數(shù)據(jù)的容器,或者干脆想象成要一個水桶。當(dāng)水桶中只放了一滴水時就是0維張量,多滴水排成一排就是1維張量,聯(lián)排成面就變成了2維張量,依此類推,可以擴展到n維。這樣做的好處就是極大方便了數(shù)據(jù)的處理。
三、如何應(yīng)用
假設(shè)一個地區(qū)有10000人,我們要把所有的居民信息存儲到計算機中,包括姓名、性別、年齡、職業(yè)、家庭住址、受教育程度、婚否這7個特征。這時可以定義一個(10000,7)的二維數(shù)組來存儲信息。然后,我們可以定義一個張量來裝這個數(shù)組,同時張量的最大維度也被定義成了(10000,7)。如果我們需要存儲10個地區(qū)的數(shù)據(jù)就可以定義一個3維張量,它的維度是(10,10000,7)。
一張圖片可以用3維張量來表示:(width, height, depth)。但是,通常情況下我們會處理一個包含多張圖片的數(shù)據(jù)集,這時就需要用4維張量來表示:(num,width, height, depth)。num維度代表圖片的數(shù)量。
一張圖片:
圖片數(shù)據(jù)集:
5維張量可以用來存儲視頻,在tensorflow中是這樣定義的:(sample_size, frames, width, height, color_depth)。假如我們有5段視頻,每段有1000幀,每幀長為1920,寬為1080,顏色深度為3。那么可以表示為(5,1000,1920,1080,3)。
-
機器學(xué)習(xí)
+關(guān)注
關(guān)注
66文章
8481瀏覽量
133876 -
深度學(xué)習(xí)
+關(guān)注
關(guān)注
73文章
5548瀏覽量
122335
發(fā)布評論請先 登錄
【阿里云大學(xué)免費精品課】機器學(xué)習(xí)入門:概念原理及常用算法
TensorFlow教程|張量的階、形狀、數(shù)據(jù)類型
人工智能基本概念機器學(xué)習(xí)算法
基于回轉(zhuǎn)變換張量的6R機器人運動學(xué)研究
什么是機器學(xué)習(xí)_十張圖帶你解析機器學(xué)習(xí)的基本概念

優(yōu)化用于深度學(xué)習(xí)工作負載的張量程序

實現(xiàn)機器學(xué)習(xí)的一種重要框架是深度學(xué)習(xí)
機器學(xué)習(xí)教程之機器學(xué)習(xí)概念的深度解析
從概念和特點上闡述機器學(xué)習(xí)和深度學(xué)習(xí)的關(guān)系
機器學(xué)習(xí)全面解析

光子張量處理器—迸發(fā)5G機器學(xué)習(xí)新活力
GPU的張量核心: 深度學(xué)習(xí)的秘密武器

評論