用GANs來做數據增強


用GANs來做數據增強

OpenCV學堂 昨天

點擊上方↑↑↑“OpenCV學堂”關注我

來源:公眾號 AI公園 授權

 


作者:Sam Nolen

編譯:ronghuaiyang

導讀

適用於只有很少樣本的情況。

 

圖片

即使是不完美的合成數據也可以提高分類器的性能。

生成對抗網絡(Generative adversarial networks,簡稱GANs)由Ian Goodfellow於2014年推出,近年來成為機器學習研究中非常活躍的話題。GAN是一種無監督生成模型,它隱含地學習底層分布。在GAN框架中,學習過程是兩個網絡之間的極大極小博弈,一個生成器,生成給定隨機噪聲向量的合成數據,一個鑒別器,區分真實數據和生成器的合成數據。

圖片

生成對抗網絡

圖片

逼真的生成圖像(BigGAN, 2018)

GANs在許多領域的應用都取得了令人矚目的成果,尤其是在計算機視覺領域。在這篇文章中,我們將探索GANs的一個不那么華麗但很有影響力的用例,即在監督學習中提高分類器性能的數據增強。

數據增強

獲得更大的數據集是提高機器學習算法性能最可靠的方法之一 —— 用Andrew Ng的一句話來說,“數據量驅動機器學習過程”。在某些情況下,添加生成的或合成的數據(稱為數據增強的過程)也可以提高性能。

最常見的方法是對現有數據應用一些轉換。在圖像分類的例子中,我們知道,例如,在移動或翻轉一個貓的圖像后,它仍然是一只貓的圖像。因此,圖像分類數據集通常會增加移位、翻轉、旋轉或顏色變化,以獲得可能的最佳結果。

圖片

傳統的圖像數據增強

這里有一個問題:我們可以使用GAN來生成合成數據來改進分類器嗎?在2019年4月的一篇論文:https://arxiv.org/pdf/1904.09135.pdf中,作者為一個二分類問題(癌症檢測)生成了完全合成的數據。引人注目的是,他們展示了決策樹分類器在這個完全合成的數據集上比在原始小數據集上訓練時表現得更好。

然而,這似乎是一個例外情況,這種直接的數據增強方法在非常小的數據集上有更好的工作機會。在2017年的一篇論文中,使用深度學習的圖像分類中的數據增強的有效性,作者發現使用GANs直接的數據增強不如其他增強策略有效。

少樣本背景下的數據增強

因此,讓我們修改一下我們的問題:如果我們有一個非常小的類作為一個更大數據集的子集,比如圖像數據集中的一個罕見的狗品種,會怎么樣?或者,如果我們正在訓練一個欺詐分類器,但我們只有幾個已知的欺詐例子,和許多非欺詐的例子,那該怎么辦?這種情況被稱為少樣本學習,這被證明是使用GANs進行數據增強的一個更有前途的用例。但要解決這個問題,我們需要在GAN模型中包含類信息。

我們可以使用conditional GAN來實現這一點,在這個GAN中,類信息被提供給生成器。現在我們來討論過去兩年里的三種conditional GANs變體。

ACGAN: Cooperate on classification

conditional GAN的一個變體,稱為ACGAN(輔助分類器GAN),除了區分真實數據和合成數據之外,還讓鑒別器執行分類,損失函數包括用於分類的二元交叉熵項。除了學習生成總體真實的樣本,這樣還鼓勵生成器學習不同類別樣本的表示。這本質上是多任務學習:雖然生成器和鑒別器在生成的圖像是真還是假上“競爭”,但他們在正確分類上“合作”。

DAGAN: learn a shared family of transformations for data augmentation

另一種變體叫做DAGAN (Data augmented GAN),它學習如何使用真實圖像的低維表示來生成合成圖像。在DAGAN框架中,生成器不是將一個類和噪聲向量作為輸入,而是本質上是一個自動編碼器:它將現有的圖像進行編碼,添加噪聲,然后解碼。因此,解碼器學習了大量的數據增強轉換。

圖片

DAGAN生成器

DAGAN鑒別器一方面區分圖像和變換后的版本,另一方面區分來自同一類的一對圖像。因此,鑒別器激勵解碼器學習變換,這些變換不會改變類,但在變換后的圖像需要與原始圖像不太相似這一點上是不容易做到的。然而,DAGAN的一個關鍵假設是,相同的變換適用於所有類別 —— 這在計算機視覺環境中是合理的,但在欺詐或異常檢測中就不那么合理了。

圖片

DAGAN的判別器

BAGAN: learning to balance imbalanced data

在另一個conditional  GAN的變體,稱為BAGAN,自動編碼器也用於生成器。自動編碼器被預訓練來學習整個數據集的分布。然后,對編碼后的圖像進行多元正態分布擬合。現在你可以從這些多元正態分布中采樣,並將conditional 隱向量傳遞給生成器。與DAGAN不同,BAGAN為你提供了一個成熟的條件生成器,而不是對現有數據進行轉換。它也可能比ACGAN在少量的背景下更好,因為VAE在擬合每個類的正態分布之前有學習整體分布的能力。

圖片

BAGAN框架

思考

盡管使用GANs進行簡單的數據增強有時可以提高分類器的性能,特別是在非常小或有限的數據集的情況下,但使用GANs進行增強的最有希望的情況似乎包括遷移學習或少量學習。隨着研究不斷提高GAN訓練的穩定性和可靠性,將GAN用於數據增強的快速進展將不足為奇。


圖片END—

英文原文:https://medium.com/abacus-ai/gans-for-data-augmentation-21a69de6c60b


免責聲明!

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



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