原作 Joel Shor 機(jī)器感知高級軟件工程師
Root 編譯自 谷歌開源博客
量子位 出品 | 公眾號 QbitAI
一般情況下,訓(xùn)練一個神經(jīng)網(wǎng)絡(luò)要先定義一下?lián)p失函數(shù),告訴神經(jīng)網(wǎng)絡(luò)輸出的值離目標(biāo)值偏差大概多少。舉個例子來說,對于圖像分類網(wǎng)絡(luò)所定義的損失函數(shù)來說,一旦網(wǎng)絡(luò)出現(xiàn)錯誤的分類結(jié)果,比如說把狗標(biāo)記成了貓,就會得到一個高損失值。
不過,不是所有任務(wù)都有那么容易定義的損失函數(shù),尤其是那些涉及到人類感知的,比如說圖像壓縮或者文本轉(zhuǎn)語音系統(tǒng)。
GAN(Generative Adversarial Networks,生成對抗網(wǎng)絡(luò)),在圖像生成文本,超分辨率,幫助機(jī)器人學(xué)會抓握,提供解決方案這些應(yīng)用上都取得了巨大的進(jìn)步。
不過,理論上和軟件工程上的更新不夠快,跟不上GAN的更新的節(jié)奏。
一段生成模型不斷進(jìn)化的視頻
上面的視頻可以看出,這個生成模型剛開始只能產(chǎn)生雜亂的噪音,但是最后生成了比較清晰的MNIST數(shù)字。
為了讓大家更容易地訓(xùn)練和評價GAN,我們提供TFGAN(輕量級GAN庫)的源代碼。其中包含容易上手的案例,可以充分地展現(xiàn)出TFGAN的表現(xiàn)張力和靈活性。我們還附上了一個示范教程,里面提到了高級的API端口怎么樣能快速地用你的數(shù)據(jù)來訓(xùn)練模型。
對抗損失對于圖像壓縮的效果。
頂層是ImageNet數(shù)據(jù)集里的圖,中間那層是傳統(tǒng)損失訓(xùn)練出來的圖像壓縮神經(jīng)網(wǎng)絡(luò)壓縮和解壓后的效果,底層是GAN損失和傳統(tǒng)損失一起訓(xùn)練的神經(jīng)網(wǎng)絡(luò)效果??梢钥吹贸鰜?,底層的圖邊緣更銳利,細(xì)節(jié)更豐富,雖然和原圖還是有一定的差距。
當(dāng)使用端對端的語音合成TacotronTTS網(wǎng)絡(luò)時,GAN可以增加部分真實(shí)的聲音特性。如下圖所示。
大多文本轉(zhuǎn)語音(TTS)網(wǎng)絡(luò)產(chǎn)生的過平滑的聲譜圖
TacotronTTS可以有效減少生成音頻的人工痕跡,出來的語音更真實(shí)自然(具體參考,https://arxiv.org/abs/1703.10135)。
TFGAN支持多種主流的實(shí)驗(yàn)方法。既有簡單的可涵蓋大部分GAN案例的函數(shù)(只要幾行代碼,開發(fā)者就可以拿自己的數(shù)據(jù)直接建模了),也有設(shè)計(jì)獨(dú)立模塊化的特殊GAN函數(shù),你可以隨意地組合自己需要的函數(shù),損失、評估、特征、訓(xùn)練函數(shù)。
同時,TFGAN也支持搭配其他架構(gòu),或者原始的TensorFlow代碼。使用了TFGAN搭建的GAN模型,以后底層架構(gòu)的優(yōu)化會更加方便。另外,也有大量的已經(jīng)預(yù)置的損失函數(shù)或特征函數(shù)供開發(fā)者選擇,不用再花大量時間自己去寫。最最最重要的是代碼已經(jīng)被反復(fù)測試過了,開發(fā)者不用再擔(dān)心GAN庫數(shù)據(jù)上的錯誤。
最后,附TFGAN鏈接:
https://github.com/tensorflow/tensorflow/tree/master/tensorflow/contrib/gan
—完—
聯(lián)系客服