Stacked Auto Encoder(棧式自動(dòng)編碼)

離上一次更新沒(méi)過(guò)幾天圃郊,但卻經(jīng)歷了好多事情,2020真的太不尋常了…永遠(yuǎn)不知道明天和意外哪個(gè)會(huì)先來(lái)女蜈!珍惜當(dāng)下~天佑中華持舆!
今天接著記敘項(xiàng)目中需要用到的模型。


Stacked Auto Encoder

Stacked Auto Encoder稱為棧式自動(dòng)編碼伪窖,顧名思義逸寓,它是對(duì)自編碼網(wǎng)絡(luò)的一種使用方法,是一個(gè)由多層訓(xùn)練好的自編碼器組成的神經(jīng)網(wǎng)絡(luò)覆山。先引入關(guān)于 自動(dòng)編碼即(AE)的相關(guān)知識(shí)

Auto Encoder

AE(Auto Encoder)是一種無(wú)監(jiān)督的含有一個(gè)隱含層神經(jīng)網(wǎng)絡(luò)竹伸,其中輸出層被設(shè)置為等于輸入層,AE的目的是盡可能的準(zhǔn)確地重建原始輸入。
整個(gè)模型的結(jié)構(gòu)如下圖所示:
AE由編碼器和解碼器組成勋篓。

先簡(jiǎn)單說(shuō)一下思想:

一般的MLP(多層感知機(jī))是一個(gè)有監(jiān)督學(xué)習(xí)的過(guò)程吧享,除了給定輸入數(shù)據(jù)X之外,還要給定label Y譬嚣,然后把X feed 到神經(jīng)網(wǎng)絡(luò)钢颂,并最小化神經(jīng)網(wǎng)絡(luò)的輸出與label Y之間的差值,通過(guò)這種方法來(lái)訓(xùn)練神經(jīng)網(wǎng)絡(luò)的參數(shù)拜银。

AE的區(qū)別是這是個(gè)非監(jiān)督學(xué)習(xí)的過(guò)程殊鞭,也就是說(shuō)不需要label Y, 自編碼是這樣干的,它令每個(gè)樣本的標(biāo)簽為y=x尼桶,也就是每個(gè)樣本的數(shù)據(jù)x的標(biāo)簽也是x操灿。自編碼就相當(dāng)于自己生成標(biāo)簽,而且標(biāo)簽是樣本數(shù)據(jù)本身泵督。訓(xùn)練時(shí)的優(yōu)化目標(biāo)是讓輸出值跟輸入值盡可能接近趾盐,最好完全一樣。

我們可以這樣理解:輸入數(shù)據(jù)代表了一些信息幌蚊,起初以一定維度的數(shù)據(jù)來(lái)表示谤碳,然后經(jīng)過(guò)中間隱藏層編碼后溃卡,維度被壓縮(降低)了溢豆,但是最后還是還原成了一個(gè)與原始信息非常接近的數(shù)據(jù)。
舉個(gè)例子瘸羡,這個(gè)過(guò)程漩仙,就好像把文件先壓縮,再解壓縮犹赖,或者把文件加密再解密队他,數(shù)據(jù)的中間的形式(維度)發(fā)生了變化,但數(shù)據(jù)的信息量不變峻村。 這就是核心思想麸折,類似PCA。

所以根據(jù)以上思想粘昨,只要訓(xùn)練一個(gè)簡(jiǎn)單的垢啼,單隱藏層的神經(jīng)網(wǎng)絡(luò),就可以用無(wú)監(jiān)督的方式實(shí)現(xiàn)數(shù)據(jù)降維张肾。這就是最基本的AE芭析。

接下來(lái)根據(jù)上面圖片看一下過(guò)程:

1.假設(shè)AE的輸入為:
其中dx是輸入的維數(shù)。

2.編碼器通過(guò)映射函數(shù)f將x從輸入層投影到隱含層
其中d(h)是隱含層變量向量的維度吞瞪。其中f(x)函數(shù)表示為
其中w是dh×dx權(quán)重矩陣馁启,b∈Rdx是偏差向量。解碼器的激活函數(shù)sf可以是sigmoid函數(shù)芍秆、tanh函數(shù)或者rectified

3.在編碼器中惯疙,通過(guò)映射函數(shù)f將隱含層表示的h映射到輸出層的x∈Rdx翠勉,其中f函數(shù)如下:

其中w是dx×dh權(quán)重矩陣,b∈Rdx是輸出層的偏差向量螟碎。同樣sf的激活函數(shù)可以是sigmoid函數(shù)眉菱、tanh函數(shù)或者rectified linear unit function(ReLu函數(shù))。

4.AE用于通過(guò)對(duì)網(wǎng)絡(luò)施加限制(例如限制隱含層單元的數(shù)量)來(lái)重新構(gòu)建輸出x盡可能的與輸入x相似掉分。訓(xùn)練的輸入數(shù)據(jù)表示為

其中N是訓(xùn)練樣本總數(shù)俭缓。

每一個(gè)訓(xùn)練樣本xi都被投影到隱含表示hi,然后被映射到重構(gòu)數(shù)據(jù)xi酥郭。為了獲得模型參數(shù)华坦,通過(guò)計(jì)算均方重構(gòu)誤差最小化來(lái)重構(gòu)損失函數(shù)

5.AE的參數(shù)可以通過(guò)梯度下降算法來(lái)更新。
訓(xùn)練完成后不从,AE的權(quán)重和偏差被保存下來(lái)惜姐。

這部分具體可參考:[論文學(xué)習(xí)]1——Stacked AutoEncoder(SAE)堆棧自編碼器

回到SAE,SAE是具有分層結(jié)構(gòu)的神經(jīng)網(wǎng)絡(luò)椿息,由多個(gè)AE層逐層連接組成歹袁。

“棧化”過(guò)程的基本實(shí)現(xiàn)思想如下:訓(xùn)練好上述的AE結(jié)構(gòu)后寝优,舍去解碼過(guò)程条舔,此時(shí)我們可以理解為code具有一定的降維、提取特征的能力乏矾。將此時(shí)的code作為輸入孟抗,輸入到新的AE結(jié)構(gòu)中進(jìn)行訓(xùn)練,如下圖所示

在這個(gè)過(guò)程中钻心,特別注意一下凄硼,我們把前面的整體輸出(h1-h4)當(dāng)成這第二層的輸入了,那么構(gòu)建第二個(gè)autoencoder時(shí)捷沸,添加的臨時(shí)輸出層就不再是原始的(x1-x6)了摊沉,而是第一部分的輸出,即(h1-h4)痒给。這一點(diǎn)是避免訓(xùn)練方式的誤解的關(guān)鍵所在说墨。

如此重復(fù),使每次的“棾扌化”過(guò)程都能夠?qū)W習(xí)到近似最優(yōu)婉刀,最后得到code,可以認(rèn)為序仙,這個(gè)code更能夠提取出有效的特征突颊,因?yàn)樗嵌喾N效果的“疊加”,相應(yīng)的,如果是進(jìn)行分類操作律秃,直接將code接入到分類器中爬橡,就可以得到分類結(jié)果,下圖所示的是將code接入到softmax中:

故棒动,上述整個(gè)過(guò)程可以如下所示(途中省略了每次訓(xùn)練的解碼過(guò)程):

詳例(包含兩個(gè)隱含層的棧式自編碼網(wǎng)絡(luò))及實(shí)戰(zhàn)代碼參考:
自編碼實(shí)例5:棧式自編碼

總的來(lái)說(shuō)堆棧自編碼器的思路是:我們已經(jīng)得到特征表達(dá)h糙申,將h作為原始信息,訓(xùn)練一個(gè)新的自編碼器船惨,得到新的特征表達(dá)柜裸。Stacked 就是逐層堆疊的意思,當(dāng)把多個(gè)自編碼器 Stack 起來(lái)之后粱锐,這個(gè)系統(tǒng)看起來(lái)就像這樣:

需要注意的是疙挺,整個(gè)網(wǎng)絡(luò)的訓(xùn)練不是一蹴而就的,而是逐層進(jìn)行的怜浅。
比如說(shuō)我們訓(xùn)練一個(gè)n -> m -> k 結(jié)構(gòu)的網(wǎng)絡(luò)铐然,實(shí)際上我們是先訓(xùn)練網(wǎng)絡(luò) n -> m -> n ,得到 n -> m 的變換恶座,然后再訓(xùn)練 m -> k -> m 網(wǎng)絡(luò)搀暑,得到 m -> k 的變換。最終堆疊成 SAE 跨琳,即為 n -> m -> k 的結(jié)果自点,整個(gè)過(guò)程就像一層層往上面蓋房子,這就是 逐層非監(jiān)督預(yù)訓(xùn)練湾宙。

為什么逐層預(yù)訓(xùn)練的SAE有不錯(cuò)的效果樟氢?
一個(gè)直觀的解釋是冈绊,預(yù)訓(xùn)練好的網(wǎng)絡(luò)在一定程度上擬合了訓(xùn)練數(shù)據(jù)的結(jié)構(gòu)侠鳄,這使得整個(gè)網(wǎng)絡(luò)的初始值是在一個(gè)合適的狀態(tài),便于有監(jiān)督階段加快迭代收斂死宣。

友情鏈接棧式自編碼器的微調(diào)過(guò)程
【模型詳解】AutoEncoder詳解(七)——棧式自編碼:Stacked AutoEncoder


家里蹲第二天…希望疫情快過(guò)去吧伟恶!想重啟2020啊毅该!

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末博秫,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子眶掌,更是在濱河造成了極大的恐慌挡育,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,036評(píng)論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件朴爬,死亡現(xiàn)場(chǎng)離奇詭異即寒,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,046評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門母赵,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)逸爵,“玉大人,你說(shuō)我怎么就攤上這事凹嘲∈螅” “怎么了?”我有些...
    開封第一講書人閱讀 164,411評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵周蹭,是天一觀的道長(zhǎng)趋艘。 經(jīng)常有香客問(wèn)我,道長(zhǎng)凶朗,這世上最難降的妖魔是什么致稀? 我笑而不...
    開封第一講書人閱讀 58,622評(píng)論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮俱尼,結(jié)果婚禮上抖单,老公的妹妹穿的比我還像新娘。我一直安慰自己遇八,他們只是感情好矛绘,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,661評(píng)論 6 392
  • 文/花漫 我一把揭開白布货矮。 她就那樣靜靜地躺著,像睡著了一般抓督。 火紅的嫁衣襯著肌膚如雪铃在。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,521評(píng)論 1 304
  • 那天,我揣著相機(jī)與錄音矮烹,去河邊找鬼奉狈。 笑死涩惑,一個(gè)胖子當(dāng)著我的面吹牛竭恬,可吹牛的內(nèi)容都是我干的痊硕。 我是一名探鬼主播岔绸,決...
    沈念sama閱讀 40,288評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了欲侮?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,200評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤薄翅,失蹤者是張志新(化名)和其女友劉穎翘魄,沒(méi)想到半個(gè)月后鼎天,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,644評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡斋射,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,837評(píng)論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了罗岖。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,953評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡桑包,死狀恐怖南蓬,靈堂內(nèi)的尸體忽然破棺而出哑了,到底是詐尸還是另有隱情弱左,我是刑警寧澤,帶...
    沈念sama閱讀 35,673評(píng)論 5 346
  • 正文 年R本政府宣布们镜,位于F島的核電站套硼,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏胞皱。R本人自食惡果不足惜邪意,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,281評(píng)論 3 329
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望反砌。 院中可真熱鬧雾鬼,春花似錦、人聲如沸宴树。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,889評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)酒贬。三九已至又憨,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間锭吨,已是汗流浹背蠢莺。 一陣腳步聲響...
    開封第一講書人閱讀 33,011評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留零如,地道東北人躏将。 一個(gè)月前我還...
    沈念sama閱讀 48,119評(píng)論 3 370
  • 正文 我出身青樓锄弱,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親祸憋。 傳聞我的和親對(duì)象是個(gè)殘疾皇子会宪,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,901評(píng)論 2 355

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