Autoencoder ,Sparse Coding ,Sparse autoencoder 簡介

Autoencoder ,Sparse Coding ,Sparse autoencoder 簡介

最近剛剛運(yùn)行完成sparse coding钝诚;才解決了自己的困惑,以前學(xué)習(xí)完Sparse autoencoder從感覺這兩個東西是“一丘之貉”阐肤;但是運(yùn)行完成之后才發(fā)現(xiàn)他們兩個有很大的不同衅枫,雖然都是對數(shù)據(jù)進(jìn)行變換锰提,但是二者的變換原理是完全不同的筑凫。詳細(xì)的下面纖細(xì)介紹说墨。

1.Autoencoder介紹

Autoencdoer這個概念最早應(yīng)該是出自hinton在science雜志上發(fā)表的哪一篇開啟深度學(xué)習(xí)的曠世之作“rerducing thedimensionality of data with neural network”上媳禁,提取重點(diǎn)簡單翻譯之胖笛。

摘要簡單翻譯

……通過訓(xùn)練一個中心層有少數(shù)隱層節(jié)點(diǎn)的多層的神經(jīng)網(wǎng)絡(luò)网持,來重構(gòu)高維輸入數(shù)據(jù),高維輸入數(shù)據(jù)可以轉(zhuǎn)換到一個低維數(shù)據(jù)长踊。在這個“Autoencdoer”中功舀,梯度下降算法可以用來fine_tuning權(quán)值矩陣∩肀祝……

正文簡單翻譯

……我們簡述一種非線性的PCA方法辟汰,這種方法應(yīng)用自適應(yīng)列敲,多層編碼(encoder)網(wǎng)絡(luò)來轉(zhuǎn)換高維數(shù)據(jù)到一個低維編碼,并且架構(gòu)一個相似的反編碼“decoder”網(wǎng)絡(luò)來復(fù)原低維編碼到原始數(shù)據(jù)帖汞。在兩層網(wǎng)絡(luò)結(jié)構(gòu)中戴而,通過隨機(jī)初始化權(quán)值矩陣,通過訓(xùn)練翩蘸,最小化重構(gòu)數(shù)據(jù)和原始數(shù)據(jù)的差異所意;通過鏈?zhǔn)椒▌t反向傳播誤差,首先通過反編碼網(wǎng)絡(luò)部分催首,在通過編碼網(wǎng)絡(luò)部分扶踊,所需要的梯度可以很容易的獲得。整個網(wǎng)絡(luò)叫做“Autoencdoer”郎任⊙砗模……

這篇論文中,hinton通過RBM來訓(xùn)練每一層的初始權(quán)值舶治,然后堆疊多個RBM得到一個中心層網(wǎng)絡(luò)節(jié)點(diǎn)少分井,encoder和decoder部分對稱的DBN網(wǎng)絡(luò)來進(jìn)行“Autoencdoer”。

Autoencoder介紹:(網(wǎng)上看到的梁斌博客歼疮,一個比較好的介紹就copy過來了)

copy自http://blog.sina.com.cn/s/blog_593af2a70101endk.html

簡單來說autoencoder是一個壓縮編碼器杂抽,也就是對input的一坨東西通過變換,輸出和input一樣的東西韩脏。例如input是一個雞,ouput也是一個雞铸磅,input是一個鴨赡矢,output也是一個鴨。學(xué)術(shù)一點(diǎn)說就是找到一個函數(shù)能夠使得Function(input) = input,叫做identity function阅仔。即學(xué)習(xí)Hw,b(x)=x吹散。

但這和深度學(xué)習(xí)有什么關(guān)系呢? 這就要說到壓縮編碼八酒,我們都知道input需要有一種編碼形式空民,如果我們能在函數(shù)內(nèi)部找到一個更簡潔的編碼形式,那么這個變換過程就等價于學(xué)習(xí)到了一種壓縮表示的函數(shù)羞迷,能夠少量的存儲形式來表示原本較復(fù)雜的但信息冗余較大的表示形式界轩。

我們下面的代碼中舉了一個精彩的例子(這個例子是從同學(xué)的一次實驗中直接受啟發(fā),我只是按照自己的理解實現(xiàn)了一把衔瓮,例子非原創(chuàng))浊猾。在這個例子中,input是4個不同的數(shù)字热鞍,分別是

(0,0,0,1)可以看作1

(0,0,1,0)可以看作2

(0,1,0,0)可以看作3

(1,0,0,0)可以看作4

因為所有的input只有這4種葫慎,因此其實用4個bit是不經(jīng)濟(jì)的衔彻,存在壓縮表示的可能性,比如2個bit就可以表示這4個不同的數(shù)偷办。

那么我們設(shè)計了輸入層是4+1(4個腳接受4bit編碼的input艰额,1個腳是常數(shù)項,這個用來做先驗的)椒涯;隱藏層2+1(因為我們實現(xiàn)已經(jīng)知道2個bit就夠了悴晰,所以2個隱藏層,具有足夠的表達(dá)能力)逐工;輸出層4(為了能讓輸出和輸入保持一致)

通過數(shù)輪迭代铡溪,我們看到如下的情況

(0,0,0,1)->(0.99,0.09)->(0.06,0.00,0.01,0.91)

(0,0,1,0)->(0.85,0.99)->(0.00,0.07,0.90,0.07)

(0,1,0,0)->(0.01,0.67)->(0.06,0.87,0.11,0.00)

(1,0,0,0)->(0.12,0.00)->(0.89,0.10,0.00,0.02)

input_layer?hidden_layer ????output_layer

hidden層的編碼恰好可以看作是

(0.99,0.09) ?1,0

(0.85,0.99) ?1,1

(0.01,0.67) ?0,1

(0.12,0.00) ?0,0

也就是說輸入的(0,0泪喊,0棕硫,1)可以被1,0 壓縮表示袒啼,最終4bit的信息哈扮,可以用2bit表示,當(dāng)然還需要保持邊的權(quán)重蚓再,但這些邊權(quán)重只需要一份滑肉,在輸入足夠復(fù)雜的時候,壓縮表示是有價值的摘仅。

若用RBM堆疊的DBM來學(xué)習(xí)Autoencoder靶庙,最后fine_tuning結(jié)束之后學(xué)習(xí)到的是幾個權(quán)值矩陣W1,W2……和相應(yīng)的偏置項b1娃属,b2……等六荒;若用普通的3層神經(jīng)網(wǎng)絡(luò)(input—hiden—ouput)網(wǎng)絡(luò)則學(xué)習(xí)到一個權(quán)值矩陣W1和偏置項b1。

最后矾端,輸入數(shù)據(jù)掏击,通過神經(jīng)網(wǎng)絡(luò)的前饋計算就可以把數(shù)據(jù)重構(gòu)為其他維度的數(shù)據(jù),來實現(xiàn)特征提取秩铆。

其他相關(guān)可參見美軍參考資料:

http://ufldl.stanford.edu/wiki/index.php/Autoencoders_and_Sparsity

2.Sparse Coding介紹

稀疏編碼算法是一種無監(jiān)督學(xué)習(xí)方法砚亭,它用來尋找一組“超完備”基向量來更高效地表示樣本數(shù)據(jù)。雖然形如主成分分析技術(shù)(PCA)能使我們方便地找到一組“完備”基向量殴玛,但是這里我們想要做的是找到一組“超完備”基向量來表示輸入向量(也就是說捅膘,基向量的個數(shù)比輸入向量的維數(shù)要大)。超完備基的好處是它們能更有效地找出隱含在輸入數(shù)據(jù)內(nèi)部的結(jié)構(gòu)與模式族阅。然而篓跛,對于超完備基來說,系數(shù)ai不再由輸入向量唯一確定坦刀。

sparse coding是將輸入的樣本集X分解為多個基元的線性組合愧沟,然后這些基前面的系數(shù)表示的是輸入樣本的特征蔬咬。其分解公式表達(dá)如下:

通俗的說,就是將一個信號表示為一組基的線性組合沐寺,而且要求只需要較少的幾個基就可以將信號表示出來林艘。“稀疏性”定義為:只有很少的幾個非零元素或只有很少的幾個遠(yuǎn)大于零的元素混坞。要求系數(shù)ai是稀疏的意思就是說:對于一組輸入向量狐援,我們只想有盡可能少的幾個系數(shù)遠(yuǎn)大于零。選擇使用具有稀疏性的分量來表示我們的輸入數(shù)據(jù)是有原因的究孕,因為絕大多數(shù)的感官數(shù)據(jù)啥酱,比如自然圖像,可以被表示成少量基本元素的疊加厨诸,在圖像中這些基本元素可以是面或者線镶殷。同時,比如與初級視覺皮層的類比過程也因此得到了提升(人腦有大量的神經(jīng)元微酬,但對于某些圖像或者邊緣只有很少的神經(jīng)元興奮绘趋,其他都處于抑制狀態(tài))。

Sparse coding分為兩個部分:

1)Training階段:給定一系列的樣本圖片[x1, x 2, …]颗管,我們需要學(xué)習(xí)得到一組基[Φ1, Φ2, …]陷遮,也就是字典A。

訓(xùn)練過程就是一個重復(fù)迭代的過程垦江,按上面所說帽馋,我們交替的更改a和Φ使得下面這個目標(biāo)函數(shù)最小。

每次迭代分兩步:

a)固定字典Φ[k]疫粥,然后調(diào)整a[k]茬斧,使得上式,即目標(biāo)函數(shù)最泄4(即解LASSO問題)。

b)然后固定住a [k]绣溜,調(diào)整Φ [k]慷彤,使得上式,即目標(biāo)函數(shù)最胁烙鳌(即解凸QP問題)底哗。

不斷迭代,直至收斂锚沸。這樣就可以得到一組可以良好表示這一系列x的基跋选,也就是字典。

2)Coding階段:給定一個新的圖片x哗蜈,由上面得到的字典A前标,通過解一個LASSO問題得到稀疏向量a坠韩。這個稀疏向量就是這個輸入向量x的一個稀疏表達(dá)了。

例如:

參考文獻(xiàn):http://blog.csdn.net/zouxy09/article/details/8777094炼列;

http://www.cnblogs.com/tornadomeet/archive/2013/04/16/3024292.html

和autoencoder不同的是只搁,當(dāng)sparse coding完成訓(xùn)練過程后,只是完成了字典A俭尖,也就是超完備基的學(xué)習(xí)氢惋,和訓(xùn)練數(shù)據(jù)稀疏系數(shù)的學(xué)習(xí);對于給定的新數(shù)據(jù)還需要coding過程稽犁,去“求解”系數(shù)焰望。

3 ?Sparse Autoencoder =sparse coding + autoencoder

對autoencoder中權(quán)值矩陣加上稀疏性限制的autoencoder。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末已亥,一起剝皮案震驚了整個濱河市熊赖,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌陷猫,老刑警劉巖秫舌,帶你破解...
    沈念sama閱讀 206,723評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異绣檬,居然都是意外死亡足陨,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,485評論 2 382
  • 文/潘曉璐 我一進(jìn)店門娇未,熙熙樓的掌柜王于貴愁眉苦臉地迎上來墨缘,“玉大人,你說我怎么就攤上這事零抬∧魉希” “怎么了?”我有些...
    開封第一講書人閱讀 152,998評論 0 344
  • 文/不壞的土叔 我叫張陵平夜,是天一觀的道長蝶棋。 經(jīng)常有香客問我,道長忽妒,這世上最難降的妖魔是什么玩裙? 我笑而不...
    開封第一講書人閱讀 55,323評論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮段直,結(jié)果婚禮上吃溅,老公的妹妹穿的比我還像新娘。我一直安慰自己鸯檬,他們只是感情好决侈,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,355評論 5 374
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著喧务,像睡著了一般赖歌。 火紅的嫁衣襯著肌膚如雪枉圃。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,079評論 1 285
  • 那天俏站,我揣著相機(jī)與錄音讯蒲,去河邊找鬼。 笑死肄扎,一個胖子當(dāng)著我的面吹牛墨林,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播犯祠,決...
    沈念sama閱讀 38,389評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼旭等,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了衡载?” 一聲冷哼從身側(cè)響起搔耕,我...
    開封第一講書人閱讀 37,019評論 0 259
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎痰娱,沒想到半個月后弃榨,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,519評論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡梨睁,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,971評論 2 325
  • 正文 我和宋清朗相戀三年鲸睛,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片坡贺。...
    茶點(diǎn)故事閱讀 38,100評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡官辈,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出遍坟,到底是詐尸還是另有隱情拳亿,我是刑警寧澤,帶...
    沈念sama閱讀 33,738評論 4 324
  • 正文 年R本政府宣布愿伴,位于F島的核電站肺魁,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏隔节。R本人自食惡果不足惜万搔,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,293評論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望官帘。 院中可真熱鬧,春花似錦昧谊、人聲如沸刽虹。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,289評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽涌哲。三九已至胖缤,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間阀圾,已是汗流浹背哪廓。 一陣腳步聲響...
    開封第一講書人閱讀 31,517評論 1 262
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留初烘,地道東北人涡真。 一個月前我還...
    沈念sama閱讀 45,547評論 2 354
  • 正文 我出身青樓,卻偏偏與公主長得像肾筐,于是被迫代替她去往敵國和親哆料。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,834評論 2 345

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