日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

判别两棵树是否相等 设计算法_一文看懂生成对抗网络 - GANs?(附:10种典型算法+13种应用)...

發布時間:2025/3/15 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 判别两棵树是否相等 设计算法_一文看懂生成对抗网络 - GANs?(附:10种典型算法+13种应用)... 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

生成對抗網絡 – GANs 是最近2年很熱門的一種無監督算法,他能生成出非常逼真的照片,圖像甚至視頻。我們手機里的照片處理軟件中就會使用到它。

本文將詳細介紹生成對抗網絡 – GANs 的設計初衷、基本原理、10種典型算法和13種實際應用。

GANs的設計初衷

一句話來概括 GANs 的設計動機就是——自動化。

人工提取特征——自動提取特征

我們在《一文看懂深度學習(概念+優缺點+典型算法)》中講過,深度學習最特別最厲害的地方就是能夠自己學習特征提取。

機器的超強算力可以解決很多人工無法解決的問題。自動化后,學習能力更強,適應性也更強。

人工判斷生成結果的好壞——自動判斷和優化

我們在《監督學習》中講過,訓練集需要大量的人工標注數據,這個過程是成本很高且效率很低的。而人工判斷生成結果的好壞也是如此,有成本高和效率低的問題。

而 GANs 能自動完成這個過程,且不斷的優化,這是一種效率非常高,且成本很低的方式。GANs是如何實現自動化的呢?下面我們講解一下他的原理。

生成對抗網絡 GANs 的基本原理

大白話版本

知乎上有一個很不錯的解釋,大家應該都能理解:

假設一個城市治安混亂,很快,這個城市里就會出現無數的小偷。在這些小偷中,有的可能是盜竊高手,有的可能毫無技術可言。假如這個城市開始整飭其治安,突然開展一場打擊犯罪的「運動」,警察們開始恢復城市中的巡邏,很快,一批「學藝不精」的小偷就被捉住了。之所以捉住的是那些沒有技術含量的小偷,是因為警察們的技術也不行了,在捉住一批低端小偷后,城市的治安水平變得怎樣倒還不好說,但很明顯,城市里小偷們的平均水平已經大大提高了。

警察們開始繼續訓練自己的破案技術,開始抓住那些越來越狡猾的小偷。隨著這些職業慣犯們的落網,警察們也練就了特別的本事,他們能很快能從一群人中發現可疑人員,于是上前盤查,并最終逮捕嫌犯;小偷們的日子也不好過了,因為警察們的水平大大提高,如果還想以前那樣表現得鬼鬼祟祟,那么很快就會被警察捉住。

為了避免被捕,小偷們努力表現得不那么「可疑」,而魔高一尺、道高一丈,警察也在不斷提高自己的水平,爭取將小偷和無辜的普通群眾區分開。隨著警察和小偷之間的這種「交流」與「切磋」,小偷們都變得非常謹慎,他們有著極高的偷竊技巧,表現得跟普通群眾一模一樣,而警察們都練就了「火眼金睛」,一旦發現可疑人員,就能馬上發現并及時控制——最終,我們同時得到了最強的小偷和最強的警察。

非大白話版本

生成對抗網絡(GANs)由2個重要的部分構成:

  • 生成器(Generator):通過機器生成數據(大部分情況下是圖像),目的是“騙過”判別器
  • 判別器(Discriminator):判斷這張圖像是真實的還是機器生成的,目的是找出生成器做的“假數據”
  • 下面詳細介紹一下過程:

    第一階段:固定「判別器D」,訓練「生成器G」

    我們使用一個還 OK 判別器,讓一個「生成器G」不斷生成“假數據”,然后給這個「判別器D」去判斷。

    一開始,「生成器G」還很弱,所以很容易被揪出來。

    但是隨著不斷的訓練,「生成器G」技能不斷提升,最終騙過了「判別器D」。

    到了這個時候,「判別器D」基本屬于瞎猜的狀態,判斷是否為假數據的概率為50%。

    第二階段:固定「生成器G」,訓練「判別器D」

    當通過了第一階段,繼續訓練「生成器G」就沒有意義了。這個時候我們固定「生成器G」,然后開始訓練「判別器D」。

    「判別器D」通過不斷訓練,提高了自己的鑒別能力,最終他可以準確的判斷出所有的假圖片。

    到了這個時候,「生成器G」已經無法騙過「判別器D」。

    循環階段一和階段二

    通過不斷的循環,「生成器G」和「判別器D」的能力都越來越強。

    最終我們得到了一個效果非常好的「生成器G」,我們就可以用它來生成我們想要的圖片了。

    下面的實際應用部分會展示很多“驚艷”的案例。

    如果對 GANs 的詳細技術原理感興趣,可以看看下面2篇文章:

    《生成性對抗網絡(GAN)初學者指南 – 附代碼》

    《長文解釋生成對抗網絡GAN的詳細原理(20分鐘閱讀)》

    GANs的優缺點

    3個優勢

  • 能更好建模數據分布(圖像更銳利、清晰)
  • 理論上,GANs 能訓練任何一種生成器網絡。其他的框架需要生成器網絡有一些特定的函數形式,比如輸出層是高斯的。
  • 無需利用馬爾科夫鏈反復采樣,無需在學習過程中進行推斷,沒有復雜的變分下界,避開近似計算棘手的概率的難題。
  • 2個缺陷

  • 難訓練,不穩定。生成器和判別器之間需要很好的同步,但是在實際訓練中很容易D收斂,G發散。D/G 的訓練需要精心的設計。
  • 模式缺失(Mode Collapse)問題。GANs的學習過程可能出現模式缺失,生成器開始退化,總是生成同樣的樣本點,無法繼續學習。
  • 擴展閱讀:《為什么訓練生成對抗網絡如此困難?》閱讀這篇文章對數學要求很高

    10大典型的GANs算法

    GANs 算法有數百種之多,大家對于 GANs 的研究呈指數級的上漲,目前每個月都有數百篇論壇是關于對抗網絡的。

    下圖是每個月關于 GANs 的論文發表數量:

    如果你對 GANs 算法感興趣,可以在 「GANs動物園」里查看幾乎所有的算法。我們為大家從眾多算法中挑選了10個比較有代表性的算法,技術人員可以看看他的論文和代碼。

    算法論文代碼GAN論文地址代碼地址DCGAN論文地址代碼地址CGAN論文地址代碼地址CycleGAN論文地址代碼地址CoGAN論文地址代碼地址ProGAN論文地址代碼地址WGAN論文地址代碼地址SAGAN論文地址代碼地址BigGAN論文地址代碼地址

    上面內容整理自《Generative Adversarial Networks – The Story So Far》原文中對算法有一些粗略的說明,感興趣的可以看看。

    GANs 的13種實際應用

    GANs 看上去不如「語音識別」「文本挖掘」那么直觀。不過他的應用已經進入到我們的生活中了。下面給大家列舉一些 GANs 的實際應用。

    生成圖像數據集

    人工智能的訓練是需要大量的數據集的,如果全部靠人工收集和標注,成本是很高的。GANs 可以自動的生成一些數據集,提供低成本的訓練數據。

    生成人臉照片

    生成人臉照片是大家很熟悉的應用,但是生成出來的照片用來做什么是需要思考的問題。因為這種人臉照片還處于法律的邊緣。

    生成照片、漫畫人物

    GANs 不但能生成人臉,還能生成其他類型的照片,甚至是漫畫人物。

    圖像到圖像的轉換

    簡單說就是把一種形式的圖像轉換成另外一種形式的圖像,就好像加濾鏡一樣神奇。例如:

    • 把草稿轉換成照片
    • 把衛星照片轉換為Google地圖的圖片
    • 把照片轉換成油畫
    • 把白天轉換成黑夜

    文字到圖像的轉換

    在2016年標題為“ StackGAN:使用 StackGAN 的文本到逼真照片的圖像合成 ”的論文中,演示了使用 GAN,特別是他們的 StackGAN,從鳥類和花卉等簡單對象的文本描述中生成逼真的照片。

    語意 – 圖像 – 照片 的轉換

    在2017年標題為“ 高分辨率圖像合成和帶條件GAN的語義操縱 ”的論文中,演示了在語義圖像或草圖作為輸入的情況下使用條件GAN生成逼真圖像。

    自動生成模特

    在2017年標題為“ 姿勢引導人形象生成 ”的論文中,可以自動生成人體模特,并且使用新的姿勢。

    照片到Emojis

    GANs 可以通過人臉照片自動生成對應的表情(Emojis)。

    照片編輯

    使用GANs可以生成特定的照片,例如更換頭發顏色、更改面部表情、甚至是改變性別。

    預測不同年齡的長相

    給一張人臉照片, GANs 就可以幫你預測不同年齡階段你會長成什么樣。

    提高照片分辨率,讓照片更清晰

    給GANs 一張照片,他就能生成一張分辨率更高的照片,使得這個照片更加清晰。

    照片修復

    假如照片中有一個區域出現了問題(例如被涂上顏色或者被抹去),GANs可以修復這個區域,還原成原始的狀態。

    自動生成3D模型

    給出多個不同角度的2D圖像,就可以生成一個3D模型。

    總結

    以上是生活随笔為你收集整理的判别两棵树是否相等 设计算法_一文看懂生成对抗网络 - GANs?(附:10种典型算法+13种应用)...的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。