深度學(xué)習(xí)以及卷積基礎(chǔ)

前言

image

深度學(xué)習(xí)是機(jī)器學(xué)習(xí)的一個分支,是基于數(shù)據(jù)來學(xué)習(xí)表示數(shù)據(jù)的一組算法。下面我們列出最受歡迎的一些深度學(xué)習(xí)算法佛致。

卷積神經(jīng)網(wǎng)絡(luò)

深度信念網(wǎng)絡(luò)

自動編碼器

遞歸神經(jīng)網(wǎng)絡(luò)(RNN / LSTM / GRU)

對抗生成網(wǎng)絡(luò)(GAN)

深度學(xué)習(xí)的目的之一是他們將取代手工制作的特征提取。這個想法是,他們將從給定的數(shù)據(jù)中“學(xué)習(xí)”到所需的最佳特征畏浆。

image

層與層

深度學(xué)習(xí)模型由多層構(gòu)成,在人工神經(jīng)網(wǎng)絡(luò)的情況下狞贱,具有2個以上隱藏層的多層感知器(MLP)已經(jīng)是深度模型刻获。

作為一個經(jīng)驗法則,深層模型有可能比淺層模型表現(xiàn)更好瞎嬉。但是蝎毡,越深的神經(jīng)網(wǎng)絡(luò)你需要越多的數(shù)據(jù)來避免過擬合。

image

層類型

這里列出一些最常用的圖層:

卷積層

最大/平均池化層

Dropout層

批量標(biāo)準(zhǔn)化層

全連接層

Relu氧枣,Tanh沐兵,Sigmoid層(非線性層)

Softmax,交叉熵便监,SVM痒筒,歐幾里得(損失層)

避免過擬合(正則化)

除了獲得更多的數(shù)據(jù)之外,還有一些技巧用于解決過度擬合問題茬贵,這里列出了一些最常見的技術(shù):

Dropout

L2正則化

數(shù)據(jù)增強

Dropout

這是一種在訓(xùn)練期間隨機(jī)關(guān)閉全連接層中一些神經(jīng)元的技術(shù)簿透。

image

Dropout迫使全連接層以不同的方式學(xué)習(xí)相同的概念。

L2正則化

最常見的正則化形式是L2正則化解藻,L2正則化是給損失函數(shù)添加一個額外的懲罰項老充,這個懲罰項也就是我們正在優(yōu)化的所有權(quán)重/參數(shù)的平方值。對于神經(jīng)網(wǎng)絡(luò)的每一個參數(shù)ω,我們加入一項0.5λω2到損失函數(shù)中去螟左,λ表示正則化強度的參數(shù)啡浊,當(dāng)我們反向傳播計算導(dǎo)數(shù)時觅够,我們只是用了0.5λ作為正則化的強度。由于使用這種正規(guī)化巷嚣,非常高價值的權(quán)重受到嚴(yán)重懲罰喘先。所以我們更傾向于使用一層的所有權(quán)重作為輸入,而不是少數(shù)一些權(quán)重帶替代廷粒。這種方法的效果比較好窘拯,因為我們的模型權(quán)重將被最大限度地利用,并且我們有更少未使用的權(quán)重坝茎。

除了L2正則化之外涤姊,還有L1正則化和Max Norm,但這里沒有討論嗤放,因為L2一般表現(xiàn)更好思喊。

數(shù)據(jù)增強

通過對輸入數(shù)據(jù)進(jìn)行一些轉(zhuǎn)換,可以合成新的訓(xùn)練樣例次酌。例如恨课,進(jìn)行圖像翻轉(zhuǎn)或隨機(jī)移動RGB值。在2012年Imagenet競賽期間岳服,Alex Krizhevesky(Alexnet)使用了2048倍的因子進(jìn)行數(shù)據(jù)增強庄呈,這意味著用于訓(xùn)練其模型的數(shù)據(jù)集實際上比開始時大2048倍,并且在不使用數(shù)據(jù)增強的情況下改進(jìn)了泛化派阱。

image

image

分層的特征表示

它是讓學(xué)習(xí)算法找到從輸入到更深層的最佳表示。

淺層學(xué)會用簡單的形式表示數(shù)據(jù)斜纪,深層用前面學(xué)到的特征來學(xué)習(xí)更高緯度的特征來表示數(shù)據(jù)贫母。

image

image

卷? 積

卷積是一種數(shù)學(xué)運算,它對兩個函數(shù)(信號)乘積進(jìn)行積分盒刚,其中一個信號是被翻轉(zhuǎn)腺劣。例如下面我們對2個信號f(t)和g(t)進(jìn)行卷積。

image

首先要做的是水平翻轉(zhuǎn)(180度)信號g因块,然后將翻轉(zhuǎn)后的g滑過f橘原,對應(yīng)相乘并累加所有的值。

conv(a涡上,b)== conv(b趾断,a)的結(jié)果是一樣的,

在這種情況下吩愧,規(guī)定藍(lán)色信號 F(τ)F(τ) 是我們的輸入信號和 G(t )G(?) 作為我們的卷積核芋酌,當(dāng)使用卷積來過濾信號時使用術(shù)語卷積核。

輸出一維信號

在一維卷積的情況下雁佳,輸出尺寸計算如下:

outputSize=(InputSize?KernelSize)+1

卷積的應(yīng)用

人們在以下用例中對信號處理使用卷積:

濾波器信號(1D音頻脐帝,2D圖像處理)

檢查一個信號與另一個信號的相關(guān)程度

在信號中查找模式

在matlab和python(numpy)中的簡單例子

下面我們將兩個信號x =(0,1,2,3,4)與w =(1同云,-1,2)進(jìn)行卷積。

image

image

手工操作

為了更好地理解卷積的概念堵腹,我們手工完成上面的例子炸站。我們要卷積2個信號(x,w)疚顷。首先是水平翻轉(zhuǎn)W(或向左旋轉(zhuǎn)180度)

image

之后旱易,我們將翻轉(zhuǎn)的W滑過輸入X.

image

注意到在步驟3,4,5中,翻轉(zhuǎn)后的窗口完全位于輸入信號的內(nèi)部荡含。稱為“有效”卷積咒唆。在翻轉(zhuǎn)窗口不完全位于輸入窗口(X)內(nèi)部的情況下,我們可以將其視為零释液,只計算位于窗口內(nèi)的數(shù)據(jù)全释,例如在步驟1中,我們將1乘以零误债,其余部分將被忽略浸船。

對輸入進(jìn)行填充

為了保持卷積結(jié)果大小與輸入大小相同,并避免稱為循環(huán)卷積的效應(yīng)寝蹈,我們用零填充信號李命。

你把零放在哪個位置取決于你想要做什么,例如:在1D的情況下箫老,你可以在每一端連接它們封字,但在2D上它通常放置在原始信號周圍。

image

image

在matlab上耍鬓,你可以使用命令'padarray'來填充輸入信號:

x

x(:,:,1) =

1? ? 1? ? 0? ? 2? ? 0

2? ? 2? ? 2? ? 2? ? 1

0? ? 0? ? 0? ? 2? ? 1

2? ? 2? ? 2? ? 2? ? 1

2? ? 0? ? 2? ? 2? ? 1

x(:,:,2) =

2? ? 1? ? 0? ? 0? ? 0

0? ? 2? ? 0? ? 1? ? 0

1? ? 0? ? 1? ? 2? ? 0

1? ? 2? ? 0? ? 2? ? 1

1? ? 2? ? 1? ? 2? ? 2

x(:,:,3) =

2? ? 1? ? 1? ? 2? ? 2

1? ? 1? ? 1? ? 0? ? 0

2? ? 0? ? 1? ? 0? ? 2

0? ? 2? ? 0? ? 2? ? 1

0? ? 0? ? 2? ? 1? ? 0

padarray(x,[1 1])

ans(:,:,1) =

0? ? 0? ? 0? ? 0? ? 0? ? 0? ? 0

0? ? 1? ? 1? ? 0? ? 2? ? 0? ? 0

0? ? 2? ? 2? ? 2? ? 2? ? 1? ? 0

0? ? 0? ? 0? ? 0? ? 2? ? 1? ? 0

0? ? 2? ? 2? ? 2? ? 2? ? 1? ? 0

0? ? 2? ? 0? ? 2? ? 2? ? 1? ? 0

0? ? 0? ? 0? ? 0? ? 0? ? 0? ? 0

ans(:,:,2) =

0? ? 0? ? 0? ? 0? ? 0? ? 0? ? 0

0? ? 2? ? 1? ? 0? ? 0? ? 0? ? 0

0? ? 0? ? 2? ? 0? ? 1? ? 0? ? 0

0? ? 1? ? 0? ? 1? ? 2? ? 0? ? 0

0? ? 1? ? 2? ? 0? ? 2? ? 1? ? 0

0? ? 1? ? 2? ? 1? ? 2? ? 2? ? 0

0? ? 0? ? 0? ? 0? ? 0? ? 0? ? 0

ans(:,:,3) =

0? ? 0? ? 0? ? 0? ? 0? ? 0? ? 0

0? ? 2? ? 1? ? 1? ? 2? ? 2? ? 0

0? ? 1? ? 1? ? 1? ? 0? ? 0? ? 0

0? ? 2? ? 0? ? 1? ? 0? ? 2? ? 0

0? ? 0? ? 2? ? 0? ? 2? ? 1? ? 0

0? ? 0? ? 0? ? 2? ? 1? ? 0? ? 0

0? ? 0? ? 0? ? 0? ? 0? ? 0? ? 0

將卷積轉(zhuǎn)化為計算圖

將操作轉(zhuǎn)化為計算圖阔籽,更容易計算每個節(jié)點參數(shù)的偏導(dǎo)數(shù),這里我們演示將之前的一維卷積轉(zhuǎn)化為計算圖牲蜀,這也可以擴(kuò)展到二維卷積笆制。

image

計算圖的創(chuàng)建是在翻轉(zhuǎn)的內(nèi)核完全插入被卷積的數(shù)據(jù)之前的。

image

之后我們將使用這個圖來推斷卷積層的輸入(x)和權(quán)重(w)的梯度涣达。

2D卷積

現(xiàn)在我們延伸到第二個維度在辆。2D卷積被用作圖像濾波器。下面是一個2D圖像卷積的例子:

image

Matlab與Python示例

image

手工操作

首先度苔,我們應(yīng)該翻轉(zhuǎn)內(nèi)核匆篓,然后在輸入信號上滑動內(nèi)核。

image

image

步? 長

默認(rèn)情況下寇窑,當(dāng)我們進(jìn)行卷積運算時奕删,我們的窗口每次移動一個像素(步幅= 1),但是在卷積神經(jīng)網(wǎng)絡(luò)中我們需要移動多個像素疗认。例如完残,在使用大小為2的內(nèi)核進(jìn)行卷積時伏钠,我們將使用2的步幅。將步幅和內(nèi)核大小都設(shè)置為2將導(dǎo)致輸出沿著兩個維度恰好為輸入大小的一半谨设。

觀察紅色內(nèi)核窗口下方的移動遠(yuǎn)遠(yuǎn)多于一個像素熟掂。

image

2D的輸出尺寸

下面提供了一個公式計算我們卷積之后的輸出尺寸 。

如果我們考慮將由P填充的空間大小[H扎拣,W]的輸入與大小為F的方形核并使用步長S進(jìn)行卷積赴肚,那么卷積的輸出大小被定義為:

image

F是內(nèi)核的大小,通常我們使用方形內(nèi)核二蓝,所以F既是內(nèi)核的寬度又是高度誉券。

實現(xiàn)卷積運算

下面的示例將對一個5x5x3的輸入進(jìn)行卷積,其中具有以下參數(shù)Stride=2,Pad=1刊愚,F(xiàn)=3(3x3內(nèi)核)和K=2(兩個濾波器)的conv層踊跟。

我們的輸入有3個通道,所以需要3x3x3的內(nèi)核權(quán)重鸥诽。有2個過濾器(K = 2)商玫,所以最后會有2個輸出。計算這兩個輸出的大小為:(5 - 3 + 2)/ 2 + 1 = 3牡借。得到最終的尺寸(3x3x2)拳昌。

image

仔細(xì)看看這個例子,我們需要計算2個卷積钠龙,不要忘了給每個3x3x3濾波器(w0炬藤,w1)添加偏差。

image

參考文獻(xiàn)

https://en.wikipedia.org/wiki/Convolution

https://www.khanacademy.org/math/differential-equations/laplace-transform/convolution-integral/v/introduction-to-the-convolution

http://www.dspguide.com/ch6/2.htm

作者:機(jī)器學(xué)習(xí)算法工程師

鏈接:http://www.reibang.com/p/5d50b5e80f3f

來源:簡書

簡書著作權(quán)歸作者所有碴里,任何形式的轉(zhuǎn)載都請聯(lián)系作者獲得授權(quán)并注明出處沈矿。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市并闲,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌谷羞,老刑警劉巖帝火,帶你破解...
    沈念sama閱讀 211,639評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異湃缎,居然都是意外死亡犀填,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,277評論 3 385
  • 文/潘曉璐 我一進(jìn)店門嗓违,熙熙樓的掌柜王于貴愁眉苦臉地迎上來九巡,“玉大人,你說我怎么就攤上這事蹂季∶峁悖” “怎么了疏日?”我有些...
    開封第一講書人閱讀 157,221評論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長撒汉。 經(jīng)常有香客問我沟优,道長,這世上最難降的妖魔是什么睬辐? 我笑而不...
    開封第一講書人閱讀 56,474評論 1 283
  • 正文 為了忘掉前任挠阁,我火速辦了婚禮,結(jié)果婚禮上溯饵,老公的妹妹穿的比我還像新娘侵俗。我一直安慰自己,他們只是感情好丰刊,可當(dāng)我...
    茶點故事閱讀 65,570評論 6 386
  • 文/花漫 我一把揭開白布隘谣。 她就那樣靜靜地躺著,像睡著了一般藻三。 火紅的嫁衣襯著肌膚如雪洪橘。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,816評論 1 290
  • 那天棵帽,我揣著相機(jī)與錄音熄求,去河邊找鬼。 笑死逗概,一個胖子當(dāng)著我的面吹牛弟晚,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播逾苫,決...
    沈念sama閱讀 38,957評論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼卿城,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了铅搓?” 一聲冷哼從身側(cè)響起瑟押,我...
    開封第一講書人閱讀 37,718評論 0 266
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎星掰,沒想到半個月后多望,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,176評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡氢烘,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,511評論 2 327
  • 正文 我和宋清朗相戀三年怀偷,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片播玖。...
    茶點故事閱讀 38,646評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡椎工,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情维蒙,我是刑警寧澤掰吕,帶...
    沈念sama閱讀 34,322評論 4 330
  • 正文 年R本政府宣布,位于F島的核電站木西,受9級特大地震影響畴栖,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜八千,卻給世界環(huán)境...
    茶點故事閱讀 39,934評論 3 313
  • 文/蒙蒙 一吗讶、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧恋捆,春花似錦照皆、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,755評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至愤钾,卻和暖如春瘟滨,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背能颁。 一陣腳步聲響...
    開封第一講書人閱讀 31,987評論 1 266
  • 我被黑心中介騙來泰國打工杂瘸, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人伙菊。 一個月前我還...
    沈念sama閱讀 46,358評論 2 360
  • 正文 我出身青樓败玉,卻偏偏與公主長得像,于是被迫代替她去往敵國和親镜硕。 傳聞我的和親對象是個殘疾皇子运翼,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,514評論 2 348

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