技術(shù)頻道

娓娓工業(yè)
您現(xiàn)在的位置: 中國傳動網(wǎng) > 技術(shù)頻道 > 技術(shù)百科 > 深入理解自編碼器(附代碼實(shí)現(xiàn))

深入理解自編碼器(附代碼實(shí)現(xiàn))

時(shí)間:2018-04-28 18:05:11來源:網(wǎng)絡(luò)轉(zhuǎn)載

導(dǎo)語:?自編碼器可以認(rèn)為是一種數(shù)據(jù)壓縮算法,或特征提取算法。本文作者NathanHubens介紹了autoencoders的基本體系結(jié)構(gòu)。首先介紹了編碼器和解碼器的概念,然后就“自編碼器可以做什么?”進(jìn)行討論,最后分別講解了四種不同類型的自編碼器:普通自編碼器,多層自編碼器,卷積自編碼器和正則化自編碼器。

自編碼器可以認(rèn)為是一種數(shù)據(jù)壓縮算法,或特征提取算法。本文作者NathanHubens介紹了autoencoders的基本體系結(jié)構(gòu)。首先介紹了編碼器和解碼器的概念,然后就“自編碼器可以做什么?”進(jìn)行討論,最后分別講解了四種不同類型的自編碼器:普通自編碼器,多層自編碼器,卷積自編碼器和正則化自編碼器。

Deepinside:Autoencoders

自編碼器指的是試圖讓輸出和輸入一樣的神經(jīng)網(wǎng)絡(luò)。他們通過將輸入壓縮成一個隱藏空間表示來進(jìn)行工作,然后通過這種表示重構(gòu)輸出。這種網(wǎng)絡(luò)由兩部分組成:

1.編碼器:這是自編碼網(wǎng)絡(luò)的一部分,功能在于把輸入變成一個隱藏的空間表示。它可以用一個編碼函數(shù)h=f(x)表示。

2.解碼器:這部分旨在從隱藏空間的表示重構(gòu)輸入。它可以用解碼函數(shù)r=g(h)表示。

作為一個整體的自編碼器可以用函數(shù)g(f(x))=r來描述,其中r與原始輸入x相近。

為什么要將輸入復(fù)制到輸出中?

如果autoencoders的唯一目的是將輸入復(fù)制到輸出中,那么它們將毫無用處。實(shí)際上,我們希望通過訓(xùn)練autoencoder將輸入復(fù)制到輸出中,隱藏表示h將具有有用的屬性。

這可以通過在復(fù)制任務(wù)上添加一些限制條件進(jìn)行實(shí)現(xiàn)。從自編碼器獲得有用特征的一種方法是將h限制為小于x的維度,在這種情況下,自編碼器是不完整的。通過訓(xùn)練不完整的表示,我們強(qiáng)制自編碼器學(xué)習(xí)訓(xùn)練數(shù)據(jù)的最顯著特征。如果自編碼器的容量過大,自編碼器可以出色地完成賦值任務(wù)而沒有從數(shù)據(jù)的分布抽取到任何有用的信息。如果隱藏表示的維度與輸入相同,或者隱藏表示維度大于輸入維度的情況下,也會發(fā)生這種情況。在這些情況下,即使線性編碼器和線性解碼器也可以將輸入復(fù)制到輸出,而無需了解有關(guān)數(shù)據(jù)分配的任何有用信息。理想情況下,自編碼器可以成功地訓(xùn)練任何體系結(jié)構(gòu),根據(jù)要分配的復(fù)雜度來選擇編碼器和解碼器的代碼維數(shù)和容量。

自編碼器可以用于干什么?

當(dāng)前,數(shù)據(jù)去噪和數(shù)據(jù)可視化中的降維被認(rèn)為是自編碼器的兩個主要的實(shí)際應(yīng)用。通過適當(dāng)?shù)木S度和稀疏性約束,自編碼器可以學(xué)習(xí)比PCA或其他基本技術(shù)更有趣的數(shù)據(jù)投影。

自編碼器通過數(shù)據(jù)樣本自動學(xué)習(xí)。這意味著很容易訓(xùn)練特定的算法實(shí)例,該算法在特定類型的輸入中表現(xiàn)良好,并且不需要任何新工程,只需要適當(dāng)?shù)挠?xùn)練數(shù)據(jù)。

但是,自編碼器在圖像壓縮方面做得不好。由于自編碼器是在給定的一組數(shù)據(jù)上進(jìn)行訓(xùn)練的,因此它將對類似于所用訓(xùn)練集中的數(shù)據(jù)實(shí)現(xiàn)合理的壓縮結(jié)果,但是作為圖像壓縮器效果是不好的。像JPEG這樣的壓縮技術(shù)效果比自編碼器效果好很多。

自編碼器經(jīng)過訓(xùn)練,可以在輸入通過編碼器和解碼器后保留盡可能多的信息,但也會接受訓(xùn)練以使新的表示具有各種不錯的屬性。不同類型的自編碼器旨在實(shí)現(xiàn)不同類型的屬性。我們將關(guān)注四種類型的自編碼器。

自編碼器的類型:

在本文中,將介紹以下四種類型的自編碼器:

1.普通自編碼器

2.多層自編碼器

3.卷積自編碼器

4.正則化的自編碼

為了演示不同類型的自編碼器,我使用Keras框架和MNIST數(shù)據(jù)集創(chuàng)建了每個類型自編碼器的示例。

普通自編碼器

普通自編碼器是三層網(wǎng)絡(luò),即具有一個隱藏層的神經(jīng)網(wǎng)絡(luò)。輸入和輸出是相同的,我們將學(xué)習(xí)如何重構(gòu)輸入,例如使用adam優(yōu)化器和均方誤差損失函數(shù)。

在這里,我們看到我們有一個欠完備自編碼器,因?yàn)殡[藏層維(64)小于輸入(784)。這個約束將強(qiáng)加我們的神經(jīng)網(wǎng)絡(luò)來學(xué)習(xí)壓縮的數(shù)據(jù)表示。

多層自編碼器

如果一個隱藏層不夠用,我們顯然可以將自編碼器擴(kuò)展到更多的隱藏層。

現(xiàn)在我們的實(shí)現(xiàn)使用3個隱藏層,而不是一個。任何隱藏層都可以作為特征表示,但我們將使網(wǎng)絡(luò)結(jié)構(gòu)對稱并使用最中間的隱藏層。

卷積自編碼器

我們也可能會問自己:自編碼器可以用于卷積層而不是全連接層嗎?

答案是肯定的,原理是一樣的,但使用圖像(3D矢量)而不是平坦的1維矢量。對輸入圖像進(jìn)行下采樣以提供較小尺寸的隱藏表示并強(qiáng)制自編碼器學(xué)習(xí)圖像的壓縮版本。

正則化的自編碼器

還有其他一些方法可以限制自編碼器的重構(gòu),而不是簡單地強(qiáng)加一個維度比輸入小的隱藏層。正規(guī)化自編碼器不是通過調(diào)整編碼器和解碼從而限制模型容量,而是使用損失函數(shù),鼓勵模型學(xué)習(xí)除了將輸入復(fù)制到其輸出之外的其他屬性。在實(shí)踐中,我們通常會發(fā)現(xiàn)兩種正規(guī)化自編碼器:稀疏自編碼器和去噪自編碼器。

稀疏自編碼器:稀疏自編碼器通常用于學(xué)習(xí)分類等其他任務(wù)的特征。稀疏自編碼器必須響應(yīng)數(shù)據(jù)集獨(dú)特的統(tǒng)計(jì)特征,而不僅僅是作為標(biāo)識函數(shù)。通過這種方式,用稀疏性懲罰來執(zhí)行復(fù)制任務(wù)的訓(xùn)練可以產(chǎn)生有用的特征模型。

我們可以限制自編碼器重構(gòu)的另一種方式是對損失函數(shù)施加約束。例如,我們可以在損失函數(shù)中添加一個修正術(shù)語。這樣做會使我們的自編碼器學(xué)習(xí)數(shù)據(jù)的稀疏表示

注意在我們的正則項(xiàng)中,我們添加了一個l1激活函數(shù)正則器,它將在優(yōu)化階段對損失函數(shù)應(yīng)用一個懲罰。在結(jié)果上,與正常普通自編碼器相比,該表示現(xiàn)在更稀松。

去噪自編碼器:我們可以獲得一個自編碼器,通過改變損失函數(shù)的重構(gòu)誤差項(xiàng)來學(xué)習(xí)一些有用的東西,而不是對損失函數(shù)加以懲罰。這可以通過給輸入圖像添加一些噪聲并使自編碼器學(xué)會移除噪聲從而來進(jìn)行訓(xùn)練。通過這種方式,編碼器將提取最重要的特征并學(xué)習(xí)數(shù)據(jù)的更魯棒的表示。

總結(jié)

在本文中,我們介紹了autoencoders的基本體系結(jié)構(gòu)。我們還研究了許多不同類型的自編碼器:普通自編碼器,多層自編碼器,卷積自編碼器和正則化自編碼器。根據(jù)約束的不同(縮小隱藏層的尺寸或施加其他類型的懲罰項(xiàng)),可以學(xué)到不同屬性的編碼。

標(biāo)簽:

點(diǎn)贊

分享到:

上一篇:選購工業(yè)機(jī)器人力矩傳感器的...

下一篇:什么是機(jī)器視覺驗(yàn)證?

中國傳動網(wǎng)版權(quán)與免責(zé)聲明:凡本網(wǎng)注明[來源:中國傳動網(wǎng)]的所有文字、圖片、音視和視頻文件,版權(quán)均為中國傳動網(wǎng)(www.treenowplaneincome.com)獨(dú)家所有。如需轉(zhuǎn)載請與0755-82949061聯(lián)系。任何媒體、網(wǎng)站或個人轉(zhuǎn)載使用時(shí)須注明來源“中國傳動網(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í)照證書 | 不良信息舉報(bào)中心 | 粵公網(wǎng)安備 44030402000946號