自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

我們能完全解決GAN中的模式崩潰問(wèn)題嗎?

譯文 精選
人工智能
模式崩潰會(huì)導(dǎo)致生成對(duì)抗網(wǎng)絡(luò)(GAN)產(chǎn)生重復(fù)輸出。盡管有一些解決方案,但并沒(méi)有一種能夠完全解決這個(gè)問(wèn)題的方法。那么,研究人員將如何解決這個(gè)問(wèn)題?

譯者 | 李睿

審校 | 重樓

事實(shí)上,生成式對(duì)抗網(wǎng)絡(luò)(GAN)是人工智能領(lǐng)域中令人矚目的應(yīng)用之一。GAN風(fēng)靡全球,憑借生成逼真的圖像、深度偽造(Deepfake)視頻、人工智能生成的藝術(shù)作品,甚至合成的生物數(shù)據(jù),其能力讓人們驚嘆不已。但是GAN也有不為人知的秘密,這是工程師、人工智能愛(ài)好者和研究人員多年來(lái)面臨的一個(gè)難題:模式崩潰。

如果你以前訓(xùn)練過(guò)GAN,那么就體會(huì)過(guò)其非凡的魅力。比如見(jiàn)證模型進(jìn)化,完善功能,并創(chuàng)造越來(lái)越逼真的對(duì)象——這真是令人興奮!但這種情況發(fā)生了一些變化,GAN不再生成多樣化的輸出,而是開(kāi)始重復(fù)生成幾乎難以區(qū)分的同一類物體的變體。就像讓GAN生成形態(tài)各異的貓,但它卻總是一次又一次地展示出同一只黑貓,這有些令人哭笑不得。

為什么會(huì)這樣? 到底發(fā)生了什么?真的能解決這個(gè)問(wèn)題嗎?

在模式崩潰期間會(huì)發(fā)生什么?

從根本上來(lái)說(shuō),什么是模式崩潰?為什么GAN這個(gè)具有如此巨大潛力的模型會(huì)崩潰,并拒絕生成多樣化的數(shù)據(jù)?

在GAN框架中,有兩個(gè)神經(jīng)網(wǎng)絡(luò):生成器和鑒別器。生成器將隨機(jī)噪聲作為輸入,并嘗試生成假數(shù)據(jù)(例如圖像或文本),而鑒別器則負(fù)責(zé)區(qū)分真實(shí)數(shù)據(jù)和生成器生成的假合成數(shù)據(jù)。如果生成器成功欺騙了鑒別器,就是生成器的勝利。如果鑒別器識(shí)別出假數(shù)據(jù),那就是鑒別器的勝利。這是一個(gè)雙方參與的“對(duì)抗”游戲。

在理論上,隨著時(shí)間的推移,生成器應(yīng)該能夠創(chuàng)建出越來(lái)越逼真并且多樣化的樣本,捕捉到真實(shí)數(shù)據(jù)分布(稱為“模式”)中的所有微妙變化。但在實(shí)際操作中,這種平衡往往會(huì)失控。生成器找到了一條捷徑,通常是通過(guò)生成一些樣本能夠很好地欺騙鑒別器。其結(jié)果如何?生成器從有限的輸出集中采樣,而沒(méi)有捕獲真實(shí)數(shù)據(jù)中存在的所有潛在變化。

從形式上來(lái)說(shuō),當(dāng)生成器將許多潛在空間點(diǎn)(應(yīng)該對(duì)應(yīng)多樣化的輸出)映射到僅包含少數(shù)(已經(jīng)崩潰)輸出的子集時(shí),就會(huì)發(fā)生模式崩潰。所以,生成器不會(huì)合成不同類型的圖像,例如不同品種的狗,而是認(rèn)為:“這張哈巴狗的圖像曾經(jīng)奏效!我會(huì)繼續(xù)生產(chǎn)哈巴狗的圖像?!边@對(duì)哈巴狗愛(ài)好者來(lái)說(shuō)很酷;但對(duì)于希望生成拉布拉多犬或吉娃娃的人來(lái)說(shuō),那就令人失望了。

為什么會(huì)出現(xiàn)模式崩潰?

我們從技術(shù)層面更深入地探討,因?yàn)榱私鈫?wèn)題的根源是直面并解決問(wèn)題的關(guān)鍵。

問(wèn)題的根源在于GAN如何優(yōu)化其生成器的分布。需要記住,生成器和鑒別器之間的對(duì)抗游戲是基于最小化Jensen-Shannon(JS)散度的。這是一種復(fù)雜的說(shuō)法,GAN試圖將真實(shí)數(shù)據(jù)分布和虛假(生成)數(shù)據(jù)分布之間的距離最小化。JS散度之所以被廣泛使用,是因?yàn)樗藰O端的不平衡,但關(guān)鍵問(wèn)題在于:當(dāng)真實(shí)數(shù)據(jù)和生成的數(shù)據(jù)分布差異太大時(shí),梯度就會(huì)停止流動(dòng)。

可以這樣想:當(dāng)鑒別器在區(qū)分真實(shí)與虛假方面變得過(guò)于出色時(shí),生成器收到的有關(guān)如何改進(jìn)的反饋就會(huì)太少。其結(jié)果如何?生成器利用它可以精確再現(xiàn)的少數(shù)模式——通常會(huì)會(huì)陷入一組狹窄的輸出集合中,這些輸出足以欺騙鑒別器。從技術(shù)上來(lái)說(shuō),GAN的優(yōu)化游戲陷入了一個(gè)局部最小值。

而且,這不僅僅是JS散度的問(wèn)題。KL散度也有其自身的問(wèn)題。如果真實(shí)分布中的一個(gè)模式在生成的樣本中缺失(想象GAN從未生成白貓的圖片)那么,KL散度最終將趨于無(wú)窮大。這只會(huì)讓事情變得更糟,因?yàn)楫?dāng)模型“試圖優(yōu)化”這個(gè)散度時(shí),它已經(jīng)達(dá)到了一個(gè)沒(méi)有什么可優(yōu)化的地步。它徹底崩潰了。

Wasserstein GAN:一個(gè)具有發(fā)展前景的解決方案?

那么應(yīng)該如何解決這個(gè)問(wèn)題呢?

人工智能領(lǐng)域引入的一種創(chuàng)新方法——Wasserstein GANs(WGANs)引起了廣泛討論。WGAN沒(méi)有使用JS散度,而是用Earth Mover’s Distance(或Wasserstein Distance)取而代之。這衡量的是將一個(gè)分布轉(zhuǎn)換為另一個(gè)分布所需的成本。

真正令人興奮的是,與JS散度不同,即使生成器的分布和實(shí)際數(shù)據(jù)分布相距甚遠(yuǎn),Wasserstein距離也能給出有意義的梯度。這意味著,在訓(xùn)練過(guò)程中,生成器會(huì)獲得連續(xù)并且有用的反饋,指導(dǎo)它如何逐步調(diào)整其分布以更好地匹配真實(shí)數(shù)據(jù),從而傾向于學(xué)習(xí)更平滑、更多樣化的表示。

但是,事情不可能這么簡(jiǎn)單。

盡管WGAN確實(shí)可以提供幫助,但并不是靈丹妙藥。WGAN最初面臨的一個(gè)問(wèn)題是,為了確保評(píng)論家(接替鑒別器的角色)表現(xiàn)良好,必須削減權(quán)重,這導(dǎo)致了優(yōu)化方面的問(wèn)題。因此出現(xiàn)了一個(gè)名為WGAN-GP(帶有梯度懲罰的Wasserstein GAN)的升級(jí)版本,它通過(guò)懲罰梯度而不是削減權(quán)重,以更平滑的方式強(qiáng)制執(zhí)行Lipschitz連續(xù)性約束。

簡(jiǎn)而言之:Wasserstein GAN在許多情況下能緩解模式崩潰問(wèn)題,但在面對(duì)高度復(fù)雜的數(shù)據(jù)分布時(shí)仍會(huì)陷入困境。它們提供了信息更豐富的優(yōu)化路徑,但是即便有了這種復(fù)雜的修復(fù)方法,模式崩潰仍會(huì)發(fā)生。

微調(diào)GAN:小批量鑒別和展開(kāi)式GAN(Unrolled GAN)

以下進(jìn)一步探索研究人員為解決模式崩潰而嘗試的一些更具創(chuàng)意的方法。

1.小批量鑒別

一個(gè)簡(jiǎn)單而有效的想法來(lái)自于小批量鑒別。這個(gè)概念是為了讓鑒別器更智能——不僅在于區(qū)分單個(gè)假樣本和真實(shí)樣本,還能識(shí)別出缺乏多樣性的整批生成樣本。如果在同一批次中有太多生成的樣本過(guò)于相似,鑒別器就會(huì)發(fā)現(xiàn)這一點(diǎn),迫使生成器變得更加多樣化。

這是如何實(shí)現(xiàn)的?通過(guò)將鑒別器的小批量統(tǒng)計(jì)信息與生成的樣本進(jìn)行比較,可以增強(qiáng)鑒別器的能力。如果生成的樣本在特征空間中彼此過(guò)于接近,判別器就會(huì)察覺(jué)出問(wèn)題,并告訴生成器:“再試一次,你一直在給我重復(fù)同一種類型的數(shù)據(jù)!”

從數(shù)學(xué)角度來(lái)看,基于特征的內(nèi)核應(yīng)用于整個(gè)批處理。如果某些特征空間中的兩個(gè)樣本非常相似,它們很可能會(huì)陷入同一模式。此時(shí),鑒別器相應(yīng)地懲罰生成器。

但是,小批量鑒別并不是靈丹妙藥。它增加了計(jì)算成本,有時(shí)可能過(guò)于嚴(yán)格,導(dǎo)致生成器變得過(guò)于謹(jǐn)慎。

2.展開(kāi)式GAN(Unrolled GAN)

還有一種更具前瞻性的方法:Unrolled GAN。這個(gè)解決方案是由谷歌DeepMind的研究人員提供的,它基于一個(gè)巧妙的想法。與其只更新鑒別器訓(xùn)練的一步生成器,不如將鑒別器的優(yōu)化展開(kāi)到多個(gè)步驟中。

生成器不再局限于應(yīng)對(duì)短期的“游戲”,即欺騙當(dāng)前狀態(tài)的鑒別器,而是被迫預(yù)測(cè)并應(yīng)對(duì)判別器在訓(xùn)練過(guò)程中的演變。通過(guò)展開(kāi),生成器不斷嘗試預(yù)測(cè)其行為將如何影響未來(lái)的判別器,并基于這種長(zhǎng)期視角進(jìn)行訓(xùn)練。

從數(shù)學(xué)上講,這意味著生成器不能直接將傳統(tǒng)的對(duì)抗損失最小化。與其相反,它最小化了展開(kāi)損失函數(shù),包含了鑒別器的幾個(gè)梯度步驟的完全“展開(kāi)”。

這是一種很好的修復(fù)方法,它通過(guò)迫使生成器經(jīng)常用沖其投注的方式來(lái)顯著減少模式崩潰的趨勢(shì),而不是依賴立即利用當(dāng)前的鑒別器行為。

但是,展開(kāi)會(huì)使GAN訓(xùn)練的計(jì)算成本更高。對(duì)于每次生成器的更新,可能需要多個(gè)鑒別器梯度步驟,這將顯著降低訓(xùn)練速度。

潛在問(wèn)題:InfoGAN和潛在空間正則化

在這里還沒(méi)有涉及導(dǎo)致模式崩潰的一個(gè)非常核心的因素:潛在空間。

傳統(tǒng)GAN在將隨機(jī)噪聲輸入(潛碼)映射到生成樣本方面沒(méi)有提供太多結(jié)構(gòu)。這是有問(wèn)題的,因?yàn)槿绻成淙狈Y(jié)構(gòu),生成器可能會(huì)將多個(gè)潛碼分組到一個(gè)模式中,從而有效減少輸出的多樣性。

解決這個(gè)問(wèn)題的一個(gè)簡(jiǎn)單但有效的方法是InfoGAN——它是一種變體,可以最大限度地利用潛碼和生成輸出之間的互信息(Mutual Information)。

互信息鼓勵(lì)生成器尊重潛在空間中的變化。這產(chǎn)生了可解釋的潛在空間,其中潛碼的不同維度對(duì)應(yīng)于數(shù)據(jù)中有意義的變化。例如,一個(gè)維度現(xiàn)在可以明確控制生成對(duì)象的旋轉(zhuǎn)或面部特征,從而帶來(lái)更多的模式多樣性。

這在圖像生成或解糾纏的圖像到圖像的轉(zhuǎn)換等領(lǐng)域特別有用,在這些領(lǐng)域中,需要關(guān)心的是執(zhí)行不同的變化,而不是陷入少數(shù)幾個(gè)模式。

真的能消除模式崩潰嗎?

事實(shí)上,雖然已經(jīng)提出并實(shí)施了許多修復(fù)方法(從WGAN到Unrolled GAN等),但完全消除模式崩潰仍然難以實(shí)現(xiàn)。這并不是說(shuō)沒(méi)有取得進(jìn)展,已經(jīng)在很大程度上改進(jìn)了GAN。然而,模式崩潰似乎是生成器和鑒別器之間動(dòng)態(tài)關(guān)系的固有特性。這兩個(gè)神經(jīng)網(wǎng)絡(luò)在進(jìn)行競(jìng)爭(zhēng),而只要有競(jìng)爭(zhēng),就可能學(xué)會(huì)利用模式或捷徑。

也就是說(shuō),例如更健壯的損失函數(shù)、批量級(jí)反饋(小批量鑒別)和混合努力(InfoGAN)等緩解策略,已經(jīng)使模式崩潰在許多實(shí)際應(yīng)用中不再是交易破壞者。我們可以有效地引導(dǎo)GAN覆蓋有意義的模式。

在未來(lái),可能會(huì)看到將對(duì)抗性框架與規(guī)范化流等方法結(jié)合起來(lái)的混合設(shè)計(jì),這些方法通過(guò)設(shè)計(jì)自然地避免了模式崩潰。

那么能否徹底消除模式崩潰?可能不會(huì)。但只要了解它發(fā)生的原因以及有哪些工具可用,就可以有效緩解模式崩潰,從而構(gòu)建出一些出色的模型。

雖然GAN有一些問(wèn)題,但它們?nèi)匀皇侨斯ぶ悄馨l(fā)展中最令人興奮的領(lǐng)域之一。模式崩潰只是使這個(gè)領(lǐng)域如此豐富和引人注目的眾多謎題之一。如果你在解決模式崩潰方面有新突破,歡迎分享。讓我們一起解決這個(gè)問(wèn)題。

原文標(biāo)題:Mode Collapse in GANs: Can We Ever Completely Eliminate This Problem?,作者:Ashish Pawar

責(zé)任編輯:姜華 來(lái)源: 51CTO內(nèi)容精選
相關(guān)推薦

2019-04-24 09:43:46

代碼開(kāi)發(fā)工具

2010-06-21 10:09:47

Java

2009-07-08 13:22:48

JVM termina

2022-08-05 11:55:13

FlutteriOS

2022-11-21 14:02:14

2022-02-23 12:56:45

框架開(kāi)發(fā)

2009-06-30 14:22:50

Java編碼

2019-07-09 08:44:00

DeepfakeGAN人工智能

2010-08-13 10:52:12

思科路由器崩潰

2010-07-29 09:47:22

2023-12-26 15:06:00

Linux內(nèi)核轉(zhuǎn)儲(chǔ)

2022-09-19 06:25:14

設(shè)計(jì)模式GoF

2020-12-07 13:23:07

LibreOffice開(kāi)源

2020-04-13 15:05:10

Ubuntu深色模式Ubuntu 20.0

2009-11-13 16:01:53

思科路由器崩潰

2011-11-30 13:59:17

JavaJVM

2012-08-28 10:19:55

2023-05-24 13:04:46

機(jī)器人人工智能

2010-03-05 10:54:25

雅虎問(wèn)題

2023-04-11 11:42:31

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)