對抗網絡GAN的應用實例


 

嗨,大家好!
像許多追隨AI進展的人一樣,我無法忽略生成建模的最新進展,尤其是圖像生成中生成對抗網絡(GAN)的巨大成功。看看這些樣本:它們與真實照片幾乎沒有區別!

 

Samples from BigGAN: https://openreview.net/pdf?id=B1xsqj09Fm

從2014年到2018年,面部生成的進展也非常顯着:

 
 
 

我對這些結果感到非常興奮,但我內心的懷疑論者總是懷疑它們是否真的有用且廣泛適用。我已經在我的Facebook筆記中打開了這個問題:

基本上我“抱怨”,憑借生成模型的所有功能,我們並沒有真正將它們用於比高分辨率面孔或漢堡代更實用的東西。當然,有些企業可以直接基於圖像生成或風格轉移(如游戲行業中的角色或關卡生成,從真實照片到動漫頭像的風格轉換),但我一直在尋找更多GAN和其他生成領域模型可以應用。我還想記住,通過生成模型,我們不僅可以生成圖像,還可以生成文本聲音聲音音樂,結構化數據,如游戲關卡葯物分子,還有令人驚嘆的博文與其他類似應用程序一樣,但在這里我們將以合成不是主要目標的示例來限制我們

 

使用RNN生成游戲級別

在本文中,我將介紹7個替代用例其中一些我已經親自工作並且可以確認它們的用處,其他一些正在研究中,但這並不意味着它們不值得嘗試。所有這些使用生成模型不一定用於創建的例子都可以應用於不同的領域和不同的數據,因為我們的主要目標不是生成一些現實的東西,而是利用神經網絡的內在知識來完成新任務。

1.數據增加

也許最明顯的應用可以是訓練模型以從我們的數據生成新樣本以增強我們的數據集。我們如何檢查這種增強是否真的有幫助呢?那么,有兩個主要策略:我們可以在“假”數據上訓練我們的模型,並檢查它在真實樣本上的表現。相反:我們在實際數據上訓練我們的模型來做一些分類任務,並且只有在檢查它對生成的數據的執行情況之后(GAN粉絲可以在這里識別初始分數)。如果它在兩種情況下都能正常工作 - 您可以隨意將生成模型中的樣本添加到您的實際數據中並再次重新訓練 - 您應該期望獲得性能。要使此方法更加強大和靈活,請檢查應用程序#6。

NVIDIA展示了這種方法的驚人實例:他們使用GAN來增加具有不同疾病的醫學腦CT圖像的數據集,並且表明僅使用經典數據增強的分類性能產生78.6%的靈敏度和88.4%的特異性。通過添加合成數據增加,結果增加到85.7%的靈敏度和92.4%的特異性。

 

2.隱私保護

許多公司的數據可能是秘密的(如賺錢的財務數據),機密或敏感(包含患者診斷的醫療數據)。但有時我們需要與顧問或研究人員等第三方分享。如果我們只想分享關於我們的數據的一般概念,包括最重要的模式,對象的細節和形狀,我們可以像前一段一樣直接使用生成模型來抽樣我們的數據示例以與其他人分享。這樣我們就不會分享任何確切的機密數據,只是看起來完全像它的東西。

更困難的情況是我們想要秘密共享數據。當然,我們有不同的加密方案,如同態加密,但它們有已知的缺點,例如在10GB代碼中隱藏1MB信息。2016年,谷歌開辟了一條關於使用GAN競爭框架加密問題的新研究路徑,其中兩個網絡必須競爭創建代碼並破解它:

 

https://towardsdatascience.com/adversarial-neural-cryptography-can-solve-the-biggest-friction-point-in-modern-ai-cc13b337f969

但最好的一點不是獲得的代碼的效率或另一個領域的“AI”流行語。我們應該記住,通過神經網絡獲得的表示通常仍然包含有關輸入數據的最有用的信息(其中一些甚至直接訓練以獲得像自動編碼器那樣的信息),並且從這個壓縮數據我們仍然可以進行分類/回歸/聚類或者我們想要什么。如果我們將“壓縮”替換為“加密”,那么這個想法很明確:這是與第三方共享數據而不顯示任何數據集的驚人方式。它比匿名甚至假樣本生成強得多,可能是下一件大事(當然使用區塊鏈,就像Numerai一樣

3.異常檢測

變分自動編碼器(VAE)或GAN等主要生成模型由兩部分組成。VAE具有編碼器和解碼器,其中第一個基本上對分布進行建模並且從第二個重建。GAN由發生器和鑒別器組成,其中第一個模擬分布,第二個判斷它是否接近訓練數據。我們可以看到,它們在某種程度上非常相似 - 有建模和判斷部分(在VAE中我們可以考慮重建為某種判斷)。建模部分應該學習數據分布。如果我們將一些樣本不是來自培訓分發,那么判斷部分將會發生什么?如果訓練有素的GAN鑒別器會告訴我們0,並且VAE的重建誤差將高於訓練數據的平均值。它來了:我們的無監督異常探測器,易於訓練和評估。如果我們想要的話,我們可以用一些像類統計距離的類固醇來喂它(Wasserstein GAN)。本文中你可以找到例子甘用於異常檢測和這里自動編碼的。我還添加了自己的基於自動編碼器的粗略草圖,用於在Keras中編寫的時間序列:

 

4.判別性建模

深度學習所做的一切都是將輸入數據映射到某個空間,在這個空間中,通過SVM或邏輯回歸等簡單的數學模型可以更容易地分離或解釋。生成模型也有自己的映射,讓我們從VAE開始。Autoencoders將輸入樣本映射到一些有意義的潛在空間,基本上我們可以直接訓練一些模型。它有意義嗎?它是否與僅使用編碼器層和訓練模型直接進行分類有所不同?確實是。自動編碼器的潛在空間是復雜的非線性降維,並且在變分自動編碼器的情況下也是多變量分布,這可以比一些隨機初始化更好地開始初始化訓練判別模型。

GAN對於其他任務來說有點難度。它們被設計為從隨機種子生成樣本,並且不期望任何輸入。但我們仍然可以至少以兩種方式利用它們作為分類器。第一個已經研究過的,就是利用鑒別器將生成的樣本分類到不同的類別,同時只是告訴它是真的還是假的。我們可以期望從獲得的分類器更好地規則化(因為它已經看到不同類型的噪聲和輸入數據的擾動)並且具有用於異常值/異常的額外類:

https://towardsdatascience.com/semi-supervised-learning-with-gans-9f3cb128c5e

第二種是貝葉斯定理的不公平遺忘分類方法,其中我們基於p(x | c_k)(恰好是條件GAN所做的!)和先驗p(x),p(c_k)來模擬p(c_k | x)。這里的主要問題是GAN真的學習數據分布嗎?最近的 一些研究中正在討論它

5.域適應

對我來說,這是最強大的之一。在實踐中,我們幾乎從未擁有相同的數據源來訓練模型並在現實世界環境中運行它們。在計算機視覺中,不同的光線條件,相機設置或天氣可以使甚至非常准確的模型無用。在NLP /語音分析中,俚語或重音會破壞您的模型在“語法正確”語言上訓練的表現。在信號處理中,您很可能擁有完全不同的設備來捕獲數據以訓練模型和生產。但我們也注意到兩種數據“類型”彼此非常相似。我們知道機器學習模型執行從一個條件到另一個條件的映射,保留主要內容,但更改細節。是的,我現在正在進行風格轉移,但用於創作目的較少。

 

https://ml4a.github.io/ml4a/style_transfer/

例如,如果您正在處理應該在某種CCTV攝像機上工作的應用程序,但是您已經在高分辨率圖像上訓練了您的模型,那么您可以嘗試使用GAN來對圖像進行去噪處理並對其進行增強我可以從信號處理領域提供更激進的例子:有很多與手機加速度計數據相關的數據集,描述了不同的人的活動。但是,如果您想在腕帶上應用受過電話數據訓練的模型,該怎么辦?GAN可以嘗試幫助您翻譯不同類型的動作。一般來說,生成模型不是從噪聲中進行生成,而是一些預定義的先驗模型可以幫助您進行域適應,協方差轉換以及與數據差異相關的其他問題。

6.數據處理

我們在前一段談到了風格轉移。我真正不喜歡的是它的映射函數適用於整個輸入並改變它。如果我只想換一些照片的鼻子怎么辦?或改變汽車的顏色?或者在不完全改變的情況下替換演講中的某些單詞?如果我們想要這樣做,我們已經假設,我們的對象可以用一些有限的因素來描述,例如,臉是眼睛,鼻子,頭發,嘴唇等的組合,這些因素有它們自己的屬性(顏色) ,大小等)。如果我們可以將帶有照片的像素映射到某些...我們可以調整這些因素並使鼻子更大或更小?有一些數學概念允許它:多樣性假設和解開的表示。對我們來說好消息是,自動編碼器,可能是

 

7.對抗訓練

您可能不同意我添加關於攻擊機器學習模型的段落,但它對生成模型(對抗性攻擊算法確實非常簡單)和對抗性算法(因為我們有一個模型與另一個模型競爭)做了一切。也許你熟悉對抗性例子的概念:模型輸入中的小擾動(甚至可能是圖像中的一個像素)導致完全錯誤的性能。有不同的方法來對抗它們,其中一個最基本的方法叫做對抗性訓練:基本上是利用對抗性的例子來構建更准確的模型。

 

https://blog.openai.com/adversarial-example-research/

如果不深入細節,這意味着我們仍然擁有雙人游戲:對抗模型(只是使得某些epsilon的輸入擾動)需要最大化其影響力,並且存在需要最小化其損失的分類模型。看起來很像GAN,但出於不同的目的:使模型對對抗性攻擊更穩定,並通過某種智能數據增強和正規化提高其性能。

小貼士

在本文中,我們已經看到了幾個例子,說明GAN和其他一些生成模型如何用於生成漂亮的圖像,旋律或短文本。當然,他們的主要長期目標是生成以正確情況為條件的真實世界對象,但今天我們可以利用他們的分布建模和學習有用的表示來改進我們當前的AI管道,保護我們的數據,發現異常或適應更多現實世界的案例。我希望你會發現它們很有用,並將適用於你的項目。敬請關注!

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM