Stanford UFLDL教程 线性解码器
線性解碼器
Contents[hide]
|
稀疏自編碼重述
稀疏自編碼器包含3層神經(jīng)元,分別是輸入層,隱含層以及輸出層。從前面(神經(jīng)網(wǎng)絡(luò))自編碼器描述可知,位于神經(jīng)網(wǎng)絡(luò)中的神經(jīng)元都采用相同的激勵(lì)函數(shù)。在注解中,我們修改了自編碼器定義,使得某些神經(jīng)元采用不同的激勵(lì)函數(shù)。這樣得到的模型更容易應(yīng)用,而且模型對(duì)參數(shù)的變化也更為魯棒。
回想一下,輸出層神經(jīng)元計(jì)算公式如下:
其中 a(3) 是輸出. 在自編碼器中, a(3) 近似重構(gòu)了輸入 x = a(1)。
S 型激勵(lì)函數(shù)輸出范圍是 [0,1],當(dāng) f(z(3)) 采用該激勵(lì)函數(shù)時(shí),就要對(duì)輸入限制或縮放,使其位于[0,1] 范圍中。一些數(shù)據(jù)集,比如 MNIST,能方便將輸出縮放到 [0,1] 中,但是很難滿足對(duì)輸入值的要求。比如, PCA 白化處理的輸入并不滿足[0,1] 范圍要求,也不清楚是否有最好的辦法可以將數(shù)據(jù)縮放到特定范圍中。
線性解碼器
設(shè)定 a(3) = z(3) 可以很簡(jiǎn)單的解決上述問(wèn)題。從形式上來(lái)看,就是輸出端使用恒等函數(shù)f(z) = z 作為激勵(lì)函數(shù),于是有 a(3) = f(z(3)) = z(3)。我們稱該特殊的激勵(lì)函數(shù)為線性激勵(lì)函數(shù) (稱為恒等激勵(lì)函數(shù)可能更好些)。
需要注意,神經(jīng)網(wǎng)絡(luò)中隱含層的神經(jīng)元依然使用S型(或者tanh)激勵(lì)函數(shù)。這樣隱含單元的激勵(lì)公式為 ?,其中?是 S 型函數(shù),?x?是輸入,W(1)?和 b(1)?分別是隱單元的權(quán)重和偏差項(xiàng)。我們僅在輸出層中使用線性激勵(lì)函數(shù)。
一個(gè) S 型或 tanh 隱含層以及線性輸出層構(gòu)成的自編碼器,我們稱為線性解碼器。
在這個(gè)線性解碼器模型中,。因?yàn)檩敵?是隱單元激勵(lì)輸出的線性函數(shù),改變W(2) ,可以使輸出值 a(3) 大于 1 或者小于 0。這使得我們可以用實(shí)值輸入來(lái)訓(xùn)練稀疏自編碼器,避免預(yù)先縮放樣本到給定范圍。
隨著輸出單元的激勵(lì)函數(shù)的改變,這個(gè)輸出單元梯度也相應(yīng)變化。回顧之前每一個(gè)輸出單元誤差項(xiàng)定義為:
其中 y = x 是所期望的輸出,??是自編碼器的輸出,??是激勵(lì)函數(shù).因?yàn)樵谳敵鰧蛹?lì)函數(shù)為f(z) = z, 這樣?f'(z) = 1,所以上述公式可以簡(jiǎn)化為
當(dāng)然,若使用反向傳播算法來(lái)計(jì)算隱含層的誤差項(xiàng)時(shí):
因?yàn)殡[含層采用一個(gè) S 型(或 tanh)的激勵(lì)函數(shù) f,在上述公式中, 依然是 S 型(或 tanh)函數(shù)的導(dǎo)數(shù)。
中英文對(duì)照
總結(jié)
以上是生活随笔為你收集整理的Stanford UFLDL教程 线性解码器的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Stanford UFLDL教程 微调多
- 下一篇: Stanford UFLDL教程 卷积特