生成對抗網路(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