一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

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

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

基于網(wǎng)絡(luò)本身即可以生成數(shù)據(jù)能力的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)了解嘛?

新機(jī)器視覺(jué) ? 來(lái)源:新機(jī)器視覺(jué) ? 作者:George Seif ? 2022-05-24 16:08 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

生成對(duì)抗網(wǎng)絡(luò)(GANs,https://en.wikipedia.org/wiki/Generative_adversarial_network)是一類具有基于網(wǎng)絡(luò)本身即可以生成數(shù)據(jù)能力的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)。由于GANs的強(qiáng)大能力,在深度學(xué)習(xí)領(lǐng)域里對(duì)它們的研究是一個(gè)非常熱門(mén)的話題。在過(guò)去很短的幾年里,它們已經(jīng)從產(chǎn)生模糊數(shù)字成長(zhǎng)到創(chuàng)造如真實(shí)人像般逼真的圖像。

d70d1f78-da6f-11ec-ba43-dac502259ad0.pngd738fd28-da6f-11ec-ba43-dac502259ad0.jpg

1 GAN的工作方式


GANs屬于生成模型的一類(https://en.wikipedia.org/wiki/Generative_model)。這意味著它們能夠產(chǎn)生,或者說(shuō)是生成完全新的“有效”數(shù)據(jù)。有效數(shù)據(jù)是指網(wǎng)絡(luò)的輸出結(jié)果應(yīng)該是我們認(rèn)為可以接受的目標(biāo)。

舉例說(shuō)明,舉一個(gè)我們希望為訓(xùn)練一個(gè)圖像分類網(wǎng)絡(luò)生成一些新圖像的例子。當(dāng)然對(duì)于這樣的應(yīng)用來(lái)說(shuō),我們希望訓(xùn)練圖像越真實(shí)越好,可能在風(fēng)格上與其他圖像分類訓(xùn)練數(shù)據(jù)非常相似。

下面的圖片展示的例子是GANs已經(jīng)生成的一系列圖片。它們看起來(lái)非常真實(shí)!如果沒(méi)人告訴我們它們是計(jì)算機(jī)生成的,我們真可能認(rèn)為它們是人工搜集的。

d759a5dc-da6f-11ec-ba43-dac502259ad0.jpg

漸進(jìn)式GAN生成的圖像示例(圖源:https://arxiv.org/pdf/1710.10196.pdf)

為了做到這些,GANs是以兩個(gè)獨(dú)立的對(duì)抗網(wǎng)絡(luò)組成:生成器和判別器。當(dāng)僅將嘈雜的圖像陣列作為輸入時(shí),會(huì)對(duì)生成器進(jìn)行訓(xùn)練以創(chuàng)建逼真的圖像。別器經(jīng)過(guò)訓(xùn)練可以對(duì)圖像是否真實(shí)進(jìn)行分類。

GANs真正的能力來(lái)源于它們遵循的對(duì)抗訓(xùn)練模式。生成器的權(quán)重是基于判別器的損失所學(xué)習(xí)到的。因此,生成器被它生成的圖像所推動(dòng)著進(jìn)行訓(xùn)練,很難知道生成的圖像是真的還是假的。同時(shí),生成的圖像看起來(lái)越來(lái)越真實(shí),判別器在分辨圖像真實(shí)與否的能力變得越來(lái)越強(qiáng),無(wú)論圖像用肉眼看起來(lái)多么的相似。

從技術(shù)的角度來(lái)看,判別器的損失即是分類圖像是真是假的錯(cuò)誤值;我們正在測(cè)量它區(qū)分真假圖像的能力。生成器的損失將取決于它在用假圖像“愚弄”判別器的能力,即判別器僅對(duì)假圖像的分類錯(cuò)誤,因?yàn)樯善飨M撝翟礁咴胶谩?/span>

因此,GANs建立了一種反饋回路,其中生成器幫助訓(xùn)練判別器,而判別器又幫助訓(xùn)練生成器。它們同時(shí)變得更強(qiáng)。下面的圖表有助于說(shuō)明這一點(diǎn)。

d78eb3bc-da6f-11ec-ba43-dac502259ad0.png

生成對(duì)抗網(wǎng)絡(luò)的結(jié)構(gòu)說(shuō)明

2在PyTorch中訓(xùn)練GAN來(lái)生成數(shù)字


現(xiàn)在我們將通過(guò)一個(gè)例子來(lái)展示如何使用PyTorch建立和訓(xùn)練我們自己的GAN!MNIST數(shù)據(jù)集包含60000個(gè)訓(xùn)練數(shù)據(jù),數(shù)據(jù)是像素尺寸28x28的1-9的黑白數(shù)字圖片。這個(gè)數(shù)據(jù)集非常適合我們的用例,同時(shí)也是非常普遍的用于機(jī)器學(xué)習(xí)的概念驗(yàn)證以及一個(gè)非常完備的集合。

d7af8042-da6f-11ec-ba43-dac502259ad0.jpg

MNIST 數(shù)據(jù)部分集,圖源:https://www.researchgate.net/figure/A-subset-of-the-MNIST-database-of-handwritten-digits_fig4_232650721

我們將從import開(kāi)始,所需的僅僅是PyTorch中的東西。


												
import torch    from torch import nn, optim    from torch.autograd.variable import Variable
import torchvision    import torchvision.transforms as transforms

接下來(lái),我們?yōu)橛?xùn)練數(shù)據(jù)準(zhǔn)備DataLoader。請(qǐng)記住,我們想要的是為MNIST生成隨機(jī)數(shù)字,即從0到9。因此,我也將需要為這10個(gè)數(shù)字建立標(biāo)簽

d7d65f1e-da6f-11ec-ba43-dac502259ad0.png

現(xiàn)在我們可以開(kāi)始建立網(wǎng)絡(luò)了,從下面的Discriminator(判別器)網(wǎng)絡(luò)開(kāi)始,回想一下,判別器網(wǎng)絡(luò)是對(duì)圖像真實(shí)與否進(jìn)行分類——它是一個(gè)圖像分類網(wǎng)絡(luò)。因此,我們的輸入是符合標(biāo)準(zhǔn)MNIST大小的圖像:28x28像素。我們把這張圖像展平成一個(gè)長(zhǎng)度為784的。輸出是一個(gè)單獨(dú)的值,表示圖像是否是實(shí)際的MNIST數(shù)字。

d7ef1df6-da6f-11ec-ba43-dac502259ad0.png

接下來(lái)到了生成器部分。生成器網(wǎng)絡(luò)負(fù)責(zé)創(chuàng)建實(shí)際的圖像——它可以從一個(gè)純?cè)肼暤妮斎胱龅竭@一點(diǎn)!在這個(gè)例子中,我們要讓生成器從一個(gè)長(zhǎng)度為100的開(kāi)始——注意:這只是純隨機(jī)噪聲。從這個(gè),我們的生成器將輸出一個(gè)長(zhǎng)度為784的,稍后我們可以將其重塑為標(biāo)準(zhǔn)MNIST的28x28像素。

d8125726-da6f-11ec-ba43-dac502259ad0.png

為了建立訓(xùn)練過(guò)程,我們將需要做以下工作:
  • 1 . 損失函數(shù)
  • 2 . 每個(gè)網(wǎng)絡(luò)的優(yōu)化器
  • 3 . 訓(xùn)練次數(shù)
  • 4 . batch數(shù)量
如果我們希望網(wǎng)絡(luò)在GPU上執(zhí)行,PyTorch要求我們必須明確地把模型移動(dòng)到GPU上。這部分所有的代碼如下所示。d8632ae8-da6f-11ec-ba43-dac502259ad0.png現(xiàn)在開(kāi)始訓(xùn)練循環(huán)。PyTorch中的訓(xùn)練循環(huán)通常由一個(gè)遍歷各個(gè)訓(xùn)練周期的外部循環(huán)和一個(gè)遍歷batch數(shù)據(jù)的內(nèi)部循環(huán)組成。訓(xùn)練GAN的關(guān)鍵是我們需要在一個(gè)循環(huán)中更新生成器和判別器。查看下面的代碼來(lái)訓(xùn)練GAN和PyTorch。這些步驟在代碼下面有更詳細(xì)的描述。d891088c-da6f-11ec-ba43-dac502259ad0.pngd8ca7144-da6f-11ec-ba43-dac502259ad0.png(1)我們首先為判別器準(zhǔn)備 *real* 圖像數(shù)據(jù)。輸入的是一批真實(shí)的MNIST圖像。輸出全為1的,因?yàn)?表示圖像是真實(shí)的。

(2)接下來(lái),我們將為生成器準(zhǔn)備輸入量以便生成假圖像?;叵胍幌拢覀兊纳善骶W(wǎng)絡(luò)采用長(zhǎng)度為100的輸入向量,這就是我們?cè)谶@里所創(chuàng)建的向量。images.size(0)用于批處理大小。

(3)通過(guò)從步驟(2)中創(chuàng)建的隨機(jī)噪聲數(shù)據(jù)向量,我們可以繞過(guò)這個(gè)向量到生成器來(lái)生成假的圖像數(shù)據(jù)。這將結(jié)合我們從步驟1的實(shí)際數(shù)據(jù)來(lái)訓(xùn)練判別器。請(qǐng)注意,這次我們的標(biāo)簽向量全為0,因?yàn)?代表假圖像的類標(biāo)簽。

(4)通過(guò)假的和真的圖像以及它們的標(biāo)簽,我們可以訓(xùn)練我們的判別器進(jìn)行分類??倱p失將是假圖像的損失+真圖像的損失。

(5)現(xiàn)在我們的判別器已經(jīng)更新,我們可以用它來(lái)進(jìn)行預(yù)測(cè)。這些預(yù)測(cè)的損失將通過(guò)生成器反向傳播,這樣生成器的權(quán)重將根據(jù)它欺騙判別器的程度進(jìn)行具體更新

(5a)生成一些假圖像進(jìn)行預(yù)測(cè)

(5b)使用判別器對(duì)假圖像進(jìn)行分批次預(yù)測(cè)并保存輸出。

(6)使用判別器的預(yù)測(cè)訓(xùn)練生成器。注意,我們使用全為1的 _real_labels_ 作為目標(biāo),因?yàn)槲覀兊纳善鞯哪繕?biāo)是創(chuàng)建看起來(lái)真實(shí)的圖像并且預(yù)測(cè)為1!因此,生成器的損失為0將意味著判別器預(yù)測(cè)全1.

瞧,這就是我們訓(xùn)練GAN生成MNIST圖像的全部代碼!只需要安裝PyTorch即可運(yùn)行。下面的gif就是經(jīng)過(guò)超過(guò)40個(gè)訓(xùn)練周期生成的圖像。

d8e2dd60-da6f-11ec-ba43-dac502259ad0.gif

d94503b4-da6f-11ec-ba43-dac502259ad0.png

審核編輯 :李倩


聲明:本文內(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)投訴
  • 神經(jīng)網(wǎng)絡(luò)

    關(guān)注

    42

    文章

    4814

    瀏覽量

    103633
  • 圖像
    +關(guān)注

    關(guān)注

    2

    文章

    1094

    瀏覽量

    41267
  • 生成器
    +關(guān)注

    關(guān)注

    7

    文章

    322

    瀏覽量

    21901

原文標(biāo)題:你真的了解深度學(xué)習(xí)生成對(duì)抗網(wǎng)絡(luò)(GAN)嗎?

文章出處:【微信號(hào):vision263com,微信公眾號(hào):新機(jī)器視覺(jué)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    無(wú)刷電機(jī)小波神經(jīng)網(wǎng)絡(luò)轉(zhuǎn)子位置檢測(cè)方法的研究

    摘要:論文通過(guò)對(duì)無(wú)刷電機(jī)數(shù)學(xué)模型的推導(dǎo),得出轉(zhuǎn)角:與三相相電壓之間存在映射關(guān)系,因此構(gòu)建了一個(gè)以三相相電壓為輸人,轉(zhuǎn)角為輸出的小波神經(jīng)網(wǎng)絡(luò)來(lái)實(shí)現(xiàn)轉(zhuǎn)角預(yù)測(cè),并采用改進(jìn)遺傳算法來(lái)訓(xùn)練網(wǎng)絡(luò)結(jié)構(gòu)與參數(shù),借助
    發(fā)表于 06-25 13:06

    BP神經(jīng)網(wǎng)絡(luò)網(wǎng)絡(luò)結(jié)構(gòu)設(shè)計(jì)原則

    BP(back propagation)神經(jīng)網(wǎng)絡(luò)是一種按照誤差逆向傳播算法訓(xùn)練的多層前饋神經(jīng)網(wǎng)絡(luò),其網(wǎng)絡(luò)結(jié)構(gòu)設(shè)計(jì)原則主要基于以下幾個(gè)方面: 一、層次結(jié)構(gòu) 輸入層 :接收外部輸入信號(hào),不
    的頭像 發(fā)表于 02-12 16:41 ?744次閱讀

    BP神經(jīng)網(wǎng)絡(luò)與卷積神經(jīng)網(wǎng)絡(luò)的比較

    BP神經(jīng)網(wǎng)絡(luò)與卷積神經(jīng)網(wǎng)絡(luò)在多個(gè)方面存在顯著差異,以下是對(duì)兩者的比較: 一、結(jié)構(gòu)特點(diǎn) BP神經(jīng)網(wǎng)絡(luò) : BP神經(jīng)網(wǎng)絡(luò)是一種多層的前饋
    的頭像 發(fā)表于 02-12 15:53 ?670次閱讀

    BP神經(jīng)網(wǎng)絡(luò)的實(shí)現(xiàn)步驟詳解

    BP神經(jīng)網(wǎng)絡(luò)的實(shí)現(xiàn)步驟主要包括以下幾個(gè)階段:網(wǎng)絡(luò)初始化、前向傳播、誤差計(jì)算、反向傳播和權(quán)重更新。以下是對(duì)這些步驟的詳細(xì)解釋: 一、網(wǎng)絡(luò)初始化 確定網(wǎng)絡(luò)結(jié)構(gòu) : 根據(jù)輸入和輸出
    的頭像 發(fā)表于 02-12 15:50 ?646次閱讀

    BP神經(jīng)網(wǎng)絡(luò)的優(yōu)缺點(diǎn)分析

    自學(xué)習(xí)能力 : BP神經(jīng)網(wǎng)絡(luò)能夠通過(guò)訓(xùn)練數(shù)據(jù)自動(dòng)調(diào)整網(wǎng)絡(luò)參數(shù),實(shí)現(xiàn)對(duì)輸入數(shù)據(jù)的分類、回歸等任務(wù),無(wú)需人工進(jìn)行復(fù)雜的特征工程。 泛化
    的頭像 發(fā)表于 02-12 15:36 ?924次閱讀

    BP神經(jīng)網(wǎng)絡(luò)的基本原理

    BP神經(jīng)網(wǎng)絡(luò)(Back Propagation Neural Network)的基本原理涉及前向傳播和反向傳播兩個(gè)核心過(guò)程。以下是關(guān)于BP神經(jīng)網(wǎng)絡(luò)基本原理的介紹: 一、網(wǎng)絡(luò)結(jié)構(gòu) BP神經(jīng)網(wǎng)絡(luò)
    的頭像 發(fā)表于 02-12 15:13 ?858次閱讀

    人工神經(jīng)網(wǎng)絡(luò)的原理和多種神經(jīng)網(wǎng)絡(luò)架構(gòu)方法

    所擬合的數(shù)學(xué)模型的形式受到大腦中神經(jīng)元的連接和行為的啟發(fā),最初是為了研究大腦功能而設(shè)計(jì)的。然而,數(shù)據(jù)科學(xué)中常用的神經(jīng)網(wǎng)絡(luò)作為大腦模型已經(jīng)過(guò)時(shí),現(xiàn)在它們只是能夠在某些應(yīng)用中提供最先進(jìn)性能的機(jī)器學(xué)習(xí)模型。近年來(lái),由于
    的頭像 發(fā)表于 01-09 10:24 ?1196次閱讀
    人工<b class='flag-5'>神經(jīng)網(wǎng)絡(luò)</b>的原理和多種<b class='flag-5'>神經(jīng)網(wǎng)絡(luò)</b>架構(gòu)方法

    卷積神經(jīng)網(wǎng)絡(luò)的實(shí)現(xiàn)工具與框架

    : TensorFlow是由Google Brain團(tuán)隊(duì)開(kāi)發(fā)的開(kāi)源機(jī)器學(xué)習(xí)框架,它支持多種深度學(xué)習(xí)模型的構(gòu)建和訓(xùn)練,包括卷積神經(jīng)網(wǎng)絡(luò)。TensorFlow以其靈活性和可擴(kuò)展性而聞名,適用于研究和生產(chǎn)環(huán)境。 特點(diǎn): 靈活性: TensorFlow提供了豐富的API,允許用戶自定義復(fù)雜的
    的頭像 發(fā)表于 11-15 15:20 ?671次閱讀

    卷積神經(jīng)網(wǎng)絡(luò)與傳統(tǒng)神經(jīng)網(wǎng)絡(luò)的比較

    神經(jīng)網(wǎng)絡(luò),也稱為全連接神經(jīng)網(wǎng)絡(luò)(Fully Connected Neural Networks,F(xiàn)CNs),其特點(diǎn)是每一層的每個(gè)神經(jīng)元都與下一層的所有神經(jīng)元相連。這種
    的頭像 發(fā)表于 11-15 14:53 ?1878次閱讀

    RNN模型與傳統(tǒng)神經(jīng)網(wǎng)絡(luò)的區(qū)別

    傳統(tǒng)神經(jīng)網(wǎng)絡(luò)(前饋神經(jīng)網(wǎng)絡(luò)) 2.1 結(jié)構(gòu) 傳統(tǒng)神經(jīng)網(wǎng)絡(luò),通常指的是前饋神經(jīng)網(wǎng)絡(luò)(Feedforward Neural Networks,
    的頭像 發(fā)表于 11-15 09:42 ?1129次閱讀

    LSTM神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)與工作機(jī)制

    LSTM(Long Short-Term Memory,長(zhǎng)短期記憶)神經(jīng)網(wǎng)絡(luò)是一種特殊的循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN),設(shè)計(jì)用于解決長(zhǎng)期依賴問(wèn)題,特別是在處理時(shí)間序列數(shù)據(jù)時(shí)表現(xiàn)出色。以下是LSTM神經(jīng)
    的頭像 發(fā)表于 11-13 10:05 ?1632次閱讀

    LSTM神經(jīng)網(wǎng)絡(luò)與傳統(tǒng)RNN的區(qū)別

    在深度學(xué)習(xí)領(lǐng)域,循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)因其能夠處理序列數(shù)據(jù)而受到廣泛關(guān)注。然而,傳統(tǒng)RNN在處理長(zhǎng)序列時(shí)存在梯度消失或梯度爆炸的問(wèn)題。為了解決這一問(wèn)題,LSTM(長(zhǎng)短期記憶)神經(jīng)網(wǎng)絡(luò)應(yīng)
    的頭像 發(fā)表于 11-13 09:58 ?1214次閱讀

    Moku人工神經(jīng)網(wǎng)絡(luò)101

    不熟悉神經(jīng)網(wǎng)絡(luò)的基礎(chǔ)知識(shí),或者想了解神經(jīng)網(wǎng)絡(luò)如何優(yōu)化加速實(shí)驗(yàn)研究,請(qǐng)繼續(xù)閱讀,探索基于深度學(xué)習(xí)的現(xiàn)代智能化實(shí)驗(yàn)的廣闊應(yīng)用前景。什么是神經(jīng)網(wǎng)絡(luò)?“人工
    的頭像 發(fā)表于 11-01 08:06 ?666次閱讀
    Moku人工<b class='flag-5'>神經(jīng)網(wǎng)絡(luò)</b>101

    關(guān)于卷積神經(jīng)網(wǎng)絡(luò),這些概念你厘清了么~

    隨著人工智能(AI)技術(shù)的快速發(fā)展,AI可以越來(lái)越多地支持以前無(wú)法實(shí)現(xiàn)或者難以實(shí)現(xiàn)的應(yīng)用。本文基于此解釋了 卷積神經(jīng)網(wǎng)絡(luò) (CNN)及其對(duì)人工智能和機(jī)器學(xué)習(xí)的意義。CNN是一種能夠從復(fù)雜數(shù)據(jù)中提
    發(fā)表于 10-24 13:56

    matlab 神經(jīng)網(wǎng)絡(luò) 數(shù)學(xué)建模數(shù)值分析

    matlab神經(jīng)網(wǎng)絡(luò) 數(shù)學(xué)建模數(shù)值分析 精通的可以討論下
    發(fā)表于 09-18 15:14