溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

條件變分自動編碼器CVAE的基本原理和keras實(shí)現(xiàn)是怎樣的

發(fā)布時(shí)間:2021-11-22 17:35:22 來源:億速云 閱讀:194 作者:柒染 欄目:大數(shù)據(jù)

本篇文章為大家展示了條件變分自動編碼器CVAE的基本原理和keras實(shí)現(xiàn)是怎樣的,內(nèi)容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細(xì)介紹希望你能有所收獲。

變分自動編碼器(VAE)是一種有方向的圖形生成模型,已經(jīng)取得了很好的效果,是目前生成模型的最先進(jìn)方法之一。它假設(shè)數(shù)據(jù)是由一些隨機(jī)過程,涉及一個(gè)未被注意的連續(xù)隨機(jī)變量z假設(shè)生成的z是先驗(yàn)分布Pθ(z)和條件生成數(shù)據(jù)分布Pθ(X | z),其中X表示這些數(shù)據(jù)。z有時(shí)被稱為數(shù)據(jù)X的隱藏表示。

像任何其他自動編碼器架構(gòu)一樣,它有一個(gè)編碼器和一個(gè)解碼器。編碼器部分試圖學(xué)習(xí)qφ(z | x),相當(dāng)于學(xué)習(xí)數(shù)據(jù)的隱藏表示x或者x編碼到隱藏的(概率編碼器)表示。解碼器部分試圖學(xué)習(xí)Pθ(X | z)解碼隱藏表示輸入空間。圖形化模型可以表示為下圖。

條件變分自動編碼器CVAE的基本原理和keras實(shí)現(xiàn)是怎樣的

對模型進(jìn)行訓(xùn)練,使目標(biāo)函數(shù)最小化

條件變分自動編碼器CVAE的基本原理和keras實(shí)現(xiàn)是怎樣的

這種損失的第一項(xiàng)是重建錯誤或數(shù)據(jù)點(diǎn)的預(yù)期負(fù)對數(shù)可能性。期望是關(guān)于編碼器的分布在表示通過采取一些樣本。這個(gè)術(shù)語鼓勵解碼器在使用來自潛在分布的樣本時(shí)學(xué)會重構(gòu)數(shù)據(jù)。較大的錯誤表示解碼器無法重構(gòu)數(shù)據(jù)。

第二項(xiàng)是Kullback-Leibler編碼器之間的分布q_φ(z | x)和p (z)。這個(gè)散度度量了在使用q表示z上的先驗(yàn)時(shí)損失了多少信息,并鼓勵其值為高斯分布。

在生成過程中,來自N(0,1)的樣本被簡單地輸入解碼器。訓(xùn)練和生成過程可以表示為以下

條件變分自動編碼器CVAE的基本原理和keras實(shí)現(xiàn)是怎樣的

一種訓(xùn)練時(shí)變分自編碼器實(shí)現(xiàn)為前饋神經(jīng)網(wǎng)絡(luò),其中P(X|z)為高斯分布。紅色表示不可微的采樣操作。藍(lán)色表示損失計(jì)算

條件變分自動編碼器CVAE的基本原理和keras實(shí)現(xiàn)是怎樣的

測試時(shí)變分的“自動編碼器”,它允許我們生成新的樣本?!熬幋a器”路徑被簡單地丟棄。

對VAE進(jìn)行如此簡要的描述,其原因在于,VAE并不是本文的主要關(guān)注對象,而是與本文的主要主題緊密相關(guān)的。

用VAE生成數(shù)據(jù)的一個(gè)問題是,我們對生成的數(shù)據(jù)類型沒有任何控制。例如,如果我們用MNIST數(shù)據(jù)集訓(xùn)練VAE,并嘗試通過向解碼器輸入Z ~ N(0,1)來生成圖像,它也會產(chǎn)生不同的隨機(jī)數(shù)字。如果我們訓(xùn)練好,圖像會很好,但我們將無法控制它會產(chǎn)生什么數(shù)字。例如,你不能告訴VAE生成一個(gè)數(shù)字“2”的圖像。

為此,我們需要對VAE的體系結(jié)構(gòu)進(jìn)行一些修改。假設(shè)給定一個(gè)輸入Y(圖像的標(biāo)簽),我們希望生成模型生成輸出X(圖像)。所以,VAE的過程將被修改為以下:鑒于觀察y, z是來自先驗(yàn)分布Pθ(z | y)和輸出分布Pθ產(chǎn)生的x (x | y,z)。請注意,對于簡單的VAE,之前是Pθ(z)和輸出是由Pθ(x | z)。

條件變分自動編碼器CVAE的基本原理和keras實(shí)現(xiàn)是怎樣的

VAE中的可視化表示任務(wù)

這里編碼器部分試圖學(xué)習(xí)qφ(z | x, y),相當(dāng)于學(xué)習(xí)隱藏的代表數(shù)據(jù)或編碼xy條件。解碼器部分試圖隱藏表示學(xué)習(xí)Pθ(x | z, y)解碼隱藏表示輸入空間條件的y。圖形化模型可以表示為如下圖所示。

條件變分自動編碼器CVAE的基本原理和keras實(shí)現(xiàn)是怎樣的

條件VAE (Conditional VAE)的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)可以表示為如下圖。

條件變分自動編碼器CVAE的基本原理和keras實(shí)現(xiàn)是怎樣的 

X是像。Y是圖像的標(biāo)簽,它可以用一個(gè)離散向量表示。

CVAE的一個(gè)keras實(shí)現(xiàn):https://github.com/nnormandin/ConditionalVAE/blob/master/ConditionalVAE.ipynb

上述內(nèi)容就是條件變分自動編碼器CVAE的基本原理和keras實(shí)現(xiàn)是怎樣的,你們學(xué)到知識或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識儲備,歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI