自編碼

一此叠、什么是自編碼

簡(jiǎn)單的自編碼是一種三層神經(jīng)網(wǎng)絡(luò)模型,包含了數(shù)據(jù)輸入層匾荆、隱藏層、輸出重構(gòu)層杆烁,同時(shí)它是一種無(wú)監(jiān)督學(xué)習(xí)模型牙丽。在有監(jiān)督的神經(jīng)網(wǎng)絡(luò)中,我們的每個(gè)訓(xùn)練樣本是(X兔魂,y)烤芦,然后y一般是我們?nèi)斯?biāo)注的數(shù)據(jù)。比如我們用于手寫(xiě)的字體分類(lèi)析校,那么y的取值就是0~9之間數(shù)值构罗,最后神經(jīng)網(wǎng)絡(luò)設(shè)計(jì)的時(shí)候铜涉,網(wǎng)絡(luò)的輸出層是一個(gè)10個(gè)神經(jīng)元的網(wǎng)絡(luò)模型(比如網(wǎng)絡(luò)輸出是(0,0,1,0,0,0,0,0,0,0),那么就表示該樣本標(biāo)簽為2)。然而自編碼是一種無(wú)監(jiān)督學(xué)習(xí)模型遂唧,我們訓(xùn)練數(shù)據(jù)本來(lái)是沒(méi)有標(biāo)簽的芙代,那么自編碼是這樣干的,它令每個(gè)樣本的標(biāo)簽為y=x盖彭,也就是每個(gè)樣本的數(shù)據(jù)x的標(biāo)簽也是x纹烹。自編碼就相當(dāng)于自己生成標(biāo)簽,而且標(biāo)簽是樣本數(shù)據(jù)本身召边。

三層自編碼神經(jīng)網(wǎng)絡(luò)模型如下:

自編碼網(wǎng)絡(luò)包含兩個(gè)過(guò)程:

(1)從輸入層-》隱藏層的原始數(shù)據(jù)X的編碼過(guò)程:

(2)從隱藏層-》輸出層的解碼過(guò)程:

那么數(shù)據(jù)X的重構(gòu)誤差損失函數(shù)就是:

其中M是訓(xùn)練樣本的個(gè)數(shù)铺呵。

因此等我們訓(xùn)練完網(wǎng)絡(luò)后,當(dāng)我們隨便輸入一個(gè)測(cè)試樣本數(shù)據(jù)X'隧熙,那么自編碼網(wǎng)絡(luò)將對(duì)X‘先進(jìn)行隱藏層的編碼片挂,然后再?gòu)碾[藏-》輸出完成解碼,重構(gòu)出X’贞盯。隱藏層可以看成是原始數(shù)據(jù)x的另外一種特征表達(dá)音念。

這個(gè)時(shí)候就會(huì)有人問(wèn)自編碼有什么作用,訓(xùn)練一個(gè)神經(jīng)網(wǎng)絡(luò)模型邻悬,讓它輸入是x症昏,然后輸出也近似x,有毛用父丰?其實(shí)自編碼可以實(shí)現(xiàn)類(lèi)似于PCA等數(shù)據(jù)降維肝谭、數(shù)據(jù)壓縮的特性。從上面自編碼的網(wǎng)絡(luò)結(jié)構(gòu)圖蛾扇,如果輸入層神經(jīng)云的個(gè)數(shù)n小于隱層神經(jīng)元個(gè)數(shù)m攘烛,那么我們就相當(dāng)于把數(shù)據(jù)從n維降到了m維;然后我們利用這m維的特征向量镀首,進(jìn)行重構(gòu)原始的數(shù)據(jù)坟漱。這個(gè)跟PCA降維一模一樣,只不過(guò)PCA是通過(guò)求解特征向量更哄,進(jìn)行降維芋齿,是一種線性的降維方式,而自編碼是一種非線性降維成翩。

當(dāng)然自編碼隱藏層可以比輸入層的神經(jīng)元個(gè)數(shù)還多觅捆,然后我們可以在神經(jīng)網(wǎng)絡(luò)的損失函數(shù)構(gòu)造上,加入正則化約束項(xiàng)進(jìn)行稀疏約束麻敌,這個(gè)時(shí)候就演化成了稀疏自編碼了栅炒,因此我們接著就說(shuō)說(shuō)稀疏自編碼。

二、什么是稀疏自編碼(SAE)

所謂的稀疏自編碼就對(duì)隱藏層神經(jīng)元加入的稀疏約束赢赊,因?yàn)槲覀兿M依欤帽M可能少的神經(jīng)元來(lái)表示原始數(shù)據(jù)X。我們知道隱藏層神經(jīng)元的激活值就相當(dāng)于原始數(shù)據(jù)X的另外一種表達(dá)释移,我們希望這種表達(dá)是稀疏表達(dá)(也就是隱藏層的神經(jīng)元激活值盡可能多的為0)叭披。我們知道隱藏層神經(jīng)元j的平均激活度為:


其中m表示樣本的個(gè)數(shù)。我們要讓隱藏層神經(jīng)元j盡量為0秀鞭,如果可以讓[] 趋观,然后讓 [] 是一個(gè)趨近于零的小數(shù),那該有多好锋边。于是我們構(gòu)造了KL散度作為網(wǎng)絡(luò)的正則約束項(xiàng)皱坛,使得[] 盡量的接近于[] :



最后網(wǎng)絡(luò)訓(xùn)練損失函數(shù)就是:


總之:稀疏自編碼就是在原來(lái)自編碼的損失函數(shù)上,加入了稀疏約束項(xiàng)豆巨。除了讓我們的隱藏層特征稀疏性外剩辟,江湖傳說(shuō)它還有加速網(wǎng)絡(luò)訓(xùn)練的功能(參考自文獻(xiàn)《Deep Learning of Part-based Representation of Data Using Sparse Autoencoders with Nonnegativity》)

不過(guò)除了稀疏約束項(xiàng)之外,一般我們?yōu)榱朔乐惯^(guò)擬合往扔,還加入了權(quán)重衰減項(xiàng)贩猎,所以最后的損失函數(shù)就是:

三、什么是降噪自編碼(DAE文獻(xiàn):《Extracting and Composing Robust Features with Denoising?Autoencoders》)

降噪自編碼與自編碼的區(qū)別:在原始數(shù)據(jù)X上加入了噪聲X'萍膛,然后再作為網(wǎng)絡(luò)的輸入數(shù)據(jù)吭服,來(lái)重構(gòu)輸出原始還未加入噪聲的數(shù)據(jù)。

因此降噪自編碼的損失函數(shù)是構(gòu)造原始數(shù)據(jù)X與網(wǎng)絡(luò)輸出X''之間的一個(gè)差異性度量蝗罗。加入噪聲艇棕,然后訓(xùn)練恢復(fù)原始數(shù)據(jù),可以讓我們的網(wǎng)絡(luò)具有更強(qiáng)的抗噪能力串塑,使得自編碼更加魯邦沼琉。

文獻(xiàn)的具體做法是,通過(guò)對(duì)原始數(shù)據(jù)輸入神經(jīng)元桩匪,進(jìn)行人為隨機(jī)損壞加噪聲打瘪,得到損壞數(shù)據(jù)X'。

方法1:可以采用高斯噪聲:

方法2:采用binary ?mask ?噪聲傻昙,也就是把輸入神經(jīng)元值隨機(jī)置0(跟drop out 一樣闺骚,把某些神經(jīng)元的激活值置0),然后再作為神經(jīng)網(wǎng)絡(luò)的輸入妆档。


四僻爽、什么是收縮自編碼(CAE文獻(xiàn):《Contractive auto-encoders:?Explicit invariance during feature extraction》)

收縮自編碼也很簡(jiǎn)單,只不過(guò)是在損失函數(shù)中过吻,加入了一項(xiàng)懲罰項(xiàng)进泼。

以前加入正則項(xiàng)的自編碼損失函數(shù)一般是這樣的:

現(xiàn)在采用CAE的損失函數(shù)是這樣的:

如果網(wǎng)絡(luò)采用的Sigmod函數(shù),那么Jf(x)的計(jì)算公式就是:

h表示隱層神經(jīng)元纤虽。

五乳绕、什么是棧式自編碼

開(kāi)始講什么是棧式自編碼前,讓我們先來(lái)了解一些深度學(xué)習(xí)中的無(wú)監(jiān)督預(yù)訓(xùn)練逼纸。我們知道洋措,在深度學(xué)習(xí)中,一般網(wǎng)絡(luò)都有很多層杰刽,因?yàn)榫W(wǎng)絡(luò)層數(shù)一多菠发,訓(xùn)練網(wǎng)絡(luò)采用的梯度下降,在低層網(wǎng)絡(luò)會(huì)出現(xiàn)梯度彌散的現(xiàn)象贺嫂,導(dǎo)致了深度網(wǎng)絡(luò)一直不招人待見(jiàn)滓鸠。直到2006年的3篇論文改變了這種狀況,由Hinton提出了一種深層網(wǎng)絡(luò)的訓(xùn)練方法第喳,改變了人們對(duì)深度學(xué)習(xí)的態(tài)度糜俗。Hinton所提出的訓(xùn)練思想,整體過(guò)程如下曲饱;

A悠抹、網(wǎng)絡(luò)各層參數(shù)預(yù)訓(xùn)練。我們?cè)谝郧暗纳窠?jīng)網(wǎng)絡(luò)中扩淀,參數(shù)的初始化都是用隨機(jī)初始化方法楔敌,然而這種方法,對(duì)于深層網(wǎng)絡(luò)驻谆,在低層中卵凑,參數(shù)很難被訓(xùn)練,于是Hinton提出了參數(shù)預(yù)訓(xùn)練旺韭,這個(gè)主要就是采用RBM氛谜、以及我們本篇博文要講的自編碼,對(duì)網(wǎng)絡(luò)的每一層進(jìn)行參數(shù)初始化区端。也就是我們這邊要學(xué)的稀疏自編碼就是為了對(duì)網(wǎng)絡(luò)的每一層進(jìn)行參數(shù)初始化值漫,僅僅是為了獲得初始的參數(shù)值而已(這就是所謂的無(wú)監(jiān)督參數(shù)初始化,或者稱(chēng)之為“無(wú)監(jiān)督

pre-training”)织盼。

B杨何、比如采用自編碼,我們可以把網(wǎng)絡(luò)從第一層開(kāi)始自編碼訓(xùn)練沥邻,在每一層學(xué)習(xí)到的隱藏特征表示后作為下一層的輸入危虱,然后下一層再進(jìn)行自編碼訓(xùn)練,對(duì)每層網(wǎng)絡(luò)的進(jìn)行逐層無(wú)監(jiān)督訓(xùn)練唐全。

C埃跷、當(dāng)我們無(wú)監(jiān)督訓(xùn)練完畢后蕊玷,我們要用于某些指定的任務(wù),比如分類(lèi)弥雹,這個(gè)時(shí)候我們可以用有標(biāo)簽的數(shù)據(jù)對(duì)整個(gè)網(wǎng)絡(luò)的參數(shù)繼續(xù)進(jìn)行梯度下降調(diào)整垃帅。

這就是深層網(wǎng)絡(luò)的訓(xùn)練思想,總體歸結(jié)為:無(wú)監(jiān)督預(yù)訓(xùn)練剪勿、有監(jiān)督微調(diào)贸诚。

OK,我們回到本篇文章的主題厕吉,從上面的解釋中酱固,我們知道稀疏自編碼僅僅只是為了獲得參數(shù)的初始值而已。棧式自編碼神經(jīng)網(wǎng)絡(luò)是一個(gè)由多層稀疏自編碼器組成的神經(jīng)網(wǎng)絡(luò)头朱,其前一層自編碼器的輸出作為其后一層自編碼器的輸入运悲。棧式自編碼就是利用上面所說(shuō)的:無(wú)監(jiān)督pre-training、有監(jiān)督微調(diào)進(jìn)行訓(xùn)練訓(xùn)練的深度網(wǎng)絡(luò)模型项钮。接著就讓我們來(lái)學(xué)一學(xué)具體的棧式自編碼網(wǎng)絡(luò)訓(xùn)練扇苞。下面是來(lái)自斯坦福的深度學(xué)習(xí)教程的一個(gè)例子:http://ufldl.stanford.edu/wiki/index.php/%E6%A0%88%E5%BC%8F%E8%87%AA%E7%BC%96%E7%A0%81%E7%AE%97%E6%B3%95

問(wèn)題描述:假設(shè)我們要訓(xùn)練一個(gè)4層的神經(jīng)網(wǎng)絡(luò)模型用于分類(lèi)任務(wù),網(wǎng)絡(luò)結(jié)構(gòu)如下:

接著我們就講講寄纵,棧式自編碼的訓(xùn)練上面這個(gè)網(wǎng)絡(luò)的方法:

1鳖敷、無(wú)監(jiān)督pre-training階段

A程拭、首先采用稀疏自編碼網(wǎng)絡(luò)定踱,先訓(xùn)練從輸入層到H1層的參數(shù):

訓(xùn)練完畢后,我們?nèi)コ獯a層恃鞋,只留下從輸入層到隱藏層的編碼階段崖媚。

B、接著我們訓(xùn)練從H1到H2的參數(shù)

我們把無(wú)標(biāo)簽數(shù)據(jù)的H1層神經(jīng)元的激活值恤浪,作為H2層的輸入層畅哑,然后在進(jìn)行自編碼訓(xùn)練:

最后訓(xùn)練完畢后,再去除H2層的解碼層水由。如此重復(fù)荠呐,可以訓(xùn)練更高層的網(wǎng)絡(luò),這就是逐層貪婪訓(xùn)練的思想砂客。

C泥张、訓(xùn)練完H2后,我們就可以接分類(lèi)層softmax鞠值,用于多分類(lèi)任務(wù)

至此參數(shù)的初始化階段就算是結(jié)束了媚创,這個(gè)過(guò)程就是所謂的無(wú)監(jiān)督預(yù)訓(xùn)練。

2彤恶、有監(jiān)督微調(diào)階段

后面接著就是钞钙,利用上面的參數(shù)作為網(wǎng)絡(luò)的初始值鳄橘,繼續(xù)進(jìn)行神經(jīng)網(wǎng)絡(luò)的訓(xùn)練了,沒(méi)什么可講的芒炼。


原文參考:http://blog.csdn.net/hjimce/article/details/49106869

其中m表示樣本的個(gè)數(shù)挥唠。我們要讓隱藏層神經(jīng)元j盡量為0,如果可以讓?zhuān)?/p>

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末焕议,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子弧关,更是在濱河造成了極大的恐慌盅安,老刑警劉巖,帶你破解...
    沈念sama閱讀 212,383評(píng)論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件世囊,死亡現(xiàn)場(chǎng)離奇詭異别瞭,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)株憾,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,522評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門(mén)蝙寨,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人嗤瞎,你說(shuō)我怎么就攤上這事墙歪。” “怎么了贝奇?”我有些...
    開(kāi)封第一講書(shū)人閱讀 157,852評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵虹菲,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我掉瞳,道長(zhǎng)毕源,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 56,621評(píng)論 1 284
  • 正文 為了忘掉前任陕习,我火速辦了婚禮霎褐,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘该镣。我一直安慰自己冻璃,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,741評(píng)論 6 386
  • 文/花漫 我一把揭開(kāi)白布损合。 她就那樣靜靜地躺著俱饿,像睡著了一般。 火紅的嫁衣襯著肌膚如雪塌忽。 梳的紋絲不亂的頭發(fā)上拍埠,一...
    開(kāi)封第一講書(shū)人閱讀 49,929評(píng)論 1 290
  • 那天,我揣著相機(jī)與錄音土居,去河邊找鬼枣购。 笑死嬉探,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的棉圈。 我是一名探鬼主播涩堤,決...
    沈念sama閱讀 39,076評(píng)論 3 410
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼分瘾!你這毒婦竟也來(lái)了胎围?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 37,803評(píng)論 0 268
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤德召,失蹤者是張志新(化名)和其女友劉穎白魂,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體上岗,經(jīng)...
    沈念sama閱讀 44,265評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡福荸,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,582評(píng)論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了肴掷。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片敬锐。...
    茶點(diǎn)故事閱讀 38,716評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖呆瞻,靈堂內(nèi)的尸體忽然破棺而出台夺,到底是詐尸還是另有隱情,我是刑警寧澤痴脾,帶...
    沈念sama閱讀 34,395評(píng)論 4 333
  • 正文 年R本政府宣布谒养,位于F島的核電站,受9級(jí)特大地震影響明郭,放射性物質(zhì)發(fā)生泄漏买窟。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,039評(píng)論 3 316
  • 文/蒙蒙 一薯定、第九天 我趴在偏房一處隱蔽的房頂上張望始绍。 院中可真熱鬧,春花似錦话侄、人聲如沸亏推。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,798評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)吞杭。三九已至,卻和暖如春变丧,著一層夾襖步出監(jiān)牢的瞬間芽狗,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,027評(píng)論 1 266
  • 我被黑心中介騙來(lái)泰國(guó)打工痒蓬, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留童擎,地道東北人滴劲。 一個(gè)月前我還...
    沈念sama閱讀 46,488評(píng)論 2 361
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像顾复,于是被迫代替她去往敵國(guó)和親班挖。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,612評(píng)論 2 350

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