技術(shù)頻道

娓娓工業(yè)
您現(xiàn)在的位置: 中國傳動網(wǎng) > 技術(shù)頻道 > 技術(shù)百科 > 越難懂的東西是不是越有動力搞懂?自編碼器實現(xiàn)原理

越難懂的東西是不是越有動力搞懂?自編碼器實現(xiàn)原理

時間:2018-06-04 17:59:31來源:網(wǎng)絡(luò)轉(zhuǎn)載

導(dǎo)語:?自編碼器,就是一個程序,目的是讓它的輸出值等于輸入值(trytocopyitsinputtoitsoutput),但是要經(jīng)過函數(shù)變化生成一個中間值,使這個中間值不等于輸入值。

自編碼器,就是一個程序,目的是讓它的輸出值等于輸入值(trytocopyitsinputtoitsoutput),但是要經(jīng)過函數(shù)變化生成一個中間值,使這個中間值不等于輸入值。例如x—y—z,x為輸入值,y為經(jīng)過函數(shù)變換后的一個中間值,z是y經(jīng)過變換后的一個輸出值,自編碼器的目的是為了讓z等于x,同時y不等于x。這樣的一個變換中,y就承載了x的全部信息,是極其有意義的。具體有怎樣的意義?提高數(shù)據(jù)分類效率!

在深入了解自編碼器實現(xiàn)原理之前,首先要明白一個前提,我們利用的是人工神經(jīng)網(wǎng)絡(luò)。那什么是神經(jīng)網(wǎng)絡(luò)呢?簡單來講,神經(jīng)網(wǎng)絡(luò)就是在對原始信號逐層地做非線性變換,如下圖所示。

神經(jīng)網(wǎng)絡(luò)往往用于分類,其目的是去逼近從輸入層x到輸出層y的變換函數(shù),h為多層的隱藏層。因此,我們會定義一個目標(biāo)函數(shù)來衡量當(dāng)前的輸出和真實結(jié)果的差異,利用該函數(shù)去逐步調(diào)整(如梯度下降)系統(tǒng)的參數(shù),以使得整個網(wǎng)絡(luò)盡可能去擬合訓(xùn)練數(shù)據(jù)。如果有正則約束的話,還同時要求模型盡量簡單(防止過擬合)。

自編碼器實現(xiàn)原理

如果給定一個神經(jīng)網(wǎng)絡(luò),我們假設(shè)其輸出與輸入是相同的,然后訓(xùn)練調(diào)整其參數(shù),得到每一層中的權(quán)重。自然地,我們就得到了輸入的幾種不同表示(每一層代表一種表示),這些表示就是特征。自動編碼器就是一種盡可能復(fù)現(xiàn)輸入信號的神經(jīng)網(wǎng)絡(luò)。為了實現(xiàn)這種復(fù)現(xiàn),自動編碼器就必須捕捉可以代表輸入數(shù)據(jù)的最重要的因素,找到可以代表原信息的主要成分。

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

如上圖,我們將input輸入一個encoder編碼器,就會得到一個code,這個code也就是輸入的一個表示,那么我們怎么知道這個code表示的就是input呢?我們加一個decoder解碼器,這時候decoder就會輸出一個信息,那么如果輸出的這個信息和一開始的輸入信號input是很像的(理想情況下就是一樣的),那很明顯,我們就有理由相信這個code是可靠的。所以,我們就通過調(diào)整encoder和decoder的參數(shù),使得輸出和輸入之間的誤差(重構(gòu)誤差)最小,這時候我們就得到了輸入input信號的第一個表示,就是編碼code了。而此時,輸出的解碼器就已經(jīng)不重要了,因為code已經(jīng)表示了input的所有信息,即code已經(jīng)代表了input。

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

然后第二層的訓(xùn)練就以第一層的code作為第二層的input,然后同樣使其輸出等于輸入,獲得code2表示code,第三層code3表示code2……直至多層。我們通常所說的深度學(xué)習(xí)之中,深度一詞就源于此神經(jīng)網(wǎng)絡(luò)的多層,層數(shù)越多,學(xué)習(xí)深度也就越深。

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

經(jīng)過上面的方法,我們就可以得到很多層了。至于需要多少層(或者深度需要多少,這個目前本身就沒有一個科學(xué)的評價方法)需要自己試驗調(diào)了。每一層都會得到原始輸入的不同的表達(dá)。當(dāng)然了,我們覺得它是越抽象越好了,就像人的視覺系統(tǒng)一樣。

到這里,這個自編碼器還不能用來分類數(shù)據(jù),因為它還沒有學(xué)習(xí)如何去連結(jié)一個輸入和一個類。它只是學(xué)會了如何去重構(gòu)或者復(fù)現(xiàn)它的輸入而已?;蛘哒f,它只是學(xué)習(xí)獲得了一個可以良好代表輸入的特征,這個特征可以最大程度上代表原輸入信號。那么,為了實現(xiàn)分類,我們就可以在自編碼器的最頂?shù)木幋a層添加一個分類器(例如邏輯回歸、SVM等),然后通過標(biāo)準(zhǔn)的多層神經(jīng)網(wǎng)絡(luò)的監(jiān)督訓(xùn)練方法(梯度下降法)去訓(xùn)練。

也就是說,這時候,我們需要將最后層的特征code輸入到最后的分類器,通過有標(biāo)簽樣本,通過監(jiān)督學(xué)習(xí)進(jìn)行微調(diào),這也分兩種,一個是只調(diào)整分類器(黑色部分):

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

一旦最后的監(jiān)督訓(xùn)練完成,這個系統(tǒng)就可以用來分類了。神經(jīng)網(wǎng)絡(luò)的最頂層可以作為一個線性分類器,然后我們加上自編碼器,做成性能更優(yōu)的分類器去取代它。

標(biāo)簽:

點贊

分享到:

上一篇:UDP協(xié)議通信需要建立連接嗎?

下一篇:GFAF67DV132減速機的齒與油溫...

中國傳動網(wǎng)版權(quán)與免責(zé)聲明:凡本網(wǎng)注明[來源:中國傳動網(wǎng)]的所有文字、圖片、音視和視頻文件,版權(quán)均為中國傳動網(wǎng)(www.treenowplaneincome.com)獨家所有。如需轉(zhuǎn)載請與0755-82949061聯(lián)系。任何媒體、網(wǎng)站或個人轉(zhuǎn)載使用時須注明來源“中國傳動網(wǎng)”,違反者本網(wǎng)將追究其法律責(zé)任。

本網(wǎng)轉(zhuǎn)載并注明其他來源的稿件,均來自互聯(lián)網(wǎng)或業(yè)內(nèi)投稿人士,版權(quán)屬于原版權(quán)人。轉(zhuǎn)載請保留稿件來源及作者,禁止擅自篡改,違者自負(fù)版權(quán)法律責(zé)任。

網(wǎng)站簡介|會員服務(wù)|聯(lián)系方式|幫助信息|版權(quán)信息|網(wǎng)站地圖|友情鏈接|法律支持|意見反饋|sitemap

中國傳動網(wǎng)-工業(yè)自動化與智能制造的全媒體“互聯(lián)網(wǎng)+”創(chuàng)新服務(wù)平臺

網(wǎng)站客服服務(wù)咨詢采購咨詢媒體合作

Chuandong.com Copyright ?2005 - 2024 ,All Rights Reserved 版權(quán)所有 粵ICP備 14004826號 | 營業(yè)執(zhí)照證書 | 不良信息舉報中心 | 粵公網(wǎng)安備 44030402000946號