判别两棵树是否相等 设计算法_一文看懂生成对抗网络 - GANs?(附:10种典型算法+13种应用)...
生成對抗網(wǎng)絡(luò) – GANs 是最近2年很熱門的一種無監(jiān)督算法,他能生成出非常逼真的照片,圖像甚至視頻。我們手機里的照片處理軟件中就會使用到它。
本文將詳細介紹生成對抗網(wǎng)絡(luò) – GANs 的設(shè)計初衷、基本原理、10種典型算法和13種實際應(yīng)用。
GANs的設(shè)計初衷
一句話來概括 GANs 的設(shè)計動機就是——自動化。
人工提取特征——自動提取特征
我們在《一文看懂深度學(xué)習(xí)(概念+優(yōu)缺點+典型算法)》中講過,深度學(xué)習(xí)最特別最厲害的地方就是能夠自己學(xué)習(xí)特征提取。
機器的超強算力可以解決很多人工無法解決的問題。自動化后,學(xué)習(xí)能力更強,適應(yīng)性也更強。
人工判斷生成結(jié)果的好壞——自動判斷和優(yōu)化
我們在《監(jiān)督學(xué)習(xí)》中講過,訓(xùn)練集需要大量的人工標(biāo)注數(shù)據(jù),這個過程是成本很高且效率很低的。而人工判斷生成結(jié)果的好壞也是如此,有成本高和效率低的問題。
而 GANs 能自動完成這個過程,且不斷的優(yōu)化,這是一種效率非常高,且成本很低的方式。GANs是如何實現(xiàn)自動化的呢?下面我們講解一下他的原理。
生成對抗網(wǎng)絡(luò) GANs 的基本原理
大白話版本
知乎上有一個很不錯的解釋,大家應(yīng)該都能理解:
假設(shè)一個城市治安混亂,很快,這個城市里就會出現(xiàn)無數(shù)的小偷。在這些小偷中,有的可能是盜竊高手,有的可能毫無技術(shù)可言。假如這個城市開始整飭其治安,突然開展一場打擊犯罪的「運動」,警察們開始恢復(fù)城市中的巡邏,很快,一批「學(xué)藝不精」的小偷就被捉住了。之所以捉住的是那些沒有技術(shù)含量的小偷,是因為警察們的技術(shù)也不行了,在捉住一批低端小偷后,城市的治安水平變得怎樣倒還不好說,但很明顯,城市里小偷們的平均水平已經(jīng)大大提高了。
警察們開始繼續(xù)訓(xùn)練自己的破案技術(shù),開始抓住那些越來越狡猾的小偷。隨著這些職業(yè)慣犯們的落網(wǎng),警察們也練就了特別的本事,他們能很快能從一群人中發(fā)現(xiàn)可疑人員,于是上前盤查,并最終逮捕嫌犯;小偷們的日子也不好過了,因為警察們的水平大大提高,如果還想以前那樣表現(xiàn)得鬼鬼祟祟,那么很快就會被警察捉住。
為了避免被捕,小偷們努力表現(xiàn)得不那么「可疑」,而魔高一尺、道高一丈,警察也在不斷提高自己的水平,爭取將小偷和無辜的普通群眾區(qū)分開。隨著警察和小偷之間的這種「交流」與「切磋」,小偷們都變得非常謹慎,他們有著極高的偷竊技巧,表現(xiàn)得跟普通群眾一模一樣,而警察們都練就了「火眼金睛」,一旦發(fā)現(xiàn)可疑人員,就能馬上發(fā)現(xiàn)并及時控制——最終,我們同時得到了最強的小偷和最強的警察。
非大白話版本
生成對抗網(wǎng)絡(luò)(GANs)由2個重要的部分構(gòu)成:
下面詳細介紹一下過程:
第一階段:固定「判別器D」,訓(xùn)練「生成器G」
我們使用一個還 OK 判別器,讓一個「生成器G」不斷生成“假數(shù)據(jù)”,然后給這個「判別器D」去判斷。
一開始,「生成器G」還很弱,所以很容易被揪出來。
但是隨著不斷的訓(xùn)練,「生成器G」技能不斷提升,最終騙過了「判別器D」。
到了這個時候,「判別器D」基本屬于瞎猜的狀態(tài),判斷是否為假數(shù)據(jù)的概率為50%。
第二階段:固定「生成器G」,訓(xùn)練「判別器D」
當(dāng)通過了第一階段,繼續(xù)訓(xùn)練「生成器G」就沒有意義了。這個時候我們固定「生成器G」,然后開始訓(xùn)練「判別器D」。
「判別器D」通過不斷訓(xùn)練,提高了自己的鑒別能力,最終他可以準確的判斷出所有的假圖片。
到了這個時候,「生成器G」已經(jīng)無法騙過「判別器D」。
循環(huán)階段一和階段二
通過不斷的循環(huán),「生成器G」和「判別器D」的能力都越來越強。
最終我們得到了一個效果非常好的「生成器G」,我們就可以用它來生成我們想要的圖片了。
下面的實際應(yīng)用部分會展示很多“驚艷”的案例。
如果對 GANs 的詳細技術(shù)原理感興趣,可以看看下面2篇文章:
《生成性對抗網(wǎng)絡(luò)(GAN)初學(xué)者指南 – 附代碼》
《長文解釋生成對抗網(wǎng)絡(luò)GAN的詳細原理(20分鐘閱讀)》
GANs的優(yōu)缺點
3個優(yōu)勢
2個缺陷
擴展閱讀:《為什么訓(xùn)練生成對抗網(wǎng)絡(luò)如此困難?》閱讀這篇文章對數(shù)學(xué)要求很高
10大典型的GANs算法
GANs 算法有數(shù)百種之多,大家對于 GANs 的研究呈指數(shù)級的上漲,目前每個月都有數(shù)百篇論壇是關(guān)于對抗網(wǎng)絡(luò)的。
下圖是每個月關(guān)于 GANs 的論文發(fā)表數(shù)量:
如果你對 GANs 算法感興趣,可以在 「GANs動物園」里查看幾乎所有的算法。我們?yōu)榇蠹覐谋姸嗨惴ㄖ刑暨x了10個比較有代表性的算法,技術(shù)人員可以看看他的論文和代碼。
算法論文代碼GAN論文地址代碼地址DCGAN論文地址代碼地址CGAN論文地址代碼地址CycleGAN論文地址代碼地址CoGAN論文地址代碼地址ProGAN論文地址代碼地址WGAN論文地址代碼地址SAGAN論文地址代碼地址BigGAN論文地址代碼地址
上面內(nèi)容整理自《Generative Adversarial Networks – The Story So Far》原文中對算法有一些粗略的說明,感興趣的可以看看。
GANs 的13種實際應(yīng)用
GANs 看上去不如「語音識別」「文本挖掘」那么直觀。不過他的應(yīng)用已經(jīng)進入到我們的生活中了。下面給大家列舉一些 GANs 的實際應(yīng)用。
生成圖像數(shù)據(jù)集
人工智能的訓(xùn)練是需要大量的數(shù)據(jù)集的,如果全部靠人工收集和標(biāo)注,成本是很高的。GANs 可以自動的生成一些數(shù)據(jù)集,提供低成本的訓(xùn)練數(shù)據(jù)。
生成人臉照片
生成人臉照片是大家很熟悉的應(yīng)用,但是生成出來的照片用來做什么是需要思考的問題。因為這種人臉照片還處于法律的邊緣。
生成照片、漫畫人物
GANs 不但能生成人臉,還能生成其他類型的照片,甚至是漫畫人物。
圖像到圖像的轉(zhuǎn)換
簡單說就是把一種形式的圖像轉(zhuǎn)換成另外一種形式的圖像,就好像加濾鏡一樣神奇。例如:
- 把草稿轉(zhuǎn)換成照片
- 把衛(wèi)星照片轉(zhuǎn)換為Google地圖的圖片
- 把照片轉(zhuǎn)換成油畫
- 把白天轉(zhuǎn)換成黑夜
文字到圖像的轉(zhuǎn)換
在2016年標(biāo)題為“ StackGAN:使用 StackGAN 的文本到逼真照片的圖像合成 ”的論文中,演示了使用 GAN,特別是他們的 StackGAN,從鳥類和花卉等簡單對象的文本描述中生成逼真的照片。
語意 – 圖像 – 照片 的轉(zhuǎn)換
在2017年標(biāo)題為“ 高分辨率圖像合成和帶條件GAN的語義操縱 ”的論文中,演示了在語義圖像或草圖作為輸入的情況下使用條件GAN生成逼真圖像。
自動生成模特
在2017年標(biāo)題為“ 姿勢引導(dǎo)人形象生成 ”的論文中,可以自動生成人體模特,并且使用新的姿勢。
照片到Emojis
GANs 可以通過人臉照片自動生成對應(yīng)的表情(Emojis)。
照片編輯
使用GANs可以生成特定的照片,例如更換頭發(fā)顏色、更改面部表情、甚至是改變性別。
預(yù)測不同年齡的長相
給一張人臉照片, GANs 就可以幫你預(yù)測不同年齡階段你會長成什么樣。
提高照片分辨率,讓照片更清晰
給GANs 一張照片,他就能生成一張分辨率更高的照片,使得這個照片更加清晰。
照片修復(fù)
假如照片中有一個區(qū)域出現(xiàn)了問題(例如被涂上顏色或者被抹去),GANs可以修復(fù)這個區(qū)域,還原成原始的狀態(tài)。
自動生成3D模型
給出多個不同角度的2D圖像,就可以生成一個3D模型。
總結(jié)
以上是生活随笔為你收集整理的判别两棵树是否相等 设计算法_一文看懂生成对抗网络 - GANs?(附:10种典型算法+13种应用)...的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux通讯录软件带头像,小程序新技能
- 下一篇: css 动态生成圆形区域内扇形个数_CS