深度學習基本概念

數(shù)據(jù)流圖

數(shù)據(jù)流圖(data flow graphs)伺绽,用于數(shù)值計算的開源軟件庫闲孤。節(jié)點(Nodes)在圖中表示數(shù)學操作搏色,圖中的線(edges)則表示在節(jié)點間相互聯(lián)系的多維數(shù)據(jù)數(shù)組,即張量(tensor)缭召。例如TensorFlow等

image.png

張量

張量是所有深度學習框架中最核心的組件员辩,因為后續(xù)的所有運算和優(yōu)化算法都是基于張量進行的盒粮。幾何代數(shù)中定義的張量是基于向量和矩陣的推廣,通俗一點理解的話奠滑,我們可以將 標量視為零階張量拆讯,矢量視為一階張量,矩陣就是二階張量养叛。舉例來說,我們可以將任意一張RGB彩色圖片表示成一個三階張量(三個維度分別是圖片的高度宰翅、寬度和色彩數(shù)據(jù))弃甥。如下圖所示是一張普通的水果圖片,按照RGB三原色表示汁讼,其可以拆分為三張紅色淆攻、綠色和藍色的灰度圖片阔墩,如果將這種表示方法用張量的形式寫出來,就是圖中最下方的那張表格瓶珊。


在python中:

  • 零階張量啸箫,標量使用基本加減運算,對應單個Tensor
  • 一階張量伞芹,矢量忘苛,使用list,tuple唱较,numpy.array扎唾,binascii等,對應數(shù)組Tensor
  • 二階張量南缓,矩陣胸遇,使用numpy.matrix,pandas.series汉形,對應二位Tensor
  • 三階張量纸镊,如圖,使用pandas.dataframe概疆,對應一個二位加通道的Tensor

張量的階數(shù)有時候也稱為維度逗威,或者軸,軸這個詞翻譯自英文axis届案。譬如一個矩陣[[1,2],[3,4]]庵楷,是一個2階張量,有兩個維度或軸楣颠,沿著第0個軸(為了與python的計數(shù)方式一致尽纽,本文檔維度和軸從0算起)你看到的是[1,2],[3,4]兩個向量童漩,沿著第1個軸你看到的是[1,3]弄贿,[2,4]兩個向量。

要理解“沿著某個軸”是什么意思矫膨,不妨試著運行一下下面的代碼:

import numpy as np

a = np.array([[1,2],[3,4]])
s0 = np.sum(a, axis=0)
s1 = np.sum(a, axis=1)

print s0
print s1

data_format

在計算機中機器碼的表示方式分為大端和小端差凹,在數(shù)據(jù)的表達上也分大端和小端。例如如何表示一組彩色圖片的問題上侧馅,Theano和TensorFlow發(fā)生了分歧危尿,'th'模式,也即Theano模式會把100張RGB三通道的16×32(高為16寬為32)彩色圖表示為下面這種形式(100,3,16,32)馁痴,Caffe采取的也是這種方式谊娇。第0個維度是樣本維,代表樣本的數(shù)目罗晕,第1個維度是通道維济欢,代表顏色通道數(shù)赠堵。后面兩個就是高和寬了。這種theano風格的數(shù)據(jù)組織方法法褥,稱為“channels_first”茫叭,即通道維靠前。

而TensorFlow半等,的表達形式是(100,16,32,3)揍愁,即把通道維放在了最后,這種數(shù)據(jù)組織方式稱為“channels_last”酱鸭。

Keras默認的數(shù)據(jù)組織形式在~/.keras/keras.json中規(guī)定吗垮,可查看該文件的image_data_format一項查看,也可在代碼中通過K.image_data_format()函數(shù)返回凹髓,請在網(wǎng)絡的訓練和測試中保持維度順序一致烁登。

函數(shù)式模型

在Keras 0.x中,模型其實有兩種蔚舀,一種叫Sequential饵沧,稱為序貫模型,也就是單輸入單輸出赌躺,層與層之間只有相鄰關系狼牺,跨層連接統(tǒng)統(tǒng)沒有。這種模型編譯速度快礼患,操作上也比較簡單是钥。第二種模型稱為Graph,即圖模型缅叠,這個模型支持多輸入多輸出悄泥,層與層之間想怎么連怎么連,但是編譯速度慢肤粱〉簦可以看到,Sequential其實是Graph的一個特殊情況领曼。

在Keras1和Keras2中鸥鹉,圖模型被移除,而增加了了“functional model API”庶骄,這個東西毁渗,更加強調(diào)了Sequential是特殊情況這一點。一般的模型就稱為Model单刁,然后如果你要用簡單的Sequential灸异,OK,那還有一個快捷方式Sequential。

由于functional model API在使用時利用的是“函數(shù)式編程”的風格绎狭,我們這里將其譯為函數(shù)式模型∪彀總而言之儡嘶,只要這個東西接收一個或一些張量作為輸入,然后輸出的也是一個或一些張量恍风,可以構(gòu)建有向圖蹦狂,統(tǒng)統(tǒng)都稱作“模型”。

batch

深度學習的優(yōu)化算法朋贬,說白了就是梯度下降凯楔。每次的參數(shù)更新有兩種方式。

  • 第一種锦募,遍歷全部數(shù)據(jù)集算一次損失函數(shù)摆屯,然后算函數(shù)對各個參數(shù)的梯度,更新梯度糠亩。這種方法每更新一次參數(shù)都要把數(shù)據(jù)集里的所有樣本都看一遍虐骑,計算量開銷大,計算速度慢赎线,不支持在線學習廷没,這稱為Batch gradient descent,批梯度下降垂寥。

  • 另一種颠黎,每看一個數(shù)據(jù)就算一下?lián)p失函數(shù),然后求梯度更新參數(shù)滞项,這個稱為隨機梯度下降狭归,stochastic gradient descent。這個方法速度比較快蓖扑,但是收斂性能不太好唉铜,可能在最優(yōu)點附近晃來晃去,hit不到最優(yōu)點律杠。兩次參數(shù)的更新也有可能互相抵消掉潭流,造成目標函數(shù)震蕩的比較劇烈。

為了克服兩種方法的缺點柜去,現(xiàn)在一般采用的是一種折中手段灰嫉,mini-batch gradient decent,小批的梯度下降嗓奢,這種方法把數(shù)據(jù)分為若干個批讼撒,按批來更新參數(shù),這樣,一個批中的一組數(shù)據(jù)共同決定了本次梯度的方向根盒,下降起來就不容易跑偏钳幅,減少了隨機性。另一方面因為批的樣本數(shù)與整個數(shù)據(jù)集相比小了很多炎滞,計算量也不是很大敢艰。

基本上現(xiàn)在的梯度下降都是基于mini-batch的,所以Keras的模塊中經(jīng)常會出現(xiàn)batch_size册赛,就是指這個钠导。

順便說一句,Keras中用的優(yōu)化器SGD是stochastic gradient descent的縮寫森瘪,但不代表是一個樣本就更新一回牡属,還是基于mini-batch的。

epochs

epochs指的就是訓練次數(shù)扼睬。

原文地址略有改動

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末逮栅,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子痰驱,更是在濱河造成了極大的恐慌证芭,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,214評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件担映,死亡現(xiàn)場離奇詭異废士,居然都是意外死亡,警方通過查閱死者的電腦和手機蝇完,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,307評論 2 382
  • 文/潘曉璐 我一進店門官硝,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人短蜕,你說我怎么就攤上這事氢架。” “怎么了朋魔?”我有些...
    開封第一講書人閱讀 152,543評論 0 341
  • 文/不壞的土叔 我叫張陵岖研,是天一觀的道長。 經(jīng)常有香客問我警检,道長孙援,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,221評論 1 279
  • 正文 為了忘掉前任扇雕,我火速辦了婚禮拓售,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘镶奉。我一直安慰自己础淤,他們只是感情好崭放,可當我...
    茶點故事閱讀 64,224評論 5 371
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著鸽凶,像睡著了一般币砂。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上玻侥,一...
    開封第一講書人閱讀 49,007評論 1 284
  • 那天道伟,我揣著相機與錄音,去河邊找鬼使碾。 笑死,一個胖子當著我的面吹牛祝懂,可吹牛的內(nèi)容都是我干的票摇。 我是一名探鬼主播,決...
    沈念sama閱讀 38,313評論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼砚蓬,長吁一口氣:“原來是場噩夢啊……” “哼矢门!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起灰蛙,我...
    開封第一講書人閱讀 36,956評論 0 259
  • 序言:老撾萬榮一對情侶失蹤祟剔,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后摩梧,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體物延,經(jīng)...
    沈念sama閱讀 43,441評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,925評論 2 323
  • 正文 我和宋清朗相戀三年仅父,在試婚紗的時候發(fā)現(xiàn)自己被綠了叛薯。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,018評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡笙纤,死狀恐怖耗溜,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情省容,我是刑警寧澤抖拴,帶...
    沈念sama閱讀 33,685評論 4 322
  • 正文 年R本政府宣布,位于F島的核電站腥椒,受9級特大地震影響乖杠,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜杭攻,卻給世界環(huán)境...
    茶點故事閱讀 39,234評論 3 307
  • 文/蒙蒙 一钝侠、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧伐弹,春花似錦拉馋、人聲如沸榨为。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,240評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽随闺。三九已至,卻和暖如春蔓腐,著一層夾襖步出監(jiān)牢的瞬間矩乐,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,464評論 1 261
  • 我被黑心中介騙來泰國打工回论, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留散罕,地道東北人。 一個月前我還...
    沈念sama閱讀 45,467評論 2 352
  • 正文 我出身青樓傀蓉,卻偏偏與公主長得像欧漱,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子葬燎,可洞房花燭夜當晚...
    茶點故事閱讀 42,762評論 2 345

推薦閱讀更多精彩內(nèi)容