0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

GAN原理及其在半監(jiān)督學(xué)習(xí)中的意義

zhKF_jqr_AI ? 來(lái)源:未知 ? 作者:李倩 ? 2018-09-24 09:44 ? 次閱讀

編者按:《GANs in Action》作者Jakub Langr簡(jiǎn)述了對(duì)抗生成網(wǎng)絡(luò)原理及其在半監(jiān)督學(xué)習(xí)中的意義。

在許多研究人員和我的朋友看來(lái),對(duì)抗生成學(xué)習(xí)/網(wǎng)絡(luò)(Generative Adverserial Learning/Networks,GANs)很可能是AI的未來(lái)發(fā)展方向之一。GAN在商業(yè)上有很清晰的吸引力:可以基于較少的數(shù)據(jù)訓(xùn)練,可以創(chuàng)建迷人的應(yīng)用(例如3D模型生成),有大量研究潛力。

本文包括一定的技術(shù)內(nèi)容,也有一些高層的偽代碼,但我將盡力讓這篇文章容易理解,也希望這篇文章不會(huì)太枯燥。

你想擠上AI這趟車嗎?

GAN這一切都是最前沿的內(nèi)容,本文提到的一些內(nèi)容甚至是一兩年前剛在學(xué)術(shù)期刊上發(fā)布的內(nèi)容。所以,除非你是這方面的博后,初次接觸GAN可能會(huì)讓你覺(jué)得不同尋常(至少對(duì)我來(lái)說(shuō)是這樣的)。同時(shí)這也意味著其中有一些研究沒(méi)有對(duì)應(yīng)的理論,你需要應(yīng)對(duì)一些超奇怪的bug. 不過(guò)因?yàn)槲易罱瓿闪耍ê冒?,我真的很喜歡上MOOC)Parag Mital開(kāi)設(shè)的非常棒的Creative Applications of Deep Learning with TensorFlow(基于TensorFlow的深度學(xué)習(xí)創(chuàng)意應(yīng)用)課程,我決定分享一些我學(xué)到的東西。

半監(jiān)督學(xué)習(xí)大致上指在訓(xùn)練中同時(shí)使用標(biāo)注過(guò)的(監(jiān)督)和未標(biāo)注過(guò)的(無(wú)監(jiān)督)樣本,這是一個(gè)比較老的概念了。它的核心思想意義很大:在典型的監(jiān)督設(shè)定下,我們有大量沒(méi)有使用的數(shù)據(jù)。例如,在房?jī)r(jià)(標(biāo)注)數(shù)據(jù)上的線性回歸。我們都明白線性回歸可以生成房?jī)r(jià),但大多數(shù)房子沒(méi)有出售,然而我們也許仍然能取得相關(guān)數(shù)據(jù),比如從城市規(guī)劃數(shù)據(jù)中獲取。這些數(shù)據(jù)可以給我們提供更多的信息,例如對(duì)比不同區(qū)域,哪里的房子相對(duì)而言供不應(yīng)求,哪里大面積的房子更多。不以某種形式利用這些數(shù)據(jù)很蠢,但傳統(tǒng)的算法沒(méi)法使用它們。

因此,半監(jiān)督學(xué)習(xí)(SSL)意味著使用不同技術(shù)以某種方式在機(jī)器學(xué)習(xí)(ML)模型的訓(xùn)練中添加這些數(shù)據(jù)。這并非微不足道:如果把訓(xùn)練ML想象出創(chuàng)建一棵決策樹(shù),接著通過(guò)檢查是否得出正確答案評(píng)估決策樹(shù)的表現(xiàn)。那么,很不幸,在未標(biāo)注數(shù)據(jù)上,沒(méi)有正確答案(因?yàn)樵跀?shù)據(jù)收集期間房子未曾出售),所以沒(méi)法進(jìn)行學(xué)習(xí),因?yàn)镸L算法無(wú)法連接正確答案(因此無(wú)法計(jì)算損失)。在這篇文章中,我希望集中討論其中一種稱為對(duì)抗生成網(wǎng)絡(luò)的SSL技術(shù)。

GAN有兩個(gè)網(wǎng)絡(luò)組成。第一個(gè)網(wǎng)絡(luò)創(chuàng)建世界的內(nèi)在版本(即通常房子是什么樣的):這稱為生成模型(G),基本上它基于一切數(shù)據(jù)學(xué)習(xí),因?yàn)樗恍枰?a target="_blank">標(biāo)簽,只需要數(shù)據(jù)集中典型房屋的所有特征。第二個(gè)網(wǎng)絡(luò),稱為判別器(D),和G對(duì)抗,同時(shí)從真實(shí)數(shù)據(jù)集和生成器生成的房屋樣本中取樣,決定數(shù)據(jù)看起來(lái)是不是真的。

換句話說(shuō),想象我們正在嘗試標(biāo)注貓或狗,在這一情形下,G將學(xué)習(xí)如何生成圖像,并逐漸使生成的圖像越來(lái)越像貓或狗。

接著,我們大致上讓G和D互相競(jìng)爭(zhēng),以產(chǎn)生最好的結(jié)果:我們希望每次G變得更好時(shí),D也能變得更好,相互匹配(我們需要確保G或D沒(méi)有勝出對(duì)方太多)。這也正是驅(qū)動(dòng)AlphaGo的核心原則之一?;旧?,我們讓G生成圖像,讓D對(duì)此加以評(píng)判。所以G會(huì)傳遞一組圖像給D,而D會(huì)輸出0或1(代表真假)并傳回G。接著G會(huì)根據(jù)哪些圖像騙過(guò)了D、哪些沒(méi)騙過(guò)而努力生成更好的樣本。

來(lái)源:KDNuggets.com

所以我希望你明白了上面的過(guò)程,我們可以基于大量未標(biāo)注數(shù)據(jù)構(gòu)建一個(gè)生成器,并讓它學(xué)習(xí)數(shù)據(jù)的某些結(jié)構(gòu)(即,典型樣本看起來(lái)是什么樣的),接著讓它在競(jìng)爭(zhēng)中使生成數(shù)據(jù)盡可能接近真實(shí)數(shù)據(jù)。經(jīng)過(guò)這一過(guò)程,我們可能得到一些看起來(lái)相當(dāng)不錯(cuò)的合成數(shù)據(jù),這些合成數(shù)據(jù)的數(shù)量幾乎是無(wú)限的。另外,我想指出(省略大量說(shuō)明):生成器只能生成和之前見(jiàn)過(guò)的數(shù)據(jù)相似的數(shù)據(jù)。人們很容易忘記這點(diǎn),沒(méi)有魔法。

請(qǐng)會(huì)拉丁語(yǔ)的同學(xué)諒解 ;-)

從最高層的抽象看,這一切大概是這樣的:

# 獲取數(shù)據(jù)

real_data = pd.read('real_data.csv') # 形狀 (n樣本, n特征加標(biāo)簽)

unlabelled_data = pd.read('unlabelled_data.csv') # 形狀 (n樣本, n特征)

# 創(chuàng)建兩個(gè)對(duì)象

generator = GeneratorClass()

discriminator = DiscriminatorClass()

# 預(yù)訓(xùn)練生成器

generator.train(unlabelled_data)

# 獲取合成數(shù)據(jù)

synthetic_data = make_compete(generator, discriminator, real_data)

# 形狀 (任意數(shù)量, n特征)

好吧,細(xì)心的讀者可能會(huì)注意到我們沒(méi)有描述如何標(biāo)記生成樣本。理想情況下,我們想要生成標(biāo)注數(shù)據(jù)(例如,附帶價(jià)格的房屋,或者附帶物體描述的圖像)。感謝大量的訓(xùn)練實(shí)例,我們有辦法做到這點(diǎn)。如果你回頭看看之前的示意圖,你會(huì)看到其中提到了稱為“潛空間”的東西。潛空間是一種控制生成什么樣的圖像的方法。如果我們訓(xùn)練貓狗生成器,其中一個(gè)維度將控制圖像有多像貓/狗。它也允許我們獲取兩者之間的中間值,所以我們可以得到狗貓或者七分貓三分狗。換句話說(shuō),潛空間可以看成某種種子因素——為G提供一些初始輸入免得它總是生成一樣的東西,但是事實(shí)上這一種子因素具備一致的潛(“隱藏”)性質(zhì),特定的維度對(duì)應(yīng)某種意義的。

簡(jiǎn)單修改上面的偽代碼,以清楚地表明這一點(diǎn):

# 形狀 (任意數(shù)量, n特征)

synthetic_cats = make_compete(generator, discriminator,

real_data, input_noise=latent_feature_space.cat)

# 形狀 (任意數(shù)量, n特征)

synthetic_dogs = make_compete(generator, discriminator,

real_data, input_noise=latent_feature_space.dog)

最棒的地方在于,理論上,我們甚至不需要有為當(dāng)前任務(wù)標(biāo)注的數(shù)據(jù)就可以生成相應(yīng)樣本(不過(guò)有標(biāo)注數(shù)據(jù)會(huì)有很大幫助)。例如,我們可能有打上了好孩子和壞孩子的數(shù)據(jù),然后我們可以訓(xùn)練G生成貓或狗的新樣本(根據(jù)潛空間的一個(gè)參數(shù)決定是貓是狗),其中既有好孩子,也有壞孩子(基于潛空間的另一個(gè)參數(shù)決定)。比方說(shuō),我們可以基于圖像判斷狗的好壞(例如,如果我們看到狗破壞財(cái)物就標(biāo)記為壞孩子,否則就標(biāo)記為好孩子)。那么我們就可以在潛空間中發(fā)現(xiàn)對(duì)應(yīng)這些特征的參數(shù),然后通過(guò)插值生成貓狗或者狗貓。

再舉一個(gè)例子,我們可以下載大量未標(biāo)注的名人面部圖像,然后讓G生成面部,并通過(guò)操作潛空間得到明確的雄性樣本或雌性樣本,接著據(jù)此訓(xùn)練另一個(gè)識(shí)別雄性或雌性圖像的分類器(無(wú)需標(biāo)注過(guò)的數(shù)據(jù)?。┻@正是我曾經(jīng)做過(guò)的項(xiàng)目。你可能想要知道“我們?nèi)绾蔚玫讲煌瑢傩缘臐摽臻g表示?”很不幸,這個(gè)問(wèn)題的答案超出了本文的范圍。

唷,時(shí)候不早了:我希望給出一些可以實(shí)際運(yùn)行的代碼,這樣讀者可以自行試驗(yàn)。不過(guò),我覺(jué)得這篇博客文章已經(jīng)夠長(zhǎng)了,所以,對(duì)實(shí)際代碼感興趣的讀者,請(qǐng)?jiān)L問(wèn)我的另一篇博客文章:http://jakublangr.com/gans-code.html

想要加入對(duì)話?歡迎在jakublangr.com上評(píng)論,或者發(fā)推給我(langrjakub)。我正在撰寫(xiě)一本關(guān)于對(duì)抗生成網(wǎng)絡(luò)的書(shū),這里有一些樣章:www.manning.com/books/gans-in-action

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 圖像
    +關(guān)注

    關(guān)注

    2

    文章

    1075

    瀏覽量

    40270
  • GaN
    GaN
    +關(guān)注

    關(guān)注

    19

    文章

    1884

    瀏覽量

    71058
  • 深度學(xué)習(xí)
    +關(guān)注

    關(guān)注

    73

    文章

    5422

    瀏覽量

    120593

原文標(biāo)題:半監(jiān)督學(xué)習(xí)背景下的對(duì)抗生成網(wǎng)絡(luò)

文章出處:【微信號(hào):jqr_AI,微信公眾號(hào):論智】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    基于監(jiān)督學(xué)習(xí)的跌倒檢測(cè)系統(tǒng)設(shè)計(jì)_李仲年

    基于監(jiān)督學(xué)習(xí)的跌倒檢測(cè)系統(tǒng)設(shè)計(jì)_李仲年
    發(fā)表于 03-19 19:11 ?4次下載

    基于監(jiān)督學(xué)習(xí)框架的識(shí)別算法

    問(wèn)題,對(duì)半監(jiān)督學(xué)習(xí)的協(xié)同訓(xùn)練算法進(jìn)行改進(jìn),提出了一種基于多學(xué)習(xí)器協(xié)同訓(xùn)練模型的人體行為識(shí)別方法.這是一種基于監(jiān)督學(xué)習(xí)框架的識(shí)別算法,該方
    發(fā)表于 01-21 10:41 ?1次下載

    如何用Python進(jìn)行無(wú)監(jiān)督學(xué)習(xí)

    無(wú)監(jiān)督學(xué)習(xí)是一種用于在數(shù)據(jù)查找模式的機(jī)器學(xué)習(xí)技術(shù)。無(wú)監(jiān)督算法給出的數(shù)據(jù)不帶標(biāo)記,只給出輸入變量(X),沒(méi)有相應(yīng)的輸出變量。無(wú)
    的頭像 發(fā)表于 01-21 17:23 ?4138次閱讀

    谷歌:監(jiān)督學(xué)習(xí)其實(shí)正在悄然的進(jìn)化

    上圖可以看出來(lái),最開(kāi)始的時(shí)候,監(jiān)督學(xué)習(xí)訓(xùn)練確實(shí)有種提升監(jiān)督學(xué)習(xí)效果的趨勢(shì),然而實(shí)際操作,我們經(jīng)常陷入從“可怕又不可用”的狀態(tài),到“不那么可怕但仍然完全不可用”。
    的頭像 發(fā)表于 05-25 09:58 ?2851次閱讀
    谷歌:<b class='flag-5'>半</b><b class='flag-5'>監(jiān)督學(xué)習(xí)</b>其實(shí)正在悄然的進(jìn)化

    聚焦 | 新技術(shù)“紅”不過(guò)十年?監(jiān)督學(xué)習(xí)卻成例外?

    就目前來(lái)看,監(jiān)督學(xué)習(xí)是一個(gè)很有潛力的方向。
    的頭像 發(fā)表于 06-18 17:24 ?2435次閱讀

    機(jī)器學(xué)習(xí)算法中有監(jiān)督和無(wú)監(jiān)督學(xué)習(xí)的區(qū)別

    無(wú)監(jiān)督學(xué)習(xí)的好處之一是,它不需要監(jiān)督學(xué)習(xí)必須經(jīng)歷的費(fèi)力的數(shù)據(jù)標(biāo)記過(guò)程。但是,要權(quán)衡的是,評(píng)估其性能的有效性也非常困難。相反,通過(guò)將監(jiān)督學(xué)習(xí)算法的輸出與測(cè)試數(shù)據(jù)的實(shí)際標(biāo)簽進(jìn)行比較,可以很容易地衡量
    的頭像 發(fā)表于 07-07 10:18 ?5602次閱讀

    最基礎(chǔ)的監(jiān)督學(xué)習(xí)

    導(dǎo)讀 最基礎(chǔ)的監(jiān)督學(xué)習(xí)的概念,給大家一個(gè)感性的認(rèn)識(shí)。 監(jiān)督學(xué)習(xí)(SSL)是一種機(jī)器學(xué)習(xí)技術(shù),其中任務(wù)是從一個(gè)小的帶標(biāo)簽的數(shù)據(jù)集和相對(duì)較大
    的頭像 發(fā)表于 11-02 16:08 ?2532次閱讀

    監(jiān)督學(xué)習(xí)最基礎(chǔ)的3個(gè)概念

    導(dǎo)讀 今天給大家介紹監(jiān)督學(xué)習(xí)的3個(gè)最基礎(chǔ)的概念:一致性正則化,熵最小化和偽標(biāo)簽,并介紹了兩個(gè)經(jīng)典的監(jiān)督學(xué)習(xí)方法。 沒(méi)看一的點(diǎn)這里哈:
    的頭像 發(fā)表于 11-02 16:14 ?2861次閱讀
    <b class='flag-5'>半</b><b class='flag-5'>監(jiān)督學(xué)習(xí)</b>最基礎(chǔ)的3個(gè)概念

    為什么監(jiān)督學(xué)習(xí)是機(jī)器學(xué)習(xí)的未來(lái)?

    揭示了添加無(wú)監(jiān)督數(shù)據(jù)可以提高模型泛化和性能。事實(shí)上,非常多的場(chǎng)景,帶有標(biāo)簽的數(shù)據(jù)并不容易獲得。監(jiān)督學(xué)習(xí)可以
    的頭像 發(fā)表于 11-27 10:42 ?3804次閱讀

    監(jiān)督學(xué)習(xí):比監(jiān)督學(xué)習(xí)做的更好

    監(jiān)督學(xué)習(xí)是人工智能領(lǐng)域的第一種學(xué)習(xí)類型。從它的概念開(kāi)始,無(wú)數(shù)的算法,從簡(jiǎn)單的邏輯回歸到大規(guī)模的神經(jīng)網(wǎng)絡(luò),都已經(jīng)被研究用來(lái)提高精...
    的頭像 發(fā)表于 12-08 23:32 ?1315次閱讀

    機(jī)器學(xué)習(xí)的無(wú)監(jiān)督學(xué)習(xí)應(yīng)用在哪些領(lǐng)域

    監(jiān)督學(xué)習(xí)|機(jī)器學(xué)習(xí)| 集成學(xué)習(xí)|進(jìn)化計(jì)算| 非監(jiān)督學(xué)習(xí)| 監(jiān)督學(xué)習(xí)| 自
    發(fā)表于 01-20 10:52 ?4822次閱讀
    機(jī)器<b class='flag-5'>學(xué)習(xí)</b><b class='flag-5'>中</b>的無(wú)<b class='flag-5'>監(jiān)督學(xué)習(xí)</b>應(yīng)用在哪些領(lǐng)域

    監(jiān)督學(xué)習(xí)的一些思考

    監(jiān)督學(xué)習(xí)的流行是勢(shì)必然的。各種主流有監(jiān)督學(xué)習(xí)任務(wù)都做到很成熟之后,數(shù)據(jù)成了最重要的瓶頸。從無(wú)標(biāo)注數(shù)據(jù)中學(xué)習(xí)有效信息一直是...
    發(fā)表于 01-26 18:50 ?1次下載
    自<b class='flag-5'>監(jiān)督學(xué)習(xí)</b>的一些思考

    監(jiān)督學(xué)習(xí)代碼庫(kù)存在的問(wèn)題與挑戰(zhàn)

    ImageNet這一百萬(wàn)量級(jí)的數(shù)據(jù)集上,傳統(tǒng)的監(jiān)督學(xué)習(xí)方法可以達(dá)到超過(guò)88%的準(zhǔn)確率。然而,獲取大量有標(biāo)簽的數(shù)據(jù)往往費(fèi)時(shí)費(fèi)力。
    的頭像 發(fā)表于 10-18 16:28 ?1175次閱讀

    跨解剖域自適應(yīng)對(duì)比監(jiān)督學(xué)習(xí)方法解析

    監(jiān)督學(xué)習(xí),一個(gè)典型的例子是 Mean-Teacher。與對(duì)抗網(wǎng)絡(luò)類似,其整體架構(gòu)包含了兩個(gè)網(wǎng)絡(luò):teacher 網(wǎng)絡(luò)和 student 網(wǎng)絡(luò)。
    發(fā)表于 04-14 14:37 ?1149次閱讀

    深度學(xué)習(xí)的無(wú)監(jiān)督學(xué)習(xí)方法綜述

    應(yīng)用往往難以實(shí)現(xiàn)。因此,無(wú)監(jiān)督學(xué)習(xí)深度學(xué)習(xí)扮演著越來(lái)越重要的角色。本文旨在綜述深度學(xué)習(xí)
    的頭像 發(fā)表于 07-09 10:50 ?216次閱讀