麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 學(xué)院 > 開發(fā)設(shè)計(jì) > 正文

自編碼算法與稀疏性

2019-11-06 08:20:41
字體:
供稿:網(wǎng)友

目前為止,我們已經(jīng)討論了神經(jīng)網(wǎng)絡(luò)在有監(jiān)督學(xué)習(xí)中的應(yīng)用。在有監(jiān)督學(xué)習(xí)中,訓(xùn)練樣本是有類別標(biāo)簽的。現(xiàn)在假設(shè)我們只有一個(gè)沒有帶類別標(biāo)簽的訓(xùn)練樣本集合/textstyle /{x^{(1)}, x^{(2)}, x^{(3)}, /ldots/} ,其中/textstyle x^{(i)} /in /Re^{n} 。自編碼神經(jīng)網(wǎng)絡(luò)是一種無監(jiān)督學(xué)習(xí)算法,它使用了反向傳播算法,并讓目標(biāo)值等于輸入值,比如/textstyle y^{(i)} = x^{(i)} 。下圖是一個(gè)自編碼神經(jīng)網(wǎng)絡(luò)的示例。

Autoencoder636.png

自編碼神經(jīng)網(wǎng)絡(luò)嘗試學(xué)習(xí)一個(gè) /textstyle h_{W,b}(x) /approx x 的函數(shù)。換句話說,它嘗試逼近一個(gè)恒等函數(shù),從而使得輸出/textstyle /hat{x} 接近于輸入/textstyle x 。恒等函數(shù)雖然看上去不太有學(xué)習(xí)的意義,但是當(dāng)我們?yōu)樽跃幋a神經(jīng)網(wǎng)絡(luò)加入某些限制,比如限定隱藏神經(jīng)元的數(shù)量,我們就可以從輸入數(shù)據(jù)中發(fā)現(xiàn)一些有趣的結(jié)構(gòu)。舉例來說,假設(shè)某個(gè)自編碼神經(jīng)網(wǎng)絡(luò)的輸入/textstyle x 是一張/textstyle 10 /times 10 圖像(共100個(gè)像素)的像素灰度值,于是/textstyle n=100 ,其隱藏層/textstyle L_2 中有50個(gè)隱藏神經(jīng)元。注意,輸出也是100維的/textstyle y /in /Re^{100} 。由于只有50個(gè)隱藏神經(jīng)元,我們迫使自編碼神經(jīng)網(wǎng)絡(luò)去學(xué)習(xí)輸入數(shù)據(jù)的壓縮表示,也就是說,它必須從50維的隱藏神經(jīng)元激活度向量/textstyle a^{(2)} /in /Re^{50}重構(gòu)出100維的像素灰度值輸入/textstyle x 。如果網(wǎng)絡(luò)的輸入數(shù)據(jù)是完全隨機(jī)的,比如每一個(gè)輸入/textstyle x_i 都是一個(gè)跟其它特征完全無關(guān)的獨(dú)立同分布高斯隨機(jī)變量,那么這一壓縮表示將會非常難學(xué)習(xí)。但是如果輸入數(shù)據(jù)中隱含著一些特定的結(jié)構(gòu),比如某些輸入特征是彼此相關(guān)的,那么這一算法就可以發(fā)現(xiàn)輸入數(shù)據(jù)中的這些相關(guān)性。事實(shí)上,這一簡單的自編碼神經(jīng)網(wǎng)絡(luò)通常可以學(xué)習(xí)出一個(gè)跟主元分析(PCA)結(jié)果非常相似的輸入數(shù)據(jù)的低維表示

我們剛才的論述是基于隱藏神經(jīng)元數(shù)量較小的假設(shè)。但是即使隱藏神經(jīng)元的數(shù)量較大(可能比輸入像素的個(gè)數(shù)還要多),我們?nèi)匀煌ㄟ^給自編碼神經(jīng)網(wǎng)絡(luò)施加一些其他的限制條件來發(fā)現(xiàn)輸入數(shù)據(jù)中的結(jié)構(gòu)。具體來說,如果我們給隱藏神經(jīng)元加入稀疏性限制,那么自編碼神經(jīng)網(wǎng)絡(luò)即使在隱藏神經(jīng)元數(shù)量較多的情況下仍然可以發(fā)現(xiàn)輸入數(shù)據(jù)中一些有趣的結(jié)構(gòu)。

稀疏性可以被簡單地解釋如下。如果當(dāng)神經(jīng)元的輸出接近于1的時(shí)候我們認(rèn)為它被激活,而輸出接近于0的時(shí)候認(rèn)為它被抑制,那么使得神經(jīng)元大部分的時(shí)間都是被抑制的限制則被稱作稀疏性限制。這里我們假設(shè)的神經(jīng)元的激活函數(shù)是sigmoid函數(shù)。如果你使用tanh作為激活函數(shù)的話,當(dāng)神經(jīng)元輸出為-1的時(shí)候,我們認(rèn)為神經(jīng)元是被抑制的。

注意到 /textstyle a^{(2)}_j 表示隱藏神經(jīng)元/textstyle j 的激活度,但是這一表示方法中并未明確指出哪一個(gè)輸入/textstyle x 帶來了這一激活度。所以我們將使用/textstyle a^{(2)}_j(x) 來表示在給定輸入為/textstyle x 情況下,自編碼神經(jīng)網(wǎng)絡(luò)隱藏神經(jīng)元/textstyle j 的激活度。進(jìn)一步,讓

/begin{align}/hat/rho_j = /frac{1}{m} /sum_{i=1}^m /left[ a^{(2)}_j(x^{(i)}) /right]/end{align}

表示隱藏神經(jīng)元 /textstyle j 的平均活躍度(在訓(xùn)練集上取平均)。我們可以近似的加入一條限制

/begin{align}/hat/rho_j = /rho,/end{align}

其中, /textstyle /rho稀疏性參數(shù),通常是一個(gè)接近于0的較小的值(比如/textstyle /rho = 0.05 )。換句話說,我們想要讓隱藏神經(jīng)元/textstyle j 的平均活躍度接近0.05。為了滿足這一條件,隱藏神經(jīng)元的活躍度必須接近于0。

為了實(shí)現(xiàn)這一限制,我們將會在我們的優(yōu)化目標(biāo)函數(shù)中加入一個(gè)額外的懲罰因子,而這一懲罰因子將懲罰那些 /textstyle /hat/rho_j/textstyle /rho 有顯著不同的情況從而使得隱藏神經(jīng)元的平均活躍度保持在較小范圍內(nèi)。懲罰因子的具體形式有很多種合理的選擇,我們將會選擇以下這一種:

/begin{align}/sum_{j=1}^{s_2} /rho /log /frac{/rho}{/hat/rho_j} + (1-/rho) /log /frac{1-/rho}{1-/hat/rho_j}./end{align}

這里, /textstyle s_2 是隱藏層中隱藏神經(jīng)元的數(shù)量,而索引/textstyle j 依次代表隱藏層中的每一個(gè)神經(jīng)元。如果你對相對熵(KL divergence)比較熟悉,這一懲罰因子實(shí)際上是基于它的。于是懲罰因子也可以被表示為

/begin{align}/sum_{j=1}^{s_2} {/rm KL}(/rho || /hat/rho_j),/end{align}

其中 /textstyle {/rm KL}(/rho || /hat/rho_j) = /rho /log /frac{/rho}{/hat/rho_j} + (1-/rho) /log /frac{1-/rho}{1-/hat/rho_j} 是一個(gè)以 /textstyle /rho 為均值和一個(gè)以/textstyle /hat/rho_j 為均值的兩個(gè)伯努利隨機(jī)變量之間的相對熵。相對熵是一種標(biāo)準(zhǔn)的用來測量兩個(gè)分布之間差異的方法。(如果你沒有見過相對熵,不用擔(dān)心,所有你需要知道的內(nèi)容都會被包含在這份筆記之中。)

這一懲罰因子有如下性質(zhì),當(dāng) /textstyle /hat/rho_j = /rho 時(shí)/textstyle {/rm KL}(/rho || /hat/rho_j) = 0 ,并且隨著/textstyle /hat/rho_j/textstyle /rho 之間的差異增大而單調(diào)遞增。舉例來說,在下圖中,我們設(shè)定/textstyle /rho = 0.2 并且畫出了相對熵值/textstyle {/rm KL}(/rho || /hat/rho_j) 隨著/textstyle /hat/rho_j 變化的變化。

KLPenaltyExample.png

我們可以看出,相對熵在 /textstyle /hat/rho_j = /rho 時(shí)達(dá)到它的最小值0,而當(dāng)/textstyle /hat/rho_j 靠近0或者1的時(shí)候,相對熵則變得非常大(其實(shí)是趨向于/textstyle /infty)。所以,最小化這一懲罰因子具有使得/textstyle /hat/rho_j 靠近/textstyle /rho 的效果。現(xiàn)在,我們的總體代價(jià)函數(shù)可以表示為

/begin{align}J_{/rm sparse}(W,b) = J(W,b) + /beta /sum_{j=1}^{s_2} {/rm KL}(/rho || /hat/rho_j),/end{align}

其中 /textstyle J(W,b) 如之前所定義,而/textstyle /beta 控制稀疏性懲罰因子的權(quán)重。/textstyle /hat/rho_j 項(xiàng)則也(間接地)取決于/textstyle W,b ,因?yàn)樗请[藏神經(jīng)元/textstyle j 的平均激活度,而隱藏層神經(jīng)元的激活度取決于/textstyle W,b

為了對相對熵進(jìn)行導(dǎo)數(shù)計(jì)算,我們可以使用一個(gè)易于實(shí)現(xiàn)的技巧,這只需要在你的程序中稍作改動即可。具體來說,前面在反向傳播算法中計(jì)算第二層( /textstyle l=2 )更新的時(shí)候我們已經(jīng)計(jì)算了

/begin{align}/delta^{(2)}_i = /left( /sum_{j=1}^{s_{2}} W^{(2)}_{ji} /delta^{(3)}_j /right) f'(z^{(2)}_i),/end{align}

現(xiàn)在我們將其換成

/begin{align}/delta^{(2)}_i =  /left( /left( /sum_{j=1}^{s_{2}} W^{(2)}_{ji} /delta^{(3)}_j /right)+ /beta /left( - /frac{/rho}{/hat/rho_i} + /frac{1-/rho}{1-/hat/rho_i} /right) /right) f'(z^{(2)}_i) ./end{align}

就可以了。

有一個(gè)需要注意的地方就是我們需要知道 /textstyle /hat/rho_i 來計(jì)算這一項(xiàng)更新。所以在計(jì)算任何神經(jīng)元的反向傳播之前,你需要對所有的訓(xùn)練樣本計(jì)算一遍前向傳播,從而獲取平均激活度。如果你的訓(xùn)練樣本可以小到被整個(gè)存到內(nèi)存之中(對于編程作業(yè)來說,通常如此),你可以方便地在你所有的樣本上計(jì)算前向傳播并將得到的激活度存入內(nèi)存并且計(jì)算平均激活度 。然后你就可以使用事先計(jì)算好的激活度來對所有的訓(xùn)練樣本進(jìn)行反向傳播的計(jì)算。如果你的數(shù)據(jù)量太大,無法全部存入內(nèi)存,你就可以掃過你的訓(xùn)練樣本并計(jì)算一次前向傳播,然后將獲得的結(jié)果累積起來并計(jì)算平均激活度/textstyle /hat/rho_i (當(dāng)某一個(gè)前向傳播的結(jié)果中的激活度/textstyle a^{(2)}_i 被用于計(jì)算平均激活度/textstyle /hat/rho_i 之后就可以將此結(jié)果刪除)。然后當(dāng)你完成平均激活度/textstyle /hat/rho_i 的計(jì)算之后,你需要重新對每一個(gè)訓(xùn)練樣本做一次前向傳播從而可以對其進(jìn)行反向傳播的計(jì)算。對于后一種情況,你對每一個(gè)訓(xùn)練樣本需要計(jì)算兩次前向傳播,所以在計(jì)算上的效率會稍低一些。

如果想要使用經(jīng)過以上修改的反向傳播來實(shí)現(xiàn)自編碼神經(jīng)網(wǎng)絡(luò),那么就要對目標(biāo)函數(shù)/textstyle J_{/rm sparse}(W,b) 做梯度下降。使用梯度驗(yàn)證方法來驗(yàn)證梯度下降算法是否正確。


發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 亚洲国产视频在线 | 第四色成人网 | 久久精品视频1 | 国产福利不卡一区二区三区 | 欧美a级毛片| 久久久久久久一区二区 | 国产免费一级 | 成人富二代短视频 | 国产精品一区免费在线观看 | 免费黄色欧美视频 | 日本人乱人乱亲乱色视频观看 | 精品久久久久久成人av | 激情视频免费观看 | 国产69精品久久久久孕妇黑 | 全黄性色大片 | 叶子楣成人爽a毛片免费啪啪 | 欧美女同hd | 黄色视屏免费观看 | 色综合网在线观看 | 久久网站热最新地址4 | 国产精品一区二区三区99 | 嫩呦国产一区二区三区av | 国产午夜精品久久久久久久蜜臀 | 天天透天天狠天天爱综合97 | 深夜免费视频 | 日韩深夜视频 | 久久久久999 | 久久成人激情视频 | fc2成人免费人成在线观看播放 | 一级做a爱片毛片免费 | 欧美性久久久 | 天天色人人爱 | 久久国产成人精品国产成人亚洲 | 成人18在线 | 孕妇体内谢精满日本电影 | tube69xxxxxhd | 日韩视频一区在线 | 一级免费黄色 | 911精品影院在线观看 | 91av国产在线| 国产免费久久久久 |