生成對抗網絡(GAN)是一類在無監督學習中使用的神經網絡,其有助于解決按文本生成圖像、提高圖片分辨率、藥物匹配、檢索特定模式的圖片等任務。Statsbot 小組邀請數據科學家 Anton Karazeev 通過日常生活實例深入淺出地介紹 GAN 原理及其應用。
生成對抗網絡由 Ian Goodfellow 于 2014 年提出。GAN 不是神經網絡應用在無監督學習中的唯一途徑,還有玻爾茲曼機(Geoffrey Hinton 和 Terry Sejnowski,1985)和自動解碼器(Dana H. Ballard,1987)。三者皆致力于通過學習恒等函數 f(x)= x 從數據中提取特征,且都依賴馬爾可夫鏈來訓練或生成樣本。
GAN 設計之初衷就是避免使用馬爾可夫鏈,因為后者的計算成本很高。相對于玻爾茲曼機的另一個優點是 GAN 的限制要少得多(只有幾個概率分布適用于馬爾可夫鏈抽樣)。
在本文中,我們將講述 GAN 的基本原理及最流行的現實應用。
GAN 原理
讓我們用一個比喻解釋 GAN 的原理吧。
假設你想買塊好表。但是從未買過表的你很可能難辨真假;買表的經驗可以免被奸商欺騙。當你開始將大多數手表標記為假表(當然是被騙之后),賣家將開始「生產」更逼真的山寨表。這個例子形象地解釋了 GAN 的基本原理:判別器網絡(手表買家)和生成器網絡(生產假表的賣家)。
兩個網絡相互博弈。GAN 允許生成逼真的物體(例如圖像)。生成器出于壓力被迫生成看似真實的樣本,判別器學習分辨生成樣本和真實樣本。
判別算法和生成算法有何不同?簡單地說:判別算法學習類之間的邊界(如判別器做的那樣),而生成算法學習類的分布(如生成器做的那樣)。
如果你準備深入了解 GAN
想要學習生成器的分布,應該定義數據 x 的參數 p_g,以及輸入噪聲變量 p_z(z)的分布。然后 G(z,θ_g)將 z 從潛在空間 Z 映射到數據空間,D(x,θ_d)輸出單個標量——一個 x 來自真實數據而不是 p_g 的概率。
訓練判別器以最大化正確標注實際數據和生成樣本的概率。訓練生成器用于最小化 log(1-D(G(z)))。換句話說,盡量減少判別器得出正確答案的概率。
可以將這樣的訓練任務看作具有值函數 V(G,D)的極大極小博弈:
換句話說,生成器努力生成判別器難以辨認的圖像,判別器也愈加聰明,以免被生成器欺騙。
「對抗訓練是繼切片面包之后最酷的事情。」- Yann LeCun
當判別器不能區分 p_g 和 p_data,即 D(x,θ_d)= 1/2 時,訓練過程停止。達成生成器與判別器之間判定誤差的平衡。
歷史檔案圖像檢索
一個有趣的 GAN 應用實例是在「Prize Papers」中檢索相似標記,Prize Papers 是海洋史上最具價值的檔案之一。對抗網絡使得處理這些具有歷史意義的文件更加容易,這些文件還包括海上扣留船只是否合法的信息。
每個查詢到的記錄都包含商家標記的樣例——商家屬性的唯一標識,類似于象形文字的草圖樣符號。
我們應該獲得每個標記的特征表示,但是應用常規機器學習和深度學習方法(包括卷積神經網絡)存在一些問題:
- 它們需要大量標注圖像;
- 商標沒有標注;
- 標記無法從數據集分割出去。
這種新方法顯示了如何使用 GAN 從商標的圖像中提取和學習特征。在學習每個標記的表征之后,就可以在掃描文檔上按圖形搜索。
將文本翻譯成圖像
其他研究人員表明,使用自然語言的描述屬性生成相應的圖像是可行的。文本轉換成圖像的方法可以說明生成模型模擬真實數據樣本的性能。
圖片生成的主要問題在于圖像分布是多模態的。例如,有太多的例子完美契合文本描述的內容。GAN 有助于解決這一問題。
我們來考慮以下任務:將藍色輸入點映射到綠色輸出點(綠點可能是藍點的輸出)。這個紅色箭頭表示預測的誤差,也意味著經過一段時間后,藍點將被映射到綠點的平均值——這一精確映射將會模糊我們試圖預測的圖像。
GAN 不直接使用輸入和輸出對。相反,它們學習如何給輸入和輸出配對。
下面是從文本描述中生成圖像的示例:
用于訓練 GAN 的數據集:
- Caltech-UCSD-200-2011 是一個具有 200 種鳥類照片、總數為 11,788 的圖像數據集。
- Oxford-102 花數據集由 102 個花的類別組成,每個類別包含 40 到 258 張圖片不等。
藥物匹配
當其它研究員應用 GAN 處理圖片和視頻時,Insilico Medicine 的研究人員提出了一種運用 GAN 進行藥物匹配的方法。
我們的目標是訓練生成器,以盡可能精確地從一個藥物數據庫中對現有藥物進行按病取藥的操作。
經過訓練后,可以使用生成器獲得一種以前不可治愈的疾病的藥方,并使用判別器確定生成的藥方是否治愈了特定疾病。
腫瘤分子生物學的應用
Insilico Medicine 另一個研究表明,產生一組按參數定義的新抗癌分子的管道。其目的是預測具有抗癌作用的藥物反應和化合物。
研究人員提出了一個基于現有生化數據的用于識別和生成新化合物的對抗自編碼器(AAE)模型。
「據我們所知,這是 GAN 技術在挖掘癌癥藥物領域的首個應用。」- 研究人員說。
數據庫中有許多可用的生物化學數據,如癌細胞系百科全書(CCLE)、腫瘤藥物敏感基因學(GDSC)和 NCI-60 癌細胞系。所有這些都包含針對癌癥的不同藥物實驗的篩選數據。
對抗自編碼器以藥物濃度和指紋作為輸入并使用生長抑制率數據進行訓練(GI,顯示治療后癌細胞的數量減少情況)。
分子指紋在計算機中有一個固定的位數表示,每一位代表某些特征的保留狀態。
隱藏層由 5 個神經元組成,其中一個負責 GI(癌細胞抑制率),另外 4 個由正態分布判別。因此,一個回歸項被添加到編碼器代價函數中。此外,編碼器只能將相同的指紋映射到相同的潛在向量,這一過程獨立于通過額外的流形代價集中輸入。
經過訓練,網絡可以從期望的分布中生成分子,并使用 GI 神經元作為輸出化合物的微調器。
這項工作的成果如下:已訓練 AAE 模型預測得到的化合物已被證明是抗癌藥物,和需接受抗癌活性化合物實驗驗證的新藥物。
「我們的研究結果表明,本文提出的 AAE 模型使用深度生成模型顯著提高了特定抗癌能力和新分子的開發效率。」
結論
無監督學習是人工智能的下一個藍海,我們正朝著這一方向邁進。
生成對抗網絡可以應用于許多領域,從生成圖像到預測藥物,所以不要害怕失敗。我們相信 GAN 有助于建立一個更好的機器學習的未來。
原文鏈接:https://blog.statsbot.co/generative-adversarial-networks-gans-engine-and-applications-f96291965b47
-
解碼器
+關注
關注
9文章
1148瀏覽量
40939 -
神經網絡
+關注
關注
42文章
4781瀏覽量
101181
發布評論請先 登錄
相關推薦
GaN可靠性的測試
未找到GaN器件
基于GaN的開關器件
如何精確高效的完成GaN PA中的I-V曲線設計?
為什么GaN會在射頻應用中脫穎而出?
圖像生成對抗生成網絡gan_GAN生成汽車圖像 精選資料推薦
GaN和SiC區別
如何實現高效GaN的電源設計
![如何實現高效<b class='flag-5'>GaN</b>的電源設計](https://file.elecfans.com/web1/M00/CF/C6/o4YBAF-0iC6AeQBeAASDSv30Xp0593.png)
評論