1
雷鋒網AI研習社按:生成式對抗網絡(GAN)是近兩年機器學習領域的新秀,被Yann LeCun稱為"過去十年機器學習界最有趣的idea",目前已經得到廣泛研究者的關注并且以高頻論文數出現在各大頂會上。GAN目前已有一百多種變體,在圖像、視頻、文字、語音等很多實際場景中均得到應用,是一種潛力巨大的理論模型。本文主要對闡述了GAN的基本原理,以及GAN的優(yōu)缺點分析和GAN網絡研究發(fā)展現狀。文章內容根據AI研習社線上公開課整理而成。
在近期雷鋒網AI研習社舉辦的線上直播分享課上,來自華中科技大學的陳俊為大家詳細解讀了GAN的基本原理,并且分享了幾篇GAN在圖像風格轉換領域應用的文章。
陳俊,華中科技大學自動化學院碩士研究生,模式識別專業(yè),研究興趣包括:計算機視覺(視頻理解、行為識別、目標檢測與分類等)、深度學習、機器學習等。
分享主題:深度學習之星-GAN的原理
分享內容分為以下五部分:
GAN究竟在做什么?
GAN如何做的?
GAN是如何訓練的?
GAN的小實驗
GAN性質小結
大家好!首先為大家介紹一些GAN變體的最新應用,比如GAN可以被用來學生生成各種各樣的字體,可模范名人字體進行個性簽名;還可以對圖片進行修正,比如把春天的山變成白雪覆蓋的山,還有馬變斑馬,視頻自動生成,高分辨率圖片生成等等。
GAN究竟在做什么?
在低維數據中,GAN是用來學習數據服從什么樣的分布。在高維數據中,GAN可以學習復雜的數據模型,可以代表數據分布的樣子。一句話總結:它是在學習樣本集的數據分布。
學習數據分布有什么用?
學習數據分布可以學習到高緯抽象的分布函數,模擬預測未來數據是什么樣子??梢蕴幚砣笔祿栴}:如半監(jiān)督學習;可以生成真實樣本,還有可以建立模型,通過學到的模型分析數據的特征,比如數據均值,方差,再就是還原數據。
怎么生成真實樣本?
生成模型的一些常見方法:
基于上面的方法有兩種形式分為顯示估計和隱式估計。生成模型常見方法的比較:
顯示:或多或少的需要知道或者假設模型的分布;大多通過Markov chains方法;
隱式:使用隱藏編碼,無需假設模型,無需Markov chains,以最終生成圖像的相似性作為目標;
GAN如何做的?
它的基本思想:啟發(fā)自博弈論中的二人零和博弈。博弈雙方分別是一個生成模型和一個判別模型,這里的模型可理解為分類器或網絡結構。
分類模型,一般來說是一個二分類模型,用來判斷樣本是真是假;(分類器輸入為樣本,輸出概率大于0.5為真,否則為假)
生成模型:是一個樣本生成器,把一個噪聲包裝成另一個逼真的樣本,使得判別器誤認為是真樣本。(輸入為噪聲,輸出為樣本維持相同的噪聲(假樣本))
用一張圖來解釋:
有一個真實樣本集和一個制造的假樣本集,目的是使得判別器無法判斷,無論對于真假樣本,輸出結果概率都是0.5。
GAN是如何訓練的?
我們有且僅有真實訓練樣本集,無標注。假樣本集:隨機制造而來,沒有標注。
討論它是無監(jiān)督訓練還是有監(jiān)督訓練要看是從哪個角度來看。
如果從輸入的樣本集來看,它是無監(jiān)督的。因為沒有標記。但是無監(jiān)督沒有辦法訓練,必須造出一種判別機制,一種監(jiān)督信號,從這種角度來看,它是有監(jiān)督的,因為它有監(jiān)督信號 。把樣本的真和假當做監(jiān)督信號,這個監(jiān)督信號需要我們自己來造。
從生成假樣本的角度來講,我們希望生成器越來越好,生成的假樣本越逼真越好。
訓練前提是,有兩個網絡,分別單獨交替訓練。需要注意的是,在生成器里面生成的是假樣本數據集,但是在訓練的時候需要把它當成真樣本數據集來訓練。這樣才能迷惑判別器。
訓練過程精髓之處:假樣本在訓練過程中的真假變換,這也是博弈得以進行的關鍵之處。
用數學公式是如何表示出來的?
GAN小實驗
具體實驗過程觀看文末視頻
GAN性質小結:
GAN可以自動學習原始真實樣本集的數據分布,無需假設額外的分布模型;
自動學習潛在的損失函數,判別網絡潛在學習到的損失函數隱藏在網絡之中;
提供無監(jiān)督的學習方法,無監(jiān)督學習是機器學習領域的終極目標;
存在的問題:
不收斂的問題:網絡不穩(wěn)定,難以訓練;
網絡需要調才能得到較好的結果,比如交替迭代次數,對結果的影響就很大。
GANs論文列表:https://deephunt.in/the-gan-zoo-79597dc8c347
雷鋒網AI研習社整理
雷峰網原創(chuàng)文章,未經授權禁止轉載。詳情見轉載須知。