熟女人妻水多爽中文字幕,国产精品鲁鲁鲁,隔壁的少妇2做爰韩国电影,亚洲最大中文字幕无码网站

技術頻道

娓娓工業
您現在的位置: 中國傳動網 > 技術頻道 > 技術百科 > 深度理解變分自編碼器

深度理解變分自編碼器

時間:2018-06-08 15:39:12來源:深度學習科研平臺

導語:?自編碼器是一種非常直觀的無監督神經網絡方法,由編碼器和解碼器兩部分構成,自編碼器近年來很受研究人員的歡迎。本文是機器學習工程師Jeremy撰寫的一篇非常棒的博文,介紹了變分自編碼器理論基礎和工作原理,通過人臉示例幫助讀者更直觀的理解。本文強調了變分自編碼器的理論推導和實現細節,在文末展示了變分自編碼器作為生成模型的輸出結果。希望深入理解變分自編碼器的讀者不妨讀一讀。

【深度理解變分自編碼器】

導讀自編碼器是一種非常直觀的無監督神經網絡方法,由編碼器和解碼器兩部分構成,自編碼器近年來很受研究人員的歡迎。本文是機器學習工程師Jeremy撰寫的一篇非常棒的博文,介紹了變分自編碼器理論基礎和工作原理,通過人臉示例幫助讀者更直觀的理解。本文強調了變分自編碼器的理論推導和實現細節,在文末展示了變分自編碼器作為生成模型的輸出結果。希望深入理解變分自編碼器的讀者不妨讀一讀。

Variationalautoencoders

變分自編碼器

自編碼器是發現數據的一些隱狀態(不完整,稀疏,去噪,收縮)表示的模型。更具體地說,輸入數據被轉換成一個編碼向量,其中每個維度表示從數據學到的屬性。最重要的是編碼器為每個編碼維度輸出單個值,解碼器隨后接收這些值并嘗試重新創建原始輸入。

變分自編碼器(VAE)提供了描述隱空間觀察的概率方式。因此,我們不需要構建一個輸出單個值來描述每個隱狀態屬性的編碼器,而是要用編碼器描述每個隱屬性的概率分布。

▌直覺

舉個例子,假設我們已經在一個大型人臉數據集上訓練了一個Autoencoder模型,encoder的維度是6。理想情況下,我們希望自編碼器學習面部的描述性屬性,比如膚色,人是否戴眼鏡,從而能夠用一些特征值來表示這些屬性。

在上面的示例中,我們使用單個值來描述輸入圖像的隱屬性。但是,我們其實更愿意用一個分布去表示每個隱屬性。比如,輸入蒙娜麗莎的照片,我們很難非常自信的為微笑屬性分配一個具體值,但是用了變分自編碼器,我們有能比較自信的說微笑屬性服從什么分布。

通過這種方法,我們現在將給定輸入的每個隱屬性表示為概率分布。當從隱狀態解碼時,我們將從每個隱狀態分布中隨機采樣,來生成向量作為解碼器的輸入。

注意:對于變分自編碼器,編碼器有時被稱為識別模型,而解碼器有時被稱為生成模型。

通過構造我們的編碼器來輸出一系列可能的值(統計分布),然后隨機采樣該值作為解碼器的輸入,我們能夠學習到一個連續,平滑的隱空間。因此,在隱空間中彼此相鄰的值應該與非常類似的重建相對應。而從隱分布中采樣到的任何樣本,我們都希望解碼器理解,并準確重構出來。

▌統計動機

假設存在一些生成觀測值的隱藏變量。

我們只能看到,但我們想推斷的特征。換句話說,我們想計算

不幸的是,計算是相當困難的。

這通常是一個棘手的問題。但是,我們可以應用變分推斷來估計這個值。

我們想用一個比較簡單的分布來近似。如果我們可以確定的參數,又能保證它與非常相似,有時候就可以用來作近似推理。

KL散度是衡量兩個概率分布之間的差異的度量。因此,如果我們想確保類似,我們可以使兩個分布之間的KL散度最小化。

AliGhodsi博士在這里演示了一個完整的推導,結果表明最小化上述表達式即最大化以下表達式:

第一項代表重建的似然估計,第二項確保我們學習到的分布q與真實的先驗分布p相似性。

https://www.youtube.com/watch?v=uaaqyVS9-rM&feature=youtu.be&t=19m42s

為了重新審視我們的圖模型,我們可以使用來推斷用于生成觀察的可能隱變量(即隱狀態)。我們可以進一步將此模型構造成神經網絡架構,其中編碼器學習從到的映射,并且解碼器模型學習從到的映射。

這個網絡的損失函數將包括兩個項,一個懲罰重建誤差(可以認為是最大化重建可能性,如前所述),第二項鼓勵我們學習的分布與真實的分布相似。對于隱空間的每個維度,我們假設先驗分布遵循單位高斯分布。

▌實現

前面的章節,建立了變分自編碼器結構的統計動機。在本節中,我將提供自己構建這種模型的實現細節。

與在標準自編碼器中直接輸出隱狀態值不同,VAE的編碼器模型的輸出描述的是每個維度分布。既然我們假設先驗p(z)服從正態分布,我們將輸出兩個向量來描述隱狀態分布的均值和方差。如果我們要構建一個真正的多元高斯模型,我們需要定義一個協方差矩陣來描述每個維度是如何相關的。但是,我們將做一個簡化的假設,即我們的協方差矩陣只在對角線上有非零值,這允許我們用簡單的向量來描述這些信息

然后,我們的解碼器將通過從這些定義的分布中抽樣來生成一個隱向量,并開始重建原始輸入。

但是,這個抽樣過程需要額外的關注。在訓練模型時,我們使用反向傳播來計算網絡中每個參數與最終輸出損失之間的關系。但是,我們無法為隨機抽樣過程做到這一點。幸運的是,我們可以利用一種稱為“Reparameterization”的聰明想法,即從單位高斯隨機抽樣ε,然后將隨機抽樣的ε乘以隱分布的均值μ,并用隱分布的方差σ對其進行縮放。

通過這種Reparameterization,我們現在可以優化分布的參數,同時仍然保持從該分布隨機采樣的能力。

注意:為了處理網絡可能學到的σ為負值這一事實,我們通常會通過網絡學習logσ并且指數化這個值來得到隱分布的方差。

▌隱空間的可視化

為了理解變分自編碼器模型的含義及其與標準自編碼器體系結構的差異,檢驗隱空間是必要的,這篇博客文章介紹了關于這個主題的一個很好的討論,我將在本節中對此進行總結。

變分自編碼器的主要優點是我們能夠學習輸入數據的平滑隱狀態表示。對于標準的自編碼器,我們只需要學習一個編碼,它允許我們重現輸入。正如你在最左邊的圖中可以看到的,只關注重建損失確實允許我們分離出不同的類(在這種情況下是MNIST數字),這允許我們的解碼器模型能夠重現原始手寫數字,但是在隱空間中可能數據的分布是不均勻的。換句話說,隱空間中的某些區域并不代表我們觀察到的任何數據。

另一方面,如果我們只關心隱分布與先驗分布類似(通過我們的KL散度損失項),我們最終將使用相同的單位高斯描述每個觀測值,在隨后的抽樣和可視化,就會像上面中間的圖的樣子。換句話說,我們沒能描述原始數據。

但是,當兩個式子同時優化時,我們即希望有接近先驗分布的隱狀態來表述屬性,也希望重建誤差比較小

當我構建一個變分自編碼器時,我喜歡檢查數據中的幾個樣本的隱維度以查看分布的特征。

如果我們觀察到隱分布非常狹窄,我們可以用參數β>1賦予KL散度項更高的權重鼓勵網絡學習更廣泛的分布。這種簡單的觀察導致了一類新的模型-disentangledvariationalautoencoders的發展。事實證明,通過更加強調KL散度項,我們也隱含地強調學習的隱維度是不相關的(通過我們對對角協方差矩陣的簡化假設)。

▌變分自編碼器作為生成模型

通過從隱空間采樣,我們可以使用解碼器網絡形成一個生成模型,能夠創建類似于訓練過程中觀察到的新數據。具體來說,我們將從先前的分布中采樣,假定它遵循單元高斯分布。

下圖顯示了在MNIST手寫數字數據集上訓練的變分自編碼器的解碼器網絡生成的數據。在這里,我們從二維高斯采樣了一個網格值,并展示了解碼器網絡的輸出。

正如你所看到的,每個獨立的數字都存在于隱空間的不同區域,并順利地從一個數字變換到另一個數字。如果您想要在兩個觀察點之間進行插值,這種平滑轉換可能非常有用。

標簽:

點贊

分享到:

上一篇:伺服電機內部結構及其工作原理

下一篇:數控機床伺服系統的分類及其...

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

本網轉載并注明其他來源的稿件,均來自互聯網或業內投稿人士,版權屬于原版權人。轉載請保留稿件來源及作者,禁止擅自篡改,違者自負版權法律責任。

網站簡介|會員服務|聯系方式|幫助信息|版權信息|網站地圖|友情鏈接|法律支持|意見反饋|sitemap

傳動網-工業自動化與智能制造的全媒體“互聯網+”創新服務平臺

網站客服服務咨詢采購咨詢媒體合作

Chuandong.com Copyright ?2005 - 2025 ,All Rights Reserved 深圳市奧美大唐廣告有限公司 版權所有
粵ICP備 14004826號 | 營業執照證書 | 不良信息舉報中心 | 粵公網安備 44030402000946號

主站蜘蛛池模板: 罗城| 左云县| 东乡| 定边县| 荣成市| 湖北省| 清河县| 拉孜县| 城固县| 邛崃市| 华池县| 永宁县| 隆德县| 永定县| 姜堰市| 石林| 大悟县| 普安县| 莫力| 开平市| 武功县| 大港区| 曲松县| 万盛区| 颍上县| 塔城市| 安徽省| 津南区| 景德镇市| 洪湖市| 墨玉县| 舒城县| 璧山县| 观塘区| 玛沁县| 峨边| 弥渡县| 紫阳县| 乐业县| 朝阳市| 肥西县|