訂閱
糾錯
加入自媒體

一文了解深度學習模型VAE的時序性解耦

2021-06-04 10:21
AI世界
關注

現(xiàn)代深度學習架構一直被描述為一個黑匣子:被輸入數(shù)據(jù),并期望從中得到一些結(jié)果。然而,由于此類架構存在許多的復雜性,過程中發(fā)生的事情,通常難以解釋和分析。這已發(fā)展成為整個社會未能廣泛接受深度學習的主要原因之一,尤其是對于關鍵任務應用程序。

因此,“黑匣子”的解體已成為機器學習研究人員的一個重大開放問題,并且是該領域當前感興趣的問題之一,這一研究領域通常被稱為機器學習架構的“可解釋性”。在本文中,我們將討論可解釋性研究中的一個重要主題,即解耦問題。

Disentangled

Sequential VAE


光的解耦(Ddisentangled)

我們舉個常見的例子:在日常生活中,太陽光看起來是白色的,但是如果我們讓陽光通過三棱鏡,就會發(fā)現(xiàn)陽光分別折射出多種色彩。這說明白光其實是多種顏色混合的體現(xiàn),而我們可以通過三棱鏡把它分解成基本七種顏色,其中包括紅、綠、藍三原色。

我們繼續(xù)聊聊白光:在廣泛意義上說光是由RGB三種顏色組成的。這也就定義了光的解耦過程:光可以分離成R、G、B三種顏色,同時我們也可以用這三種顏色,進行不同程度的疊加,產(chǎn)生豐富而廣泛的顏色。

計算機定義顏色時R、G、 B三種成分的取值范圍是0-255,0表示沒有刺激量,255表示刺激量達最大值。R、G、B均為255時就合成了白光,R、G、B均為0時就形成了黑色。在這個區(qū)間范圍內(nèi),我們可以通過任意的數(shù)值組合構造出無數(shù)種不同的顏色,讓我們的生活充滿色彩。

白光和解耦又有什么關系呢?那關系就大了!我們下面簡單聊一下一種深度學習模型——變分自編碼器模型(VAE:variational autoencoder),然后用它來解釋解耦。

什么是VAE?

什么是VAE呢?那要先從AE開始說起了。

AE(Autoencoder)

上圖由兩個部分組成,第一個部分是編碼器(Encoder),第二部分是解碼器(Decoder),圖片經(jīng)過編碼器得到一個潛在的編碼(code),編碼再通過解碼器還原輸入的圖片,因此得到的編碼就是圖片在一個潛在空間的表示。而編碼器和解碼器就是由神經(jīng)網(wǎng)絡組成的。圖中例子就是希望能夠生成一張一樣的圖片。

VAE (Variational Autoencoder)

變分編碼器是自動編碼器的升級版本,其結(jié)構跟自動編碼器相似,也由編碼器和解碼器構成。在AE中,輸入一個圖片得到一個的編碼(code),但這個編碼是一個固定的編碼,使得模型沒有很好的泛化功能。所以VAE引入了一種新的方式有效解決了上述的問題,就是將編碼問題變成一個分布問題,具體操作是在AE的基礎上增加一個限制,迫使編碼器得到的編碼(code)能夠粗略地遵循一個標準正態(tài)分布,這就是其與一般的自動編碼器最大的不同。

這樣我們生成一張新圖片就很簡單了,我們只需要給它一個標準正態(tài)分布的隨機隱含向量,這樣通過解碼器就能夠生成我們想要的圖片,而不需要給它一張原始圖片先進行編碼。

VAE的演變增加了模型的泛化性,以上圖VAE的過程為例,當輸入的圖片是貓時,通過貓的特征來生成新的圖片,VAE的好處就在于當輸入的圖片不是完整的圖片時(訓練集外),它依舊可以還原成原來的樣子。

在深度學習中,不管是什么樣的模型,數(shù)據(jù)都很重要,而VAE的好處就在于 :

它可以通過編碼和解碼的過程,通過抽樣,生成新的數(shù)據(jù)。這樣對于機器學習就有了更多的數(shù)據(jù)支撐從而得到更好的模型效果。

VAE在中間層會得到一個編碼(code),也就是一個語義層,我們可以通過對于這個語義的理解,從而達到圖片的分類、變換的效果。

如果我們類比光的解耦(將光分離成R、G、B三種顏色),VAE(Variational Autoencoder)就可以理解成是深度學習框架的三棱鏡。

這是為什么呢?我們先給一個淺顯的技術介紹,然后再回來聊顏色分離。

VAE是一種深度學習框架,更具體來說,它是一種生成模型。生成模型的操作很簡單:它可以讀取數(shù)據(jù)(多為圖片),抽取數(shù)據(jù)的特征,然后自動生成有這些特征的新數(shù)據(jù)。我們這里關心的是提取特征這個環(huán)節(jié)。大多生成模型的特征提取模式,便是經(jīng)過所謂的“潛在變量”(latent variables)來編碼提取到的特征。

這里的一個明顯的問題便是:我們怎么判斷正式數(shù)據(jù)里的某一個特征對應的是哪個語義變量?我們可以回到類比成顏色分離和生成的過程,將一種顏色先編碼(encoder)成R,G,B,再通過解碼(decoder)形成一種顏色。

Disentangled Sequential VAE

隨著對VAE的研究,越來越多的研究重點就放在了如何在VAE的基礎上做到disentangled的過程。以下簡單介紹一下深蘭科學院對于該項目的研究內(nèi)容:對于時序的數(shù)據(jù)解耦出其數(shù)據(jù)的動態(tài)信息和靜態(tài)信息,并理解靜態(tài)信息和動態(tài)信息的語義,后續(xù)團隊的目標也是基于當前的項目,進行這個主流方向的基礎研究。

本項目采用的數(shù)據(jù)是Sprites,這是個具有時序性的數(shù)據(jù)。如上圖所示小精靈有著不同的顏色和動作,團隊的任務就是通過這些小精靈的圖片,解耦出小精靈的動態(tài)信息(小精靈的動作)和靜態(tài)信息(小精靈的顏色)。通過深度學習來獲得小精靈動靜態(tài)信息的語義,并理解這語義從而生成新的小精靈。

如下圖所示,通過深度學習得到小精靈的動態(tài)信息和靜態(tài)信息,并改變他們的值的生成效果(上排是原始數(shù)據(jù),下排是生成數(shù)據(jù))。

1. 改變靜態(tài)信息(顏色)

2.改變動態(tài)信息

對于VAE時序性解耦的工作可以更容易地說明神經(jīng)網(wǎng)絡的可解釋性,這樣的任務不僅可以對神經(jīng)網(wǎng)絡的基礎研究作出貢獻,還可以應用到很多人工智能的項目中,例如對圖像視頻的處理;動靜的解耦可以實現(xiàn)換臉等效果;在自然語言處理中,可以改變聲音的種類等。

聲明: 本文由入駐維科號的作者撰寫,觀點僅代表作者本人,不代表OFweek立場。如有侵權或其他問題,請聯(lián)系舉報。

發(fā)表評論

0條評論,0人參與

請輸入評論內(nèi)容...

請輸入評論/評論長度6~500個字

您提交的評論過于頻繁,請輸入驗證碼繼續(xù)

暫無評論

暫無評論

人工智能 獵頭職位 更多
掃碼關注公眾號
OFweek人工智能網(wǎng)
獲取更多精彩內(nèi)容
文章糾錯
x
*文字標題:
*糾錯內(nèi)容:
聯(lián)系郵箱:
*驗 證 碼:

粵公網(wǎng)安備 44030502002758號