
發布
注冊
/
登錄生成式對抗網絡的案例
生成式對抗網絡 (GAN) |簡介
?
生成對抗網絡 (GAN) 由 Ian Goodfellow 于 2014 年首次提出。GAN 是一類功能強大的神經網絡,用于無監督學習。GAN 可以創造任何東西,無論你提供給他們什么,因為它是 Learn-Generate-Improve。要首先了解 GAN,您必須對
卷積神經網絡知之甚少。如果將圖像饋送到 CNN,CNN 經過訓練可以根據圖像的標簽對圖像進行分類,它會逐個像素分析圖像并通過 CNN 隱藏層中存在的節點,作為輸出,它會告訴圖像是關于什么的或它在圖像中看到什么。例如:如果 CNN 經過訓練對狗和貓進行分類,并且圖像被提供給該 CNN,它可以判斷該圖像中是狗還是貓。因此,它也可以稱為分類算法。GAN 有何不同?GAN 可以分為兩部分,即 Generator 和 Discriminator。鑒別器–GANs 的這一部分可以被認為類似于 CNN 的作用。判別器是一個卷積神經網絡,由許多隱藏層和一個輸出層組成,這里的主要區別是 GAN 的輸出層只能有兩個輸出,這與 CNN 不同,CNN 可以有相對于它訓練的標簽數量的輸出。判別器的輸出可以是 1 或 0,因為為此任務專門選擇了激活函數,如果輸出為 1,則提供的數據是真實的,如果輸出為 0,則將其稱為假數據。Discriminator 在真實數據上進行訓練,因此它學會識別實際數據的外觀以及數據應該將哪些特征歸類為真實數據。 發電機–從名稱本身,我們可以理解它是一種生成算法。Generator 是一個逆卷積神經網絡,它的作用與 CNN 完全相反,因為在 CNN 中,實際圖像作為輸入給出,分類標簽預期作為輸出,但在 Generator 中,隨機噪聲(具有一些確切值的向量)作為該逆 CNN 的輸入,實際圖像預期作為輸出。簡單來說,它利用自己的想象力從一段數據中生成數據。
展開 生成對抗網絡的用例
圖像合成:從給定的數據分布(如人臉、風景或動物)生成新的逼真圖像。
文本到圖像合成:從文本描述(如場景描述、對象描述或屬性)生成圖像。
圖像到圖像轉換:將圖像從一個域轉換到另一個域,例如將灰度圖像轉換為彩色、更改場景的季節或將草圖轉換為逼真的圖像。
異常檢測:識別數據中的異常或異常值,例如檢測金融交易中的欺詐、檢測網絡入侵或識別醫學成像中的醫療狀況。
數據增強:增加用于訓練深度學習模型的數據集的大小和多樣性,例如在計算機視覺、語音識別或自然語言處理中。
視頻合成:從給定的數據分布(例如人類動作序列、動物行為或動畫序列)生成新的逼真視頻序列。
音樂合成:從給定的數據分布(如音樂流派、風格或樂器)生成新的原創音樂。
3D 模型合成:從給定的數據分布(例如對象、場景或形狀)生成新的逼真 3D 模型。
生成對抗網絡 (GAN) 最流行的是從給定的圖像數據集生成圖像,但除此之外,GAN 現在還用于各種應用。這些是一類神經網絡,具有一個鑒別器塊和一個生成器塊,它們協同工作,除了對樣本類別進行分類或預測之外,還能夠生成新樣本。
一些新發現的 GAN 用例包括:
安全:事實證明,人工智能對許多行業來說都是一個福音,但它也受到網絡威脅問題的困擾。事實證明,GAN 對處理對抗性攻擊有很大幫助。對抗性攻擊使用各種技術來欺騙深度學習架構。通過創建虛假示例并訓練模型來識別它們,我們可以應對這些攻擊。
使用 GAN 生成數據:數據是任何深度學習算法中最重要的關鍵。一般來說,數據越多,任何深度學習算法的性能就越好。但是在許多情況下,例如健康診斷,數據量受到限制,在這種情況下,需要生成高質量的數據。正在使用 GAN 的用途。
隱私保護: 在許多情況下,我們的數據需要保密。這在國防和軍事應用中特別有用。
展開 使用 Keras 庫構建生成對抗網絡 ¥2
<div contenteditable="false" width="100%">
演示如何使用 Keras 庫構建生成對抗網絡。使用的數據集是預加載到 Keras 中的 CIFAR10 Image 數據集。您可以在此處閱讀有關數據集的信息。
</div><div contenteditable="false" width="100%">
<br>
</div><p><br></p>
展開 計算機視覺必讀:目標跟蹤、網絡壓縮、圖像分類、人臉識別等
生成式對抗網絡(generative adversarial networks, GAN)由于學習數據分布十分困難,生成式對抗網絡繞開這一步驟,直接生成新的圖像。生成式對抗網絡使用一個生成網絡G從隨機噪聲中生成圖像,以及一個判別網絡D判斷其輸入圖像是真實/偽造圖像。在訓練時,判別網絡D的目標是能判斷真實/偽造圖像,而生成網絡G的目標是使得判別網絡D傾向于判斷其輸出是真實圖像。實際中,直接訓練生成式對抗網絡會遇到mode collapse問題,即生成式對抗網絡無法學到完整的數據分布。隨后,出現了LS-GAN和W-GAN的改進。和變分自編碼器相比,生成式對抗網絡的細節信息更好。以下鏈接整理了許多和生成式對抗網絡有關的論文:hindupuravinash/the-gan-zoo。以下鏈接整理了許多訓練生成式對抗網絡的其技巧:soumith/ganhacks。
視頻分類(video classification)
前面介紹的大部分任務也可以用于視頻數據,這里僅以視頻分類任務為例,簡要介紹處理視頻數據的基本方法。
多幀圖像特征匯合 這類方法將視頻看成一系列幀的圖像組合。網絡同時接收屬于一個視頻片段的若干幀圖像(例如15幀),并分別提取其深度特征,之后融合這些圖像特征得到該視頻片段的特征,最后進行分類。實驗發現,使用"slow fusion"效果最好。
展開 
【建議收藏】CV學習路徑推薦
04 GAN
生成式對抗網絡模型被譽為“下一代深度學習框架”,是目前最強大的生成式模型,已在圖像視頻生成、增強、編輯等應用領域廣泛落地。每隔一段時間網絡上就會出現關于其神奇效果的相關報道,比如換臉、繪畫、讓人物跳舞、老片修復、以及讓照片人臉動起來等等。這其中,圖像增強可謂是GAN落地最成熟的一個方向。此外,數據爬取、數據分析篩選、模型批量調參、模型快速部署等算法工程師必備技能也是本項目的重點。
推薦項目:圖像增強經典超分辨率任務均衡Cifar分類項目
學習和探索GAN技術是如何在企業中一步步落地,解決客戶的實際需求。
基于決策規劃模型的車輛軌跡預測學習方法
首先將每個目標與其相應的可達路徑關聯起來,然后根據目標的狀態和地圖拓撲信息直接生成跟蹤預測軌跡。然而,它不能捕捉廣泛存在于交互驅動場景中的多智能體交互。為了更好地從道路環境和交通參與者中獲取信息,許多基于學習的工作[8,11,26]通過把交通實體表現為不同的顏色或強度,將原始輸入數據轉換為柵格化圖像,使其能夠利用卷積神經網絡進行編碼。最近的研究[14,22,41]提出使用向量化的場景上下文作為節點來構建圖,然后使用圖神經網絡進行處理。向量化表示更明確地利用了高清地圖信息,提高了預測精度。與這些方法不同的是,我們通過一個分層結構來解決地圖環境信息與交通參與者的交互關系建模,該結構融合了[44]中的車道關聯思想,同時擴展到學習全局場景上下文信息。具體來說,我們的預測生成器在局部以規劃的方式在可到達的路徑上為目標車輛生成軌跡集。接下來,我們的預測軌跡判別器通過對所有車道的聚合學習,獲得對場景上下文的全局理解條件軌跡和地圖特征。
生成多模態軌跡是軌跡預測的另一個核心挑戰。為了解釋內在的多模態分布,一系列工作建立在隨機模型上,如條件變分自編碼器(CVAEs)[20,30,17,36,5]或生成式對抗網絡(GANs)[15,32,42]來繪制軌跡樣本。盡管它們的性能極具競爭力,但在推斷時隱性變量采樣不可控的缺點使它們無法部署在對安全要求極高的駕駛場景中。確定性方法大多基于多模態軌跡回歸[10,4,8,22]。為了緩解預測學習中的模式坍塌,最近提出的框架將任務分解為錨定軌跡[6]或目標條件軌跡[41]不同類別,然后進行軌跡偏移回歸。然而,神經網絡回歸軌跡并沒有可行性保證。CoverNet[26]試圖通過將多模態預測定義為預先構造的軌跡集上的純粹分類來滿足特定的物理需求,但其預測可能會違背交通參與者的實時狀態或交通環境限制。
展開 自動駕駛系統中視覺感知模塊的安全測試
,但是對于具有高度非線性系統的深度學習系統,這樣的方法顯然是不適用的.除此之外,Wicker利用兩者博弈的想法,通過操縱圖片上的像素點,利用蒙特卡洛樹搜索博弈的漸進最優策略,來尋找造成模型出錯的反例.這樣的搜索策略的搜索空間是像素級的,搜索結果不具備在現實中的真實性.
1.4基于真實數據的測試方法
基于真實數據的測試方法主要分為2種:1)通過收集大量的用戶駕駛數據來改善其自動駕駛系統的質量,如Tesla;2)實景測試,在真實的公路環境下使用原型車輛進行測試,考慮到安全因素,該方法的測試條件比較嚴格.這些方法除了數據收集的成本較高外,收集到的數據分布也十分有限,這使得測試系統無法檢測出自動駕駛系統在新環境中的安全性;同時過度收集的駕駛數據也存在侵犯用戶隱私的問題.
1.5基于生成數據的測試方法
基于生成數據的測試方法主要分為2種:1)基于生成式對抗網絡(generativeadversarialnetworks,GAN),在DepRoad中,考慮將正常天氣的道路場景變換到雨雪天氣下,從而測試系統在雨雪天氣下的安全性,但其生成方法的場景豐富度存在不足,也無法實現場景內容的靈活控制;2)基于實時渲染引擎創建測試場景.Richer利用游戲GTAGV來創建自動駕駛數據集,Sythia使用Unity引擎合成數據集,CARLA0.8.X使用UnrealEngine創建用于測試系統的駕駛線路.這些工作的問題在于,測試的場景是預先定義好的,不能或只能很有限地對場景進行調整,這樣的工作沒有充分利用實時渲染可以動態調整場景的特點.特別是,使用固定的駕駛場景進行測試,很難對所有可能的場景進行覆蓋.
展開 一文熟悉視頻目標跟蹤
生成式模型僅僅使用前景的目標信息來構造跟蹤模型,通過衡量候選樣本的重構誤差或相似性來挑選最優樣本。常見的生成式跟蹤框架包含稀疏表達、子空間學習等。判別式跟蹤器同時考慮前景信息和背景信息,以學習到具有區分力的跟蹤模型。常見的判別式跟蹤器包括隨機森林分類器、SVM跟蹤器、相關濾波器、分類式神經網絡、雙路網絡等。由于同時利用了前景和背景信息,判別式模型憑借其優異的區分能力成為跟蹤領域的主流,并在性能上遠遠超過生成式跟蹤算法。接下來的內容主要介紹近年來流行的生成式和判別式跟蹤器。
1.生成式模型
基于子空間學習的跟蹤算法:
該類算法的核心思想在于將特征從高維到低維進行映射,從而構造一系列子空間對目標外觀進行建模,進一步計算候選樣本在子空間下的重構誤差或相似性以挑選出最可能的目標。
Black等人最早利用子空間學習搭建視覺跟蹤算法,并提出了基于不同視角、光照樣本下的子空間學習方案進行外觀建模。
由于該算法需要大量的先驗知識,因而不適合實際應用場景。
IVT算法采用了增量主成分分析來更新子空間,以適應目標的外觀變化。
Yu等人進一步將増量流型子空間算法引入到視覺跟蹤領域,以同時保持多個子空間。
基于稀疏表達的跟蹤算法:自從稀疏表達算法在人臉識別中大放異彩,基于稀疏表達的目標跟蹤受到了廣泛關注。Mei等人較早地使用基于l1范數的稀疏表達模型對目標進行建模,通過使用初始幀和后續跟蹤得到的正樣本構造稀疏表達字典,并衡量候選樣本在字典集下的重構誤差來選擇其中最可能的目標。
展開