模擬仿真|深度學(xué)習(xí)|GAN|數(shù)字孿生
AI虛擬人|冬奧會|圖像轉(zhuǎn)換|自監(jiān)督學(xué)習(xí)
隨著模擬仿真、人工智能、深度學(xué)習(xí)的快速發(fā)展,GAN技術(shù)的脫穎而出給圖神經(jīng)網(wǎng)絡(luò)的發(fā)展帶來了巨大保障。
冬奧會天氣預(yù)報(bào)人是假的?
2022
滿滿的黑科技,絕對是本屆冬奧會的一大亮點(diǎn)。
無論是驚艷的開幕式,還是場館內(nèi)外的建設(shè),無不因?yàn)榭萍?,一次次引起輿論的驚嘆。
然而,萬萬沒想到的是,就連給選手和觀眾的天氣實(shí)時(shí)播報(bào),竟然也達(dá)到了一個(gè)新的高度:
看到這張圖片,你可能會想,這不是《中國天氣》的主持人馮殊嗎?但事實(shí)并非如此。圖中在聲情并茂播放天氣的,并不是他本人,而是一個(gè)純粹的AI虛擬人——馮小殊。
那么馮小殊是怎樣煉成的呢?
從效果上看很明顯,人類主持人馮殊是他的訓(xùn)練目標(biāo)。馮小殊背后的“殺手锏”是數(shù)字孿生虛擬人技術(shù)。他之所以能分清面部、表情、肢體動作的整體自然度和本尊真假難辨,主要結(jié)合GAN和深度神經(jīng)網(wǎng)絡(luò)渲染技術(shù)。
而且訓(xùn)練周期只有一周。值得一提的是,在語音專家模型、嘴巴專家模型和人臉渲染專家模型的訓(xùn)練下,“馮小殊”準(zhǔn)確地學(xué)習(xí)馮殊的嘴部動作、眼部和面部肌肉之間的協(xié)調(diào)性。
北京冬奧會期間,馮小殊將繼續(xù)播報(bào)“冬奧公眾觀賽氣象指數(shù)“,涵蓋戶外觀賽的人體感受和健康提示,包括體感寒涼指數(shù)、穿衣指數(shù)、感冒指數(shù)、凍傷指數(shù)、防曬指數(shù)、護(hù)目鏡指數(shù)等氣象指標(biāo),為觀賽人群及時(shí)傳遞戶外場館精細(xì)化氣象指數(shù)服務(wù)信息,為公眾健康、安全觀賽提供氣象條件參考依據(jù)。
GAN生成圖像綜述
2022
根據(jù)不同GAN所擁有的生成器和判別器的數(shù)量,可以將GAN圖像生成的方法概括為三類:直接方法,迭代方法和分層方法。
?
GAN在圖像生成中的三類方法
?
直接法
早期GANs都遵循在模型中使用一個(gè)生成器和一個(gè)判別器的原理,并且生成器和判別器的結(jié)構(gòu)是直接的,沒有分支。如GAN 、DCGAN 、ImprovedGAN,InfoGAN ,f-GAN 和GANINT-CLS 。這類方法在設(shè)計(jì)和實(shí)現(xiàn)上比較容易,通常也能得到良好的效果。
?
分層法
分層法的主要思想是將圖像分成兩部分,如“樣式和結(jié)構(gòu)”和“前景和背景”,在其模型中使用兩個(gè)生成器和兩個(gè)鑒別器,其中不同的生成器生成圖像的不同部分,然后再結(jié)合起來。兩個(gè)生成器之間的關(guān)系可以是并聯(lián)或串聯(lián)。
?
以SS-GAN為例,其使用兩個(gè)GAN,一個(gè)Structure-GAN用于生成表面結(jié)構(gòu),然后再由Style-GAN補(bǔ)充圖片細(xì)節(jié),最后生成圖片,整體結(jié)構(gòu)如下所示:
?
SS-GAN的分層結(jié)構(gòu)
?
迭代法
迭代法使用具有相似甚至相同結(jié)構(gòu)的多個(gè)生成器,經(jīng)過迭代生成從粗到細(xì)的圖像。
?
以LAPGAN為例:LAPGAN中的多個(gè)生成器執(zhí)行相同的任務(wù):最低級別的生成器僅將噪聲向量作為輸入并輸出圖像,而其他生成器都從前一個(gè)生成器獲取圖像并將噪聲矢量作為輸入,這些生成器結(jié)構(gòu)的唯一區(qū)別在于輸入/輸出尺寸的大小,每一次迭代后的圖像都擁有更多清晰的細(xì)節(jié)。
LAPGAN的迭代結(jié)構(gòu)
??
GAN-圖像轉(zhuǎn)換
2022
圖像到圖像的轉(zhuǎn)換被定義為將一個(gè)場景的可能表示轉(zhuǎn)換成另一個(gè)場景的問題,例如圖像結(jié)構(gòu)圖映射到RGB圖像,或者反過來。該問題與風(fēng)格遷移有關(guān),其采用內(nèi)容圖像和樣式圖像并輸出具有內(nèi)容圖像的內(nèi)容和樣式圖像的樣式的圖像。圖像到圖像轉(zhuǎn)換可以被視為風(fēng)格遷移的概括,因?yàn)樗粌H限于轉(zhuǎn)移圖像的風(fēng)格,還可以操縱對象的屬性。
?
圖像到圖像的轉(zhuǎn)換可分為有監(jiān)督和無監(jiān)督兩大類,根據(jù)生成結(jié)果的多樣性又可分為一對一生成和一對多生成兩類:
?
有監(jiān)督下圖像到圖像轉(zhuǎn)換
在原始GAN中,因?yàn)檩敵鰞H依賴于隨機(jī)噪聲,所以無法控制生成的內(nèi)容。但cGAN的提出使得我們可以將條件輸入y添加到隨機(jī)噪聲z,以便生成的圖像由G(z,y)定義。條件y可以是任何信息,如圖像標(biāo)注,對象的屬性、文本描述,甚至是圖片。
CGAN的結(jié)構(gòu)
如果引入圖片作為監(jiān)督信息,cGAN就可以完成一些paired data才能完成的任務(wù),如把輪廓圖轉(zhuǎn)化成真實(shí)圖片,把mask轉(zhuǎn)化成真實(shí)圖,把黑白圖轉(zhuǎn)化成真實(shí)圖等。其中最具代表性的工作為pix2pix:
?
pix2pix結(jié)構(gòu)圖
?
無監(jiān)督圖像到圖像轉(zhuǎn)換
雖然有監(jiān)督下圖像轉(zhuǎn)換可以得到很好的效果,但需要的條件信息以及paired image成為其很大的限制。但如果用無監(jiān)督學(xué)習(xí),學(xué)習(xí)到的網(wǎng)絡(luò)可能會把相同的輸入映射成不同的輸出,這就意味著,我們輸入任意xi并不能得到想要的輸出yi。
?
CycleGAN 、DualGAN? 和DiscoGAN突破了這個(gè)限制,這幾項(xiàng)工作都提出了一致/重構(gòu)損失(consistent loss),采取了一個(gè)直觀的思想:即生成的圖像再用逆映射生成回去應(yīng)該與輸入的圖像盡可能接近。在轉(zhuǎn)換中使用兩個(gè)生成器和兩個(gè)判別器,兩個(gè)生成器進(jìn)行相反的轉(zhuǎn)換,試圖在轉(zhuǎn)換周期后保留輸入圖像。
?
以CycleGAN為例,在CycleGAN中,有兩個(gè)生成器,Gxy用于將圖像從域X傳輸?shù)結(jié),Gxy用于執(zhí)行相反的轉(zhuǎn)換。此外,還有兩個(gè)判別器Dx和Dy判斷圖像是否屬于該域。
?
CycleGAN的生成效果
?
一對一生成到一對多生成
從pix2pix到CycleGAN系列,再到UNIT,這些方法實(shí)現(xiàn)的image-to-image translation不管是有監(jiān)督的還是無監(jiān)督的,都是一對一的,也就是說輸入一張圖片只能產(chǎn)生一種風(fēng)格,缺乏多樣性。但其實(shí)大多數(shù)情況下,image translation是多對多的,也就是一張圖片對應(yīng)不同風(fēng)格的轉(zhuǎn)換圖片。比如我們設(shè)計(jì)衣服時(shí),一張輪廓圖其實(shí)可以設(shè)計(jì)成不同風(fēng)格的衣服。再比如同一個(gè)場景,不同的光照條件就是一個(gè)模式,不一定只有白天和黑夜,還可能有傍晚清晨等。
?
BicycleGAN首先對此進(jìn)行了嘗試,其在模型中添加隨機(jī)噪聲,通過隨機(jī)采樣使噪聲得到不同的表達(dá),并在輸出與潛在空間上添加雙向映射。雙向映射指的是:不僅可以由潛在編碼映射得到輸出也可以由輸出反過來生成對應(yīng)的潛在編碼,這可以防止兩個(gè)不同的潛在編碼生成同樣的輸出,避免輸出的單一性。
?
但直接用不同的隨機(jī)噪聲來產(chǎn)生多樣化的結(jié)果,由于mode collapse的存在,很容易訓(xùn)練失敗。MUNIT和DRITUNIT的基礎(chǔ)上,將latent code進(jìn)一步細(xì)化為內(nèi)容編碼 C和風(fēng)格編碼 S。不同domain的圖像共享內(nèi)容編碼空間 C 而獨(dú)享風(fēng)格編碼空間 S ,將內(nèi)容編碼C與不同的風(fēng)格編碼S結(jié)合起來就能得到更棒的多樣性的結(jié)果。
MUNIT將latent code分為內(nèi)容c和風(fēng)格c
?
如下所示,BicycleGAN、MUNIT和DRIT都取得了不錯(cuò)的生成結(jié)果:
GAN模型分析
2022
穩(wěn)定性差
穩(wěn)定性差指的是GAN在訓(xùn)練的過程中很難把握好梯度消失和梯度錯(cuò)誤之間的平衡。我們先看看為什么會出現(xiàn)梯度消失的問題。先關(guān)注判別網(wǎng)絡(luò),若??和??已知,令式(2)的導(dǎo)數(shù)為零,可解得最優(yōu)的判別為:
也就是說,當(dāng)判別網(wǎng)絡(luò)最優(yōu)的時(shí)候,生成網(wǎng)絡(luò)的目標(biāo)是最小化分布??和??之間的??散度。當(dāng)兩個(gè)分布相同時(shí)??散度為零,即生成網(wǎng)絡(luò)的最優(yōu)值??對應(yīng)的損失為??。
然而實(shí)際情況是,當(dāng)用諸如梯度下降等方式去最小化目標(biāo)函數(shù)? ?的時(shí)候,生成網(wǎng)絡(luò)的目標(biāo)函數(shù)關(guān)于參數(shù)的梯度為零,無法更新。為什么會出現(xiàn)這種情況呢?原因是??散度本身的特性:當(dāng)兩個(gè)分布沒有重疊的時(shí)候,它們之間的??散度恒為??。容易發(fā)現(xiàn)此時(shí)目標(biāo)函數(shù)為0,意味著最優(yōu)判別器的判別全部正確,對所有生成數(shù)據(jù)的輸出均為0,因此對目標(biāo)參數(shù)求導(dǎo)仍為0,帶來了梯度消失的難題。
因此在實(shí)際中,我們往往不將判別網(wǎng)絡(luò)訓(xùn)練到最優(yōu),只進(jìn)行??次梯度下降,以保證生成網(wǎng)絡(luò)的梯度仍然存在。但是如果因?yàn)橛?xùn)練次數(shù)太少導(dǎo)致判別網(wǎng)絡(luò)判別能力太差,則生成網(wǎng)絡(luò)的梯度為錯(cuò)誤的梯度。如何確定??這個(gè)超參數(shù),平衡好梯度消失和梯度錯(cuò)誤之間的平衡是個(gè)難題,這也是為什么說GAN在訓(xùn)練時(shí)穩(wěn)定性差的原因。
模型坍塌
除了穩(wěn)定性差,GAN在訓(xùn)練的時(shí)候還容易出現(xiàn)模型坍塌的問題。模型坍塌指生成網(wǎng)絡(luò)傾向于生成更“安全”的樣本,即生成數(shù)據(jù)的分布聚集在原始數(shù)據(jù)分布的局部。下面我們看看為什么會出現(xiàn)這個(gè)問題。
?
將最優(yōu)判別網(wǎng)絡(luò)??代入式(4),得到生成網(wǎng)絡(luò)的目標(biāo)函數(shù)為:
此時(shí),??。其中??屬于有界函數(shù),因此生成網(wǎng)絡(luò)的最優(yōu)值更多受逆向KL散度??的影響。
?
什么是前向和逆向KL散度?以它們?yōu)槟繕?biāo)進(jìn)行優(yōu)化會帶來什么結(jié)果?我們先看看第一個(gè)問題:
KL散度是一種非對稱的散度,在計(jì)算真實(shí)分布??和生成分布??之間的KL散度的時(shí)候,按照順序不同,分為前向KL散度和逆向KL散度:
在前向KL散度中:
當(dāng)??而??時(shí),??。意味著??的時(shí)候,??無論怎么取值都可以,都不會對前向KL散度的計(jì)算產(chǎn)生影響,因此擬合的時(shí)候不用回避??的點(diǎn);
當(dāng)??而??時(shí),??。意味著要減小前向KL散度,??必須盡可能覆蓋??的點(diǎn)。
因此,當(dāng)以前向KL散度為目標(biāo)函數(shù)進(jìn)行優(yōu)化的時(shí)候,模型分布??會盡可能覆蓋所有真實(shí)分布??的點(diǎn),而不用回避??的點(diǎn)。
在逆向KL散度中:
當(dāng)??而 時(shí),??。意味著要減小逆向KL散度,??必須回避所有??的點(diǎn);
當(dāng)??時(shí),無論??取什么值,??。意味著??不需要考慮考慮是否需要盡可能覆蓋所有真實(shí)分布??的點(diǎn)。
因此,當(dāng)以逆向KL散度為目標(biāo)函數(shù)進(jìn)行優(yōu)化的時(shí)候,模型分布??會盡可能避開所有真實(shí)分布??的點(diǎn),而不需要考慮是否覆蓋所有真實(shí)分布??的點(diǎn)。
下圖給出了當(dāng)真實(shí)分布為高斯混合分布,模型分布為單高斯分布的時(shí)候,用前向KL散度和逆向KL散度進(jìn)行模型優(yōu)化的結(jié)果,可以發(fā)現(xiàn)使用逆向KL散度進(jìn)行優(yōu)化會帶來模型坍縮的問題。
因此,基于上述兩個(gè)問題,GAN難訓(xùn)練的問題是出了名的。為了解決這些問題,后續(xù)又有人提出了各式各樣的GAN,例如W-GAN,通過用Wasserstein距離代替JS散度,改善了GAN穩(wěn)定性差的問題,同時(shí)一定程度上緩解了模型坍縮的問題。
GAN復(fù)原:偉大詩人泰戈?duì)?/strong>
2022
當(dāng)近百年前的黑白影像披上了色彩,它的歷史意義會不會多一層呢?
近日,一段泰戈?duì)?930年演講珍貴影像被AI修復(fù)還原。
?那么是運(yùn)用了什么技術(shù)將泰戈?duì)栍跋襁€原的呢?
RIFE,Deep-Exemplar-based-Video-Colorization,GPEN等一系列人工智能項(xiàng)目為泰戈?duì)栍跋竦倪€原做出了巨大貢獻(xiàn)。
其中RIFE是一個(gè)實(shí)時(shí)視頻插幀方案,能實(shí)現(xiàn)老舊影像對高幀率的需求。
另外,在此另一個(gè)補(bǔ)幀項(xiàng)目是DAIN。
Deep-Exemplar-based-Video-Colorization是來自一種結(jié)合了圖像檢索與圖像著色的模型。該模型首先會從大量參照圖像中檢索和灰度圖相似的圖像,然后再將該參照圖像的配色方案遷移到灰度圖中,實(shí)現(xiàn)了非常好的著色效果。
GPEN(GAN prior embedded network,GAN先驗(yàn)嵌入網(wǎng)絡(luò))是新晉開源項(xiàng)目,由國人打造,對亞洲人像還原效果更為出色。
結(jié)果表明,其效果明顯優(yōu)于最先進(jìn)的嚴(yán)重?fù)p壞的人臉圖像復(fù)原(Blind face restoration)方法。
還有DeOldify:DeOldify 使用了NoGAN 進(jìn)行訓(xùn)練,NoGAN對于獲得穩(wěn)定和豐富多彩的圖像是至關(guān)重要的。
NoGAN 訓(xùn)練結(jié)合了 GAN (美妙的著色)的好處,同時(shí)消除了副作用(如視頻中閃爍對象)。
除了利用這些開源的AI模型,還結(jié)合了高超的后期技巧,百年前的老北京生活、上海時(shí)裝秀才能栩栩如生地出現(xiàn)在人們面前。
藍(lán)海大腦液冷GPU工作站(可搭建于 NVIDIA?4?× A100 / 3090 / P6000 / RTX6000;使用 NVLink + NVSwitch的最高GPU通信;4個(gè)用于 GPU Direct RDMA的NIC(1:1 GPU比率);最高4 x NVMe用于GPU系統(tǒng)盤,帶有 AIOM雙電源冗余供電系統(tǒng)、防雷擊、防浪涌保護(hù))是提供?GPU?算力的高性能計(jì)算,服務(wù)于深度學(xué)習(xí)、科學(xué)計(jì)算、圖形可視化、視頻處理多種應(yīng)用場景。藍(lán)海大腦液冷GPU工作站為GAN技術(shù)的發(fā)展提供硬件保障。
?審核編輯:符乾江
評論
查看更多