【深度學(xué)習(xí)】【auto-encoder】原文鏈接
鑒于這幾天心情大好昂勉,于是我決定在挖一個大坑芍阎,講一講Auto encoder和PCA的關(guān)系以及 Denoising auto encoder 和PCA的關(guān)系(流形學(xué)習(xí)角度)惠豺,今天這一篇作為這個大坑的第一步擅腰,我打算講講有關(guān)Auto encoder的基礎(chǔ)概念,基本上講有關(guān)DL的博客都有說的什么深度結(jié)構(gòu)的優(yōu)勢什么的璃岳,我這就不多說了,接下來直接進入正題悔捶,按照慣例铃慷,先上個圖:
這些都是我們接下來會用到的符號,請各位看官看仔細了蜕该,既然講到Auto encoder犁柜,那就不得不提到表示(representation)這個詞了,我們的auto encoder所要達到的目標(biāo)就是找到輸入的一個新的高級表示堂淡,假設(shè)輸入層的維數(shù)比隱藏層低則稱我們獲得的表示是over-complete representation馋缅,反之則是under-complete representation,當(dāng)然绢淀,獲得的表示是有質(zhì)量差別的萤悴,我們不能照單全收,所以我們需要一個標(biāo)準(zhǔn)來確定什么是一個好的表示皆的,一個好的表示最低限度的要求是最大限度的保有輸入所帶有的“信息”(這里聯(lián)系到信息論了)覆履,然后在這之上的就是是否可以使得分類的效果提升等的要求,當(dāng)然了祭务,如果把這些要求全講出來會使得這個文章變得相當(dāng)?shù)幕靵y,當(dāng)然怪嫌,我們時常提到的稀疏性也是好的表示的標(biāo)準(zhǔn)之一义锥。
好了,接下來開始推導(dǎo)了岩灭,各位看官可看仔細了拌倍。
剛剛我說了一個好的表示最低限度的要求是最大限度的保有輸入所帶有的信息,那好噪径,感性的認識各位看官應(yīng)該都有了柱恤,但是如果要變成實際的式子要如何表示呢?找爱,我估計有人應(yīng)該看出來了梗顺,對,就是互信息车摄!寺谤,那為什么是使用互信息表示呢仑鸥?因為其實互信息表示的其實就是兩個隨機事件的相關(guān)性的度量,互信息的式子如下
其實通俗點說变屁,所謂的熵就是不確定性的度量眼俊,一般來說,感到悶熱的話很有可能是會下雨了粟关,于是可以做個假設(shè)疮胖,假設(shè)隨機變量Y表示的是悶熱與否,隨機變量X表示的是是否下雨闷板,這時候的條件熵
的值會比隨機變量X的熵要低澎灸,因為悶熱和下雨是有相關(guān)性的,從而在給定Y(悶熱)的條件下蛔垢,X(下雨)的不確定減少了击孩,而互信息就是由隨機變量X的熵減去隨機變量X給定Y的條件熵,我想接下來我應(yīng)該不用解釋了鹏漆,各位看官應(yīng)該明白了巩梢。
好,終于繞回來了艺玲,作為一位語文老師死得早的娃來說括蝠,我又讓我語文老師黃泉之下淚奔三千里了,好了饭聚,既然互信息是相關(guān)性的度量忌警,那我們的任務(wù)就應(yīng)該是最大化互信息,使得輸入層和隱層的相關(guān)性最大秒梳,從而獲得好的表示法绵,如下式所示:
各位看官一定在想H(X)去哪里了吧,其實很簡單酪碘,我們所要學(xué)習(xí)的參數(shù)
的來源是見下圖
(這次結(jié)構(gòu)有點亂朋譬,下次會好的,各位看官見諒)兴垦。
好了徙赢,關(guān)鍵的一部來了,見下圖:
探越,這樣我們就確定了互信息的下界了狡赐,所以只要我們不斷提升下界就可以了,現(xiàn)在可能還有點看不出個所以然钦幔,但是各位看官別急枕屉,慢慢你就會發(fā)現(xiàn)原來如此了。接下來下一步:
各位看官注意一下這里的多了一個參數(shù)鲤氢,這個就是我們要最大化的式子了其實就是從上一個圖那里來的搀庶,我們的最大值將會在當(dāng)
時得到(和相對熵的性質(zhì)有關(guān)系拐纱,其實這個就是相對熵等于0的時候,根據(jù)相對熵的定義就可以得到)哥倔。
那我們就可以得到以下的式子:
注意看秸架,這兩個式子是有差別的,差別就在q(X)這里咆蒿,這個其實是輸入X(訓(xùn)練樣本)的分布东抹,但是我們不知道這個分布,所以我們用訓(xùn)練樣本的經(jīng)驗平均值代替了沃测。
好了缭黔,終于繞完了,現(xiàn)在我們正式引入傳統(tǒng)的auto encoder蒂破,接下來你就會發(fā)現(xiàn)前面的推導(dǎo)有多有用了馏谨。
這些都是相當(dāng)基礎(chǔ)的東西了,估計各位看官應(yīng)該都知道了附迷。好了惧互,接下來重要的來了
這樣我們就有了loss function的統(tǒng)一標(biāo)準(zhǔn)了(個人看法),凡是滿足這個條件的都可以當(dāng)做loss function喇伯,底下就是可以使用的loss function的例子
當(dāng)然喊儡,我們的目標(biāo)函數(shù)也可以表示成這個樣子,這就是大家平時所見的AE的目標(biāo)函數(shù)了
最后的最后稻据,總的來說艾猜,auto encoder是通過減小重構(gòu)誤差來提升X和Y的互信息的lower bound,從而學(xué)習(xí)到一個好的表示的捻悯。
本人菜鳥一只匆赃,希望各位大大多多指正。
下一篇講Denosing autoencoder(流形學(xué)習(xí)方面)