Deep Learning深度學(xué)習(xí)學(xué)習(xí)筆記整理如果對(duì)所有層同時(shí)訓(xùn)練,時(shí)間復(fù)雜度會(huì)太高;如果每次訓(xùn)練一層,偏差就會(huì)逐層傳遞。這會(huì)面臨跟上面監(jiān)督學(xué)習(xí)中相反的問(wèn)題,會(huì)嚴(yán)重欠擬合(因?yàn)樯疃染W(wǎng)絡(luò)的神經(jīng)元和參數(shù)太多了)2006年,hinton提出了在非監(jiān)督數(shù)據(jù)上建立多層神經(jīng)網(wǎng)絡(luò)的一個(gè)有效方法,企業(yè)宣傳片制作簡(jiǎn)單的說(shuō),影視視頻制作分為兩步,一是每次訓(xùn)練一層網(wǎng)絡(luò),二是調(diào)優(yōu),使原始表示x向上生成的高級(jí)表示r和該高級(jí)表示r向下生成的x盡可能一致。方法是: 2)當(dāng)所有層訓(xùn)練完后,Hinton使用wake sleep算法進(jìn)行調(diào)優(yōu)將除最頂層的其它層間的權(quán)重變?yōu)殡p向的,這樣最頂層仍然是一個(gè)單層神經(jīng)網(wǎng)絡(luò),而其它層則變?yōu)榱藞D模型。向上的權(quán)重用于“認(rèn)知”,向下的權(quán)重用于“生成”。企業(yè)宣傳片制作然后使用Wake Sleep算法調(diào)整所有的權(quán)重。讓認(rèn)知和生成達(dá)成一致,也就是保證生成的最頂層表示能夠盡可能正確的復(fù)原底層的結(jié)點(diǎn)。比如頂層的一個(gè)結(jié)點(diǎn)表示人臉,那么所有人臉的圖像應(yīng)該激活這個(gè)結(jié)點(diǎn),并且這個(gè)結(jié)果向下生成的圖像應(yīng)該能夠表現(xiàn)為一個(gè)大概的人臉圖像。Wake Sleep算法分為醒(wake)和睡(sleep)兩個(gè)部分1)wake階段:認(rèn)知過(guò)程,通過(guò)外界的特征和向上的權(quán)重(認(rèn)知權(quán)重)產(chǎn)生每一層的抽象表示(結(jié)點(diǎn)狀態(tài)),并且使用梯度下降修改層間的下行權(quán)重(生成權(quán)重)。也就是“如果現(xiàn)實(shí)跟我想象的不一樣,改變我的權(quán)重使得我想象的東西就是這樣的”2)sleep階段:生成過(guò)程,通過(guò)頂層表示(醒時(shí)學(xué)得的概念)和向下權(quán)重,生成底層的狀態(tài),同時(shí)修改層間向上的權(quán)重。也就是“如果夢(mèng)中的景象不是我腦中的相應(yīng)概念,攝影新手如何選單反。改變我的認(rèn)知權(quán)重使得這種景象在我看來(lái)就是這個(gè)概念”1)使用自下上升非監(jiān)督學(xué)習(xí)(就是從底層開(kāi)始,一層一層的往頂層訓(xùn)練):采用無(wú)標(biāo)定數(shù)據(jù)(有標(biāo)定數(shù)據(jù)也可)分層訓(xùn)練各層參數(shù),這一步可以看作是一個(gè)無(wú)監(jiān)督訓(xùn)練過(guò)程,是和傳統(tǒng)神經(jīng)網(wǎng)絡(luò)區(qū)別最大的部分(這個(gè)過(guò)程可以看作是feature learning過(guò)程):具體的,挖掘賣(mài)拷貝的幕后大佬 好萊塢,先用無(wú)標(biāo)定數(shù)據(jù)訓(xùn)練第一層,訓(xùn)練時(shí)先學(xué)習(xí)第一層的參數(shù)(這一層可以看作是得到一個(gè)使得輸出和輸入差別最小的三層神經(jīng)網(wǎng)絡(luò)的隱層),由于模型capacity的限制以及稀疏性約束,使得得到的模型能夠?qū)W習(xí)到數(shù)據(jù)本身的結(jié)構(gòu),從而得到比輸入更具有表示能力的特征;在學(xué)習(xí)得到第n 1層后,將n 1層的輸出作為第n層的輸入,訓(xùn)練第n層,由此分別得到各層的參數(shù); 2)自頂向下的監(jiān)督學(xué)習(xí)(就是通過(guò)帶標(biāo)簽的數(shù)據(jù)去訓(xùn)練,誤差自頂向下傳輸,對(duì)網(wǎng)絡(luò)進(jìn)行微調(diào)):基于第一步得到的各層參數(shù)進(jìn)一步fine tune整個(gè)多層模型的參數(shù),這一步是一個(gè)有監(jiān)督訓(xùn)練過(guò)程;第一步類 learning效果好很大程度上歸功于第一步的feature learning過(guò)程經(jīng)過(guò)上面的方法,我們就可以得到很多層了。至于需要多少層(或者深度需要多少,這個(gè)目前本身就沒(méi)有一個(gè)科學(xué)的評(píng)價(jià)方法)需要自己試驗(yàn)調(diào)了。每一層都會(huì)得到原始輸入的不同的表達(dá)。當(dāng)然了,我們覺(jué)得它是越抽象越好了,就像人的視覺(jué)系統(tǒng)一樣到這里,這個(gè)AutoEncoder還不能用來(lái)分類數(shù)據(jù),因?yàn)樗€沒(méi)有學(xué)習(xí)如何去連結(jié)一個(gè)輸入和一個(gè)類。它只是學(xué)會(huì)了如何去重構(gòu)或者復(fù)現(xiàn)它的輸入而已?;蛘哒f(shuō),它只是學(xué)習(xí)獲得了一個(gè)可以良好代表輸入的特征,這個(gè)特征可以最大程度上代表原輸入信號(hào)。那么,為了實(shí)現(xiàn)分類,我們就可以在AutoEncoder的最頂?shù)木幋a層添加一個(gè)分類器(例如羅杰斯特回歸、SVM等),然后通過(guò)標(biāo)準(zhǔn)的多層神經(jīng)網(wǎng)絡(luò)的監(jiān)督訓(xùn)練方法(梯度下降法)去訓(xùn)練也就是說(shuō),這時(shí)候,我們需要將最后層的特征code輸入到最后的分類器,通過(guò)有標(biāo)簽樣本,通過(guò)監(jiān)督學(xué)習(xí)進(jìn)行微調(diào),這也分兩種,一個(gè)是只調(diào)整分類器(黑色部分):如上圖,其實(shí)就是限制每次得到的表達(dá)code盡量稀疏。因?yàn)橄∈璧谋磉_(dá)往往比其他的表達(dá)要有效(人腦好像也是這樣的,某個(gè)輸入只是刺激某些神經(jīng)元,其他的大部分的神經(jīng)元是受到抑制的)Denoising AutoEncoders降噪自動(dòng)編碼器:降噪自動(dòng)編碼器DA是在自動(dòng)編碼器的基礎(chǔ)上,訓(xùn)練數(shù)據(jù)加入噪聲,所以自動(dòng)編碼器必須學(xué)習(xí)去去除這種噪聲而獲得真正的沒(méi)有被噪聲污染過(guò)的輸入。因此,這就迫使編碼器去學(xué)習(xí)輸入信號(hào)的更加魯棒的表達(dá),這也是它的泛化能力比一般編碼器強(qiáng)的原因。DA可以通過(guò)梯度下降算法去訓(xùn)練因此,它們可以用來(lái)表達(dá)輸入I,這個(gè)過(guò)程也是自動(dòng)學(xué)習(xí)得到的。如果我們?cè)谏鲜鍪阶由霞由螸1的Regularity限制,得到:這種方法被稱為Sparse Coding。通俗的說(shuō),就是將一個(gè)信號(hào)表示為一組基的線性組合,而且要求只需要較少的幾個(gè)基就可以將信號(hào)表示出來(lái)。“稀疏性”定義為:只有很少的幾個(gè)非零元素或只有很少的幾個(gè)遠(yuǎn)大于零的元素。要求系數(shù) ai 是稀疏的意思就是說(shuō):對(duì)于一組輸入向量,我們只想有盡可能少的幾個(gè)系數(shù)遠(yuǎn)大于零。選擇使用具有稀疏性的分量來(lái)表示我們的輸入數(shù)據(jù)是有原因的,因?yàn)榻^大多數(shù)的感官數(shù)據(jù),比如自然圖像,徐皓峰放棄刀背藏身導(dǎo)演署名。可以被表示成少量基本元素的疊加,在圖像中這些基本元素可以是面或者線。同時(shí),比如與初級(jí)視覺(jué)皮層的類比過(guò)程也因此得到了提升(人腦有大量的神經(jīng)元,但對(duì)于某些圖像或者邊緣只有很少的神經(jīng)元興奮,其他都處于抑制狀態(tài))稀疏編碼算法是一種無(wú)監(jiān)督學(xué)習(xí)方法,它用來(lái)尋找一組“超完備”基向量來(lái)更高效地表示樣本數(shù)據(jù)。雖然形如主成分分析技術(shù)(PCA)能使我們方便地找到一組“完備”基向量,但是這里我們想要做的是找到一組“超完備”基向量來(lái)表示輸入向量(也就是說(shuō),基向量的個(gè)數(shù)比輸入向量的維數(shù)要大)。超完備基的好處是它們能更有效地找出隱含在輸入數(shù)據(jù)內(nèi)部的結(jié)構(gòu)與模式。當(dāng)年干部培訓(xùn)那點(diǎn)風(fēng)花雪月故事之一嚴(yán)建設(shè)老照然而,對(duì)于超完備基來(lái)說(shuō),系數(shù)ai不再由輸入向量唯一確定。因此,在稀疏編碼算法中,我們另加了一個(gè)評(píng)判標(biāo)準(zhǔn)“稀疏性”來(lái)解決因超完備而導(dǎo)致的退化(degeneracy)問(wèn)題。(詳細(xì)過(guò)程請(qǐng)參考:UFLDL