深度學(xué)習(xí)簡明教程 課件 第6章 自編碼網(wǎng)絡(luò)_第1頁
深度學(xué)習(xí)簡明教程 課件 第6章 自編碼網(wǎng)絡(luò)_第2頁
深度學(xué)習(xí)簡明教程 課件 第6章 自編碼網(wǎng)絡(luò)_第3頁
深度學(xué)習(xí)簡明教程 課件 第6章 自編碼網(wǎng)絡(luò)_第4頁
深度學(xué)習(xí)簡明教程 課件 第6章 自編碼網(wǎng)絡(luò)_第5頁
已閱讀5頁,還剩25頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

第6章自編碼網(wǎng)絡(luò)6.1自編碼網(wǎng)絡(luò)的結(jié)構(gòu)6.2自編碼網(wǎng)絡(luò)的原理

6.3幾種經(jīng)典的自編碼網(wǎng)絡(luò)6.4案例與實(shí)踐

6.1自編碼網(wǎng)絡(luò)的結(jié)構(gòu)

自動(dòng)編碼器是Rumelhart于1986年提出來的[1],它是一種典型的三層神經(jīng)網(wǎng)絡(luò),包括輸入層、隱藏層和輸出層,其中輸入層和輸出層有相同的維度,都為n維,隱藏層的維度為m維。自動(dòng)編碼器的網(wǎng)絡(luò)結(jié)構(gòu)如圖6.1所示。圖6.1自動(dòng)編碼器的網(wǎng)絡(luò)結(jié)構(gòu)示意圖

從輸入層到隱藏層是編碼過程,從隱藏層到輸出層是解碼過程,設(shè)f和g分別表示編碼函數(shù)和解碼函數(shù),則

式中:sf

為編碼器激活函數(shù),通常取Sigmoid函數(shù),即

;

sg

為解碼器激活函數(shù),通常取Sigmoid函數(shù)或者恒等函數(shù);w

為輸入層和隱藏層之間的權(quán)值矩陣,

為隱藏層與輸出層之間的權(quán)值矩陣。自動(dòng)編碼器的參數(shù)θ={w,

,p,q}。

輸出層的輸出數(shù)據(jù)Y

可以看作對輸入層的輸入數(shù)據(jù)X

的預(yù)測,自動(dòng)編碼器可以利用反向傳播算法調(diào)整神經(jīng)網(wǎng)絡(luò)的參數(shù),當(dāng)輸出層的輸出數(shù)據(jù)Y

與輸入層的輸入數(shù)據(jù)X

的接近程度可以接受時(shí),該自動(dòng)編碼器就保留了原始輸入數(shù)據(jù)的大部分信息,此時(shí)自動(dòng)編碼器神經(jīng)網(wǎng)絡(luò)就訓(xùn)練完成了。下面定義重構(gòu)誤差函數(shù)L(x,y)來刻畫Y與X

的接近程度。

6.2自編碼網(wǎng)絡(luò)的原理

自動(dòng)編碼器的向前計(jì)算過程為

網(wǎng)絡(luò)的訓(xùn)練采用反向傳播算法,該算法包含向前階段和向后階段兩個(gè)過程。在向前階段可使用式(6.6)、式(6.7)計(jì)算出預(yù)測值。在向后階段利用誤差向后傳播的思想計(jì)算梯度,即先計(jì)算l+1層的梯度,再計(jì)算l層的梯度。每個(gè)單元的輸入用向量v表示,則每個(gè)參數(shù)的梯度為

采用梯度下降更新策略對參數(shù)進(jìn)行如下更新:

6.3幾種經(jīng)典的自編碼網(wǎng)絡(luò)

6.3.1稀疏自編碼(SAE)當(dāng)隱藏層神經(jīng)元個(gè)數(shù)較多時(shí),要得到輸入信號的壓縮表示,可以對該層的神經(jīng)元加入稀疏性限制,即隱藏層的神經(jīng)元激活值盡可能多地為0,這里默認(rèn)使用的激活函數(shù)是Sigmoid函數(shù),若激活函數(shù)為tanh函數(shù),我們希望神經(jīng)元激活值盡可能多地為-1。簡單來說,在網(wǎng)絡(luò)的損失函數(shù)中加入正則化約束項(xiàng)進(jìn)行稀疏約束,就可以得到稀疏自編碼(sparseauto-encoders,SAE)。自動(dòng)編碼器的目標(biāo)是使得輸入和輸出盡可能一致。三層自動(dòng)編碼器原理如圖6.2所示,從圖中可以看出,自動(dòng)編碼器的損失函數(shù)可以表示為

式中:m為訓(xùn)練樣本的個(gè)數(shù);W和b為網(wǎng)絡(luò)的權(quán)值與偏置;

為網(wǎng)絡(luò)輸出信號,即重建的信號;x為網(wǎng)絡(luò)輸入信號;r為訓(xùn)練樣本的索引。圖6.2三層自動(dòng)編碼器原理圖

這里,我們用表示對輸入的隱藏層神經(jīng)元j

的激活度,那么隱藏層平均激活度為

為了約束稀疏性,使隱藏層神經(jīng)元的平均激活度較小,令p

為稀疏性參數(shù),一般令其為接近0的較小的正值。當(dāng)使用BP算法時(shí),稀疏性約束能夠加速訓(xùn)練的收斂,這項(xiàng)約束具體表現(xiàn)為在優(yōu)化目標(biāo)函數(shù)中加入一個(gè)額外的懲罰項(xiàng),用于懲罰

和p

明顯不同的情況,從而保證隱藏層神經(jīng)元的平均激活度較小,該懲罰因子的形式有很多,一般為KL散度:

6.3.2收縮自編碼(CAE)

收縮自編碼(contractiveauto-encoders,CAE)相當(dāng)于在自動(dòng)編碼器的損失函數(shù)中加入收縮懲罰項(xiàng)。簡單來說就是添加正則約束項(xiàng),使得學(xué)習(xí)到的模型對輸入的微小變化不敏感,從而更好地反映訓(xùn)練數(shù)據(jù)分布的特征。

常規(guī)的加入正則項(xiàng)約束的自編碼損失函數(shù)為

而收縮自編碼的損失函數(shù)為

6.3.3棧式自編碼(SA)

自編碼網(wǎng)絡(luò)與受限玻耳茲曼機(jī)可以用來預(yù)訓(xùn)練網(wǎng)絡(luò),因此棧式自動(dòng)編碼器(stackedauto-encoders,SAE)與深度置信網(wǎng)絡(luò)一樣,都是利用逐層學(xué)習(xí)的思想,模擬人腦的多層結(jié)構(gòu),對輸入數(shù)據(jù)逐級進(jìn)行從底層到高層的特征提取,因?yàn)楦蠈拥淖詣?dòng)編碼器能夠捕捉更高層次的特征組合刻畫,所以最終可形成適合模式分類的較理想特征。通常,自動(dòng)編碼器有多種用途,不僅可以作為無監(jiān)督學(xué)習(xí)的特征提取器,還可以用于降噪以及神經(jīng)網(wǎng)絡(luò)的參數(shù)初始值預(yù)訓(xùn)練。棧式自編碼由多層稀疏自動(dòng)編碼器堆疊而成,前一層自動(dòng)編碼器的輸出作為后一層自動(dòng)編碼器的輸入,因?yàn)樵摼W(wǎng)絡(luò)每一層都單獨(dú)地進(jìn)行貪婪訓(xùn)練,相當(dāng)于對整個(gè)網(wǎng)絡(luò)進(jìn)行預(yù)訓(xùn)練,所以該網(wǎng)絡(luò)具有易訓(xùn)練、收斂快、準(zhǔn)確度高等特點(diǎn)。

具體來說,存在一個(gè)n

層棧式自動(dòng)編碼器,其中W(k,1),W(k,2),b(k,1),b(k,2)分別為第k

個(gè)自動(dòng)編碼器對應(yīng)的權(quán)重和偏置,f為激活函數(shù),則棧式自動(dòng)編碼器的信息處理過程可分為以下兩個(gè)階段。

(1)按照信息從前向后的順序逐層堆疊每個(gè)自動(dòng)編碼器的編碼部分:

(2)按照信息從后向前的順序逐層堆疊每個(gè)自動(dòng)編碼器的解碼部分:

棧式自動(dòng)編碼器在訓(xùn)練過程中,首先用原始輸入來訓(xùn)練網(wǎng)絡(luò)的第一層,得到其參數(shù)W

(1,1)、W

(1,2)、b(1,1)、b(1,2);然后將隱藏層單元激活值作為第二層的輸入,繼續(xù)訓(xùn)練得到第二層的參數(shù)W

(2,1)、W

(2,2)、b(2,1)、b(2,2);最后對后面各層采用同樣的策略,即將上一隱藏層的輸出作為下一層的輸入。

在訓(xùn)練棧式自動(dòng)編碼器時(shí),每個(gè)自動(dòng)編碼器都是單獨(dú)進(jìn)行訓(xùn)練的,即訓(xùn)練每一層參數(shù)的時(shí)候,固定其他層的參數(shù)不變,然后將其堆疊起來,其間可以通過BP算法微調(diào)所有層的參數(shù)。若要將棧式自動(dòng)編碼器用于分類任務(wù),則需在編碼器后接softmax分類器,進(jìn)行無監(jiān)督的預(yù)訓(xùn)練和有監(jiān)督的微調(diào);若要將其用于語義分割等任務(wù),則可以進(jìn)行無監(jiān)督的預(yù)訓(xùn)練和無監(jiān)督的微調(diào)。

6.4案例與實(shí)踐

6.4.1圖像分類棧式去噪自動(dòng)編碼器(stackeddenoisingauto-encoder,SDAE)是去噪自動(dòng)編碼器的改進(jìn)模型,它的核心思想是通過對每層編碼器的輸入加入噪聲來進(jìn)行訓(xùn)練,從而學(xué)習(xí)到更強(qiáng)健的特征表達(dá)。

棧式去噪自動(dòng)編碼器由多層無監(jiān)督的去噪自動(dòng)編碼器網(wǎng)絡(luò)以及一層有監(jiān)督的BP神經(jīng)網(wǎng)絡(luò)組成,圖6.3所示為SDAE流程,首先經(jīng)過去噪自動(dòng)編碼器訓(xùn)練第一層后得到的編碼函數(shù)

(見圖6.3(a)),并將結(jié)果表示用于訓(xùn)練第二級去噪自動(dòng)編碼器(見圖6.3(b)),從而學(xué)習(xí)得到第二級編碼函數(shù)。最后可以通過重復(fù)疊加去噪自動(dòng)編碼器得到最終的棧式去噪自動(dòng)編碼器(見圖6.3(c))。

圖6.3SDAE流程圖

SDAE的學(xué)習(xí)過程分為無監(jiān)督學(xué)習(xí)和有監(jiān)督學(xué)習(xí)兩步。首先使用無標(biāo)記樣本對去噪自動(dòng)編碼器進(jìn)行貪婪逐層學(xué)習(xí)(greedylayer-wisetraining),把各層訓(xùn)練得到的權(quán)重堆疊起

來,作為初始化網(wǎng)絡(luò)的權(quán)重;然后采用有監(jiān)督的方式通過BP算法微調(diào)所有層的參數(shù),得到更加穩(wěn)定的參數(shù)收斂位置。

遙感圖像分類也就是逐像素的分類過程,文獻(xiàn)的輸入樣本的格式是以待分類的點(diǎn)為中心的3×3大小的圖像塊,由于鄰域像素具有上下文(光譜、紋理等)一致性,因此采用圖像塊的輸入方式能夠避免斑點(diǎn)噪聲的干擾。將輸入樣本4個(gè)波段灰度值送入SDAE進(jìn)行訓(xùn)練分類,輸出向量為one-hot形式,其處理流程如圖6.4所示。

圖6.4基于SDAE的遙感圖像分類方法流程

圖6.5所示為采用不同方法對測試區(qū)域分類的結(jié)果,SDAE相比其他方法能夠更好地保留地物細(xì)節(jié)。

圖6.5不同方法對測試區(qū)域的分類結(jié)果

6.4.2目標(biāo)檢測

文獻(xiàn)[6]采用深度自編碼網(wǎng)絡(luò)(deepauto-encodernetwork)對運(yùn)動(dòng)目標(biāo)進(jìn)行檢測,能夠從動(dòng)態(tài)背景中提取前景目標(biāo),主要包括以下兩個(gè)子網(wǎng)絡(luò):

(1)背景提取網(wǎng)絡(luò):采用三層的深度自編碼網(wǎng)絡(luò),從有運(yùn)動(dòng)目標(biāo)的圖像中提取出干凈的背景圖像。

(2)背景學(xué)習(xí)網(wǎng)絡(luò):將干凈的背景作為輸入數(shù)據(jù)送入另一個(gè)三層的深度自編碼網(wǎng)絡(luò),訓(xùn)練得到學(xué)習(xí)的背景。

由這兩個(gè)子網(wǎng)絡(luò)組成的運(yùn)動(dòng)目標(biāo)檢測的網(wǎng)絡(luò)結(jié)構(gòu)如圖6.6所示。其中

為背景提取網(wǎng)絡(luò)的輸入,共有D個(gè)視頻圖像,實(shí)際操作中將其轉(zhuǎn)換為一維向量,并將灰度

值歸一化到0到1之間,B

為通過背景提取網(wǎng)絡(luò)得到的背景圖像。H1

為編碼層,

是輸入x

的重構(gòu)。為分離函數(shù),其中k=1,2,…,N,N

為每個(gè)視頻圖像的維數(shù),分離函數(shù)能從

中分離出背景學(xué)習(xí)網(wǎng)絡(luò)的輸入,H2

為背景學(xué)習(xí)網(wǎng)絡(luò)的編碼層,

為背景學(xué)習(xí)網(wǎng)絡(luò)的輸出。背景提取網(wǎng)絡(luò)的代價(jià)函數(shù)為

圖6.6運(yùn)動(dòng)目標(biāo)檢測的深度自編碼網(wǎng)絡(luò)結(jié)構(gòu)

式(6.28)中背景圖像B0

通常會(huì)有一定的變化,因此本文采用背景學(xué)習(xí)網(wǎng)絡(luò)對背景變化進(jìn)行建模,該子網(wǎng)絡(luò)的輸入是經(jīng)過閾值參數(shù)篩選過的背景圖像集B,且B={B1,B2,…,BD},背景學(xué)習(xí)網(wǎng)絡(luò)的代價(jià)函數(shù)為

式中

表示背景學(xué)習(xí)網(wǎng)絡(luò)的重構(gòu)輸出。

背景提取網(wǎng)絡(luò)與背景學(xué)習(xí)網(wǎng)絡(luò)的參數(shù)均采用梯度下降算法進(jìn)行訓(xùn)練,在測試過程中,輸入的視頻幀轉(zhuǎn)換為一維向量,記為y,經(jīng)過背景提取網(wǎng)絡(luò)的輸出為,經(jīng)過背景學(xué)習(xí)網(wǎng)絡(luò)的輸出為

,則檢測出的目標(biāo)前景可表示為

6.4.3目標(biāo)跟蹤

文獻(xiàn)[7]首次使用深度模型對單目標(biāo)進(jìn)行跟蹤。該算法先用SDAE對輸入數(shù)據(jù)進(jìn)行離線訓(xùn)練得到特征,訓(xùn)練數(shù)據(jù)集為TinyImagesDataset,然后使用粒子濾波進(jìn)行在線跟蹤。

關(guān)于SDAE的網(wǎng)絡(luò)原理請讀者參考6.4.1節(jié),跟蹤網(wǎng)絡(luò)模型如圖6.7所示,其中圖6.7(a)為去噪自動(dòng)編碼器,圖6.7(b)為SDAE預(yù)訓(xùn)練的網(wǎng)絡(luò)結(jié)構(gòu),通過對SDAE進(jìn)行無監(jiān)督的訓(xùn)練,獲得了更加魯棒通用的目標(biāo)特征。從圖6.7(b)中可以看出,通過堆疊4個(gè)降噪自動(dòng)編碼器,且每個(gè)編碼器的特征維數(shù)依次遞減,能夠獲得對目標(biāo)更加緊致的特征表示。

圖6.7跟蹤網(wǎng)絡(luò)模型

圖6.7(c)所示的在線跟蹤網(wǎng)絡(luò)是將離線訓(xùn)練好的堆疊去噪自動(dòng)編碼器與Sigmoid分類層疊加,再對該分類網(wǎng)絡(luò)進(jìn)行微調(diào),使得該網(wǎng)絡(luò)對跟蹤目標(biāo)更加敏感,在實(shí)際跟蹤中,采用粒子濾波從當(dāng)前幀獲取目標(biāo)的候選塊,并將這些塊輸入分類網(wǎng)絡(luò),得到的置信度最高的塊即為預(yù)測目標(biāo)塊。若最高置信度的值小于規(guī)定的閾值,則表示目標(biāo)已經(jīng)發(fā)生了較大的變化,此時(shí)模型需要更新。

該算法的優(yōu)點(diǎn)是采用預(yù)訓(xùn)練與微調(diào)相結(jié)合的方式,解決了訓(xùn)練數(shù)據(jù)不足的問題,但訓(xùn)練集包含的圖片大小為32×32,分辨率較低且4層的網(wǎng)絡(luò)特征表達(dá)能力不足,其效果要低于人工提取特征的跟蹤方法,如Struck方法。

粒子濾波方法通常用于視覺跟蹤。從統(tǒng)計(jì)的角度來看,它是一種基

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論