日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 人工智能 > pytorch >内容正文

pytorch

深度学习之四:常用模型和方法

發(fā)布時(shí)間:2025/3/21 pytorch 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 深度学习之四:常用模型和方法 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.


九、Deep Learning的常用模型或者方法

9.1、AutoEncoder自動(dòng)編碼器

??????? Deep Learning最簡(jiǎn)單的一種方法是利用人工神經(jīng)網(wǎng)絡(luò)的特點(diǎn),人工神經(jīng)網(wǎng)絡(luò)(ANN)本身就是具有層次結(jié)構(gòu)的系統(tǒng),如果給定一個(gè)神經(jīng)網(wǎng)絡(luò),我們假設(shè)其輸出與輸入是相同的,然后訓(xùn)練調(diào)整其參數(shù),得到每一層中的權(quán)重。自然地,我們就得到了輸入I的幾種不同表示(每一層代表一種表示),這些表示就是特征。自動(dòng)編碼器就是一種盡可能復(fù)現(xiàn)輸入信號(hào)的神經(jīng)網(wǎng)絡(luò)。為了實(shí)現(xiàn)這種復(fù)現(xiàn),自動(dòng)編碼器就必須捕捉可以代表輸入數(shù)據(jù)的最重要的因素,就像PCA那樣,找到可以代表原信息的主要成分。

?????? 具體過(guò)程簡(jiǎn)單的說(shuō)明如下:

1)給定無(wú)標(biāo)簽數(shù)據(jù),用非監(jiān)督學(xué)習(xí)學(xué)習(xí)特征:

?

?????? 在我們之前的神經(jīng)網(wǎng)絡(luò)中,如第一個(gè)圖,我們輸入的樣本是有標(biāo)簽的,即(input, target),這樣我們根據(jù)當(dāng)前輸出和target(label)之間的差去改變前面各層的參數(shù),直到收斂。但現(xiàn)在我們只有無(wú)標(biāo)簽數(shù)據(jù),也就是右邊的圖。那么這個(gè)誤差怎么得到呢?

????????如上圖,我們將input輸入一個(gè)encoder編碼器,就會(huì)得到一個(gè)code,這個(gè)code也就是輸入的一個(gè)表示,那么我們?cè)趺粗肋@個(gè)code表示的就是input呢?我們加一個(gè)decoder解碼器,這時(shí)候decoder就會(huì)輸出一個(gè)信息,那么如果輸出的這個(gè)信息和一開(kāi)始的輸入信號(hào)input是很像的(理想情況下就是一樣的),那很明顯,我們就有理由相信這個(gè)code是靠譜的。所以,我們就通過(guò)調(diào)整encoder和decoder的參數(shù),使得重構(gòu)誤差最小,這時(shí)候我們就得到了輸入input信號(hào)的第一個(gè)表示了,也就是編碼code了。因?yàn)槭菬o(wú)標(biāo)簽數(shù)據(jù),所以誤差的來(lái)源就是直接重構(gòu)后與原輸入相比得到。

2)通過(guò)編碼器產(chǎn)生特征,然后訓(xùn)練下一層。這樣逐層訓(xùn)練:

?????? 那上面我們就得到第一層的code,我們的重構(gòu)誤差最小讓我們相信這個(gè)code就是原輸入信號(hào)的良好表達(dá)了,或者牽強(qiáng)點(diǎn)說(shuō),它和原信號(hào)是一模一樣的(表達(dá)不一樣,反映的是一個(gè)東西)。那第二層和第一層的訓(xùn)練方式就沒(méi)有差別了,我們將第一層輸出的code當(dāng)成第二層的輸入信號(hào),同樣最小化重構(gòu)誤差,就會(huì)得到第二層的參數(shù),并且得到第二層輸入的code,也就是原輸入信息的第二個(gè)表達(dá)了。其他層就同樣的方法炮制就行了(訓(xùn)練這一層,前面層的參數(shù)都是固定的,并且他們的decoder已經(jīng)沒(méi)用了,都不需要了)。

3)有監(jiān)督微調(diào):

????? 經(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)整分類器(黑色部分):

?????? 另一種:通過(guò)有標(biāo)簽樣本,微調(diào)整個(gè)系統(tǒng):(如果有足夠多的數(shù)據(jù),這個(gè)是最好的。end-to-end learning端對(duì)端學(xué)習(xí))

?????? 一旦監(jiān)督訓(xùn)練完成,這個(gè)網(wǎng)絡(luò)就可以用來(lái)分類了。神經(jīng)網(wǎng)絡(luò)的最頂層可以作為一個(gè)線性分類器,然后我們可以用一個(gè)更好性能的分類器去取代它。

?????? 在研究中可以發(fā)現(xiàn),如果在原有的特征中加入這些自動(dòng)學(xué)習(xí)得到的特征可以大大提高精確度,甚至在分類問(wèn)題中比目前最好的分類算法效果還要好!

??????? AutoEncoder存在一些變體,這里簡(jiǎn)要介紹下兩個(gè):

Sparse AutoEncoder稀疏自動(dòng)編碼器:

????? 當(dāng)然,我們還可以繼續(xù)加上一些約束條件得到新的Deep Learning方法,如:如果在AutoEncoder的基礎(chǔ)上加上L1的Regularity限制(L1主要是約束每一層中的節(jié)點(diǎn)中大部分都要為0,只有少數(shù)不為0,這就是Sparse名字的來(lái)源),我們就可以得到Sparse AutoEncoder法。

?????? 如上圖,其實(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)練。

?

總結(jié)

以上是生活随笔為你收集整理的深度学习之四:常用模型和方法的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。