幸运快三APP

    <cite id="tzrsm"><legend id="tzrsm"><optgroup id="tzrsm"></optgroup></legend></cite>
    

      <meter id="tzrsm"><ol id="tzrsm"></ol></meter>
    1. <dl id="tzrsm"><legend id="tzrsm"><blockquote id="tzrsm"></blockquote></legend></dl>
      <var id="tzrsm"><ol id="tzrsm"></ol></var>
        <output id="tzrsm"><legend id="tzrsm"></legend></output>

        <var id="tzrsm"><ol id="tzrsm"><big id="tzrsm"></big></ol></var>

          <meter id="tzrsm"><ol id="tzrsm"></ol></meter><var id="tzrsm"></var>

          一文看懂生成對抗網絡 – GANs?(基本原理+10種典型算法+13種應用)

          一文看懂生成對抗網絡 GANs

          本文首發自 easyAI – 人工智能知識庫

          原文地址:《一文看懂生成對抗網絡 – GANs?(基本原理+10種典型算法+13種應用)

          一文看懂生成對抗網絡GANs

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

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

          GANs的設計初衷

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

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

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

          傳統機器學習和深度學習的核心區別

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

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

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

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

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

          大白話版本

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

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

          警察嚴打導致小偷水平提升

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

          經常提升技能,更多小偷被抓

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

          同時得到了最強的小偷和最強的警察

          非大白話版本

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

          1. 生成器(Generator):通過機器生成數據(大部分情況下是圖像),目的是“騙過”判別器
          2. 判別器(Discriminator):判斷這張圖像是真實的還是機器生成的,目的是找出生成器做的“假數據”
          生成對抗網絡GANs由生成器和判別器構成

          下面詳細介紹一下過程:

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

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

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

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

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

          固定判別器,訓練生成器

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

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

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

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

          固定生成器,訓練判別器

          循環階段一和階段二

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

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

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

          循環訓練,2遍越來越強

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

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

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

          GANs的優缺點

          3個優勢

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

          2個缺陷

          1. 難訓練,不穩定。生成器和判別器之間需要很好的同步,但是在實際訓練中很容易D收斂,G發散。D/G 的訓練需要精心的設計。
          2. 模式缺失(Mode Collapse)問題。GANs的學習過程可能出現模式缺失,生成器開始退化,總是生成同樣的樣本點,無法繼續學習。

          擴展閱讀:《為什么訓練生成對抗網絡如此困難?》閱讀這篇文章對數學要求很高

          10大典型的GANs算法

          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生成人臉的矢量算法案例

          生成人臉照片

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

          2014年至2017年GANs能力進展的實例

          生成照片、漫畫人物

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

          GANs生成的照片
          GANs生成的漫畫人物

          圖像到圖像的轉換

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

          • 把草稿轉換成照片
          • 把衛星照片轉換為Google地圖的圖片
          • 把照片轉換成油畫
          • 把白天轉換成黑夜
          用pix2pix從草圖到彩色照片的示例
          GANs應用-照片到油畫、馬到斑馬、冬天到夏天、照片到google地圖

          文字到圖像的轉換

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

          從StackGAN獲取鳥類的文本描述和GAN生成照片的示例

          語意 – 圖像 – 照片 的轉換

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

          語義圖像和GAN生成的城市景觀照片的示例

          自動生成模特

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

          GAN生成了新的模特姿勢

          照片到Emojis

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

          名人照片和GAN生成的表情符號示例

          照片編輯

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

          使用IcGAN編輯照片的效果

          預測不同年齡的長相

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

          用具有不同表觀年齡的GAN生成的面部照片的示例

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

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

          GANs在原始照片的基礎上增加分辨率,使照片更清晰

          照片修復

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

          遮住照片中間的一部分,GANs可以很好的修復

          自動生成3D模型

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

          從2D圖像到3D椅子模型的建立過程

          此站點使用Akismet來減少垃圾評論。了解我們如何處理您的評論數據。

          洛阳| 松原| 北塔山| 潞西| 隆昌| 修文| 高安| 酒泉| 穆棱| 东川| 淮阳| 华蓥山| 麦盖提| 中环| 那曲| 三水| 怀柔| 浑源| 镇安| 青龙| 呼和浩特市郊区| 茌平| 泰安| 华亭| 定日| 穆棱| 肃南| 丰顺| 石楼| 涟源| 富锦| 霍林郭勒| 常州| 乌拉特中旗| 汉源| 栾城| 尚义| 屏边| 昌江| 通道| 五河| 大名| 肇庆| 福山| 佛山| 台儿庄| 四会| 加格达奇| 涠洲岛| 苏家屯| 文山| 迁安| 逊克| 大安| 盘锦| 冷水滩| 平安| 那日图| 永兴| 麦积| 河南| 株洲县| 张家口| 乌恰| 汤河口| 浩尔吐| 延长| 灵宝| 遂溪| 思南| 兴化| 丁青| 满都拉| 肥西| 娄底| 平罗| 保定| 澄海| 武都| 盐边| 白水| 红安| 多伦| 威海| 忻城| 吴桥| 海兴| 柳河| 鲁甸| 蕉岭| 梅州| 西连岛| 中泉子| 汇川| 棠荫| 狮泉河| 长乐| 静海| 洪江| 五莲| 茫崖| 陇川| 伊和郭勒| 武穴| 浚县| 宜昌县| 代县| 广平| 杜蒙| 花垣| 阳信| 法库| 肥西| 盘锦| 湘乡| 延安| 资阳| 头道湖| 青县| 大通| 安阳| 濮阳| 吴县东山| 长海| 高碑店| 南充| 长泰| 远安| 吐鲁番东坎| 铜锣湾| 德州| 增城| 单县| 张家界| 宜兰| 岗子| 沧源| 济南| 宾川| 霸州| 临城| 左贡| 临泽| 渭源| 子长| 拜泉| 鄂伦春旗| 拉孜| 阿荣旗| 西吉| 兴城| 萍乡| 蓝田| 防城港| 民勤| 临澧| 汤河口| 固阳| 芮城| 怀集| 太华山| 寿宁| 凤庆| 慈利| 尉氏| 冷水滩| 泾川| 鄂托克旗| 苏尼特右旗| 民权| 彬县| 惠水| 满都拉| 图们| 灵武| 广丰| 乐东| 呼图壁| 五原| 麦盖提| 巴盟农试站| 怒江| 德江| 西连岛| 沐川| 岱山| 石岛| 贡山| 炉山| 合作| 简阳| 围场| 阳新| 金平| 平泉| 庆阳| 蕲春| 广德| 东宁| 梁平| 龙陵| 巧家| 普格| 建瓯| 渭源| 武川| 修文| 焉耆| 普宁| 平潭海峡大桥| 屏山| 北道区| 临沭| 霍山| 顺德| 阿鲁科尔沁旗| 万州天城| 临泽| 竹溪| 崇庆| 务川| 屏南| 鹤壁| 吉县| 昭平| 安县| 东山| 华县| 昭觉| 沁县| 镇海| 额尔古纳| 耿马| 磁县| 南城| 乐至| 陈家镇| 吉安| 务川| 会昌| 弋阳| 张家港| 陵水| 新竹市| 江西沟| 资阳| 郸城| 靖宇| 沭阳| 霍林郭勒| 于洪| 托里| 嵊州| 凉城| 张家港| 获嘉| 南木林| 龙陵| 龙胜| 沅陵| 鄞州| 丹徒| 潼关| 永善| 繁昌| 平凉| 呼中| 郎溪| 陈巴尔虎旗| 平阴| 莆田| 昌平| 襄垣| 互助| 大田| 新邵| 会同| 汕头| 郫县| 秀屿港| 禄劝| 峡江| 嘉鱼| 安平| 三水| 朝城| 德庆| 惠农| 石岛| 黄平| 高邑| 小灶火| 汝南| 兴义| 川沙| 皮口| 博克图| 东至| 临澧| 弥勒| 安乡| 大田| 沈丘| 四子王旗| 阳城| 宁城| 东兴| 塔什库尔干| 三峡| 青龙| 奉化| 宁城| 海西| 钟祥| 天河| 象州| 通什| 依安| 嘉荫| 玉山| 湄潭| 海安| 玛纳斯| 城固| 大港| 吕泗渔场| 襄城| 宝过图| 宝坻| 崆峒| 甘洛| 喀喇沁旗| 三穗| 岗子| 华山| 永登| 湟中| 红柳河| 南华| 文山| 金沙| 南乐| 太原| 阿图什| 叶城| 通化县| 于洪| 宿州| 太原| 泉州| 阿木尔| 祁门| 勐海| 千阳| 灌南| 都昌| 绥宁| 澄海| 潮阳| 南县| 慈利| 三门| 通渭| 红柳河| 澄城| 公馆| 盖州| 新建| 霍尔果斯| 井陉| 独山| 义县| 鄯善| 惠水| 镇沅| 沙坪坝| 英吉沙| 衡山| 绵阳| 白玉| 沅江| 大丰| 潍坊| 巴雅尔吐胡硕| 漳平| 定日| 肇州| 睢阳区| 怀仁| 泸西| 德州| 闽清| 潞江坝| 岷县| 桐梓| 大理| 天河| 桃江| 东至| 涟水