三年前,蒙特利爾大學(xué) Ian Goodfellow 等學(xué)者提出「生成式對抗網(wǎng)絡(luò)」(Generative Adversarial Networks,GANs)的概念,并逐漸引起 AI 業(yè)內(nèi)人士的注意。自 2016 年以來,學(xué)界、業(yè)界對 GAN 的興趣出現(xiàn)「井噴」。近日,谷歌開源 TFGAN 輕量級的工具庫,據(jù)悉,其設(shè)計初衷是讓訓(xùn)練和評估 GAN 變得更加簡單。
雷鋒網(wǎng) AI 科技評論將原文編譯整理如下:
訓(xùn)練神經(jīng)網(wǎng)絡(luò)的時候,通常需要定義一個損失函數(shù)來告訴網(wǎng)絡(luò)它離目標(biāo)還有多遠(yuǎn)。例如,圖像分類網(wǎng)絡(luò)中通常會有一個損失函數(shù),一旦給出錯誤的分類就會進(jìn)行懲罰。如果一個網(wǎng)絡(luò)把狗的照片錯當(dāng)成貓了,那將會出現(xiàn)很高的損失值。
然而,有些問題并不能輕松用損失函數(shù)來定義,特別是當(dāng)它們涉及到人的感知時,比如圖像壓縮或文本轉(zhuǎn)語音系統(tǒng)。
生成式對抗網(wǎng)絡(luò) (GAN) 這種機(jī)器學(xué)習(xí)技術(shù)已經(jīng)在廣泛的應(yīng)用領(lǐng)域引導(dǎo)我們?nèi)〉昧诉M(jìn)步,包括基于文本生成圖像、超分辨率,以及機(jī)器人抓取的解決方案。然而,GAN 在理論和軟件工程上都引入了新的挑戰(zhàn),想要跟上它這種快速的研究步伐也很難。
為了讓基于 GAN 的實驗更加容易,谷歌選擇開源 TFGAN,這是一個輕量級的庫,設(shè)計初衷是讓訓(xùn)練和評估 GAN 變得簡單。
它提供訓(xùn)練 GAN 的基礎(chǔ)設(shè)施,也提供經(jīng)過良好測試的損失和評估指標(biāo),并包括易于使用的示例,可以看到這個庫極具表達(dá)性和靈活性。與此同時,谷歌還發(fā)布了一個教程,其中包括能快速基于自己的數(shù)據(jù)進(jìn)行模型訓(xùn)練的高級 API。
上圖展示了對抗損失對圖像壓縮的影響。最上面那行是來自 ImageNet 數(shù)據(jù)集的圖像 patch。中間展示了用傳統(tǒng)損失訓(xùn)練的圖像壓縮神經(jīng)網(wǎng)絡(luò)對圖像進(jìn)行壓縮和解壓縮的結(jié)果。底部是用傳統(tǒng)損失和對抗性損失訓(xùn)練的網(wǎng)絡(luò)對圖像進(jìn)行壓縮和解壓縮的結(jié)果。
雖然基于 GAN 損失訓(xùn)練的圖像比起原圖來,信息還是有所丟失,但比起其他的方法,圖片更加清晰,包含更多細(xì)節(jié)。
TFGAN 可以從以下幾個方面來支持實驗。
它提供簡單的函數(shù)調(diào)用功能,能覆蓋大部分的 GAN 用例,因此僅需幾行代碼你就能用自己的數(shù)據(jù)訓(xùn)練模型,而且因為是采用模塊化的方式構(gòu)建,它能覆蓋更特殊的 GAN 設(shè)計。
你可以任意使用自己想要的模塊——損失、評估、特征、訓(xùn)練等模塊,這些都是獨立的。TFGAN 的輕量級設(shè)計意味著你可以將它與其他框架或原生 TensorFlow 代碼一起使用。
用 TFGAN 編寫的 GAN 模型很容易從未來基礎(chǔ)設(shè)施的改進(jìn)中受益,你可以從大量已經(jīng)實現(xiàn)的損失和特征值中進(jìn)行選擇,而不需要再重寫。
最后,代碼經(jīng)過了良好的測試,因此你不必?fù)?dān)心使用 GAN 庫時容易出現(xiàn)的數(shù)值或統(tǒng)計錯誤。
如上圖,大多數(shù)文本轉(zhuǎn)語音 (TTS) 神經(jīng)系統(tǒng)產(chǎn)生的頻譜圖都過于平滑。當(dāng)應(yīng)用到 Tacotron TTS 系統(tǒng)時,GAN 可以重新創(chuàng)建一些更真實的紋理,這將減少輸出音頻中的人工痕跡。
TFGAN 的開源意味著你將與許多 Google 的研究人員使用的相同的工具,任何人都可以受益于谷歌在庫中最先進(jìn)的改進(jìn)。