Cosa sono i GAN? Come e perché dovresti usarli!



Questo articolo copre la spiegazione dettagliata di 'Cosa sono i GAN' con limitazioni e sfide che riguardano il processo di formazione e l'implementazione dei casi d'uso.

Generative Adversarial Network o GAN sono un approccio di modellazione generativa che utilizza Apprendimento approfondito addestrare il modello in modo intelligente per generare dati utilizzando l'approccio del sottomodello. In questo articolo, cercheremo di capire in dettaglio 'Cosa sono i GAN'. In questo articolo vengono trattati i seguenti argomenti:

Cosa sono i modelli generativi?

I modelli generativi non sono altro che quei modelli che utilizzano un file approccio. In un modello generativo, ci sono campioni nei dati cioè variabili di input X, ma manca la variabile di output Y. Usiamo solo le variabili di input per addestrare il modello generativo e riconosce i modelli dalle variabili di input per generare un output che è sconosciuto e in base solo ai dati di addestramento.





Nel , siamo più allineati alla creazione di modelli predittivi dalle variabili di input, questo tipo di modellazione è noto come modellazione discriminativa. In un problema di classificazione, il modello deve discriminare a quale classe appartiene l'esempio. D'altra parte, i modelli non supervisionati vengono utilizzati per creare o generare nuovi esempi nella distribuzione dell'input.

qual è il miglior java ide

Per definire i modelli generativi in ​​parole povere possiamo dire che i modelli generativi sono in grado di generare nuovi esempi dal campione che non solo sono simili ad altri esempi ma sono anche indistinguibili.



L'esempio più comune di un modello generativo è un che è più spesso usato come modello discriminante. Altri esempi di modelli generativi includono Gaussian Mixture Model e un esempio piuttosto moderno che è General Adversarial Networks. Cerchiamo di capire cosa sono i GAN?

Cosa sono i generative adversarial network?

Generative Adversarial Network o GAN sono un modello generativo basato sull'apprendimento profondo che viene utilizzato per l'apprendimento senza supervisione. È fondamentalmente un sistema in cui due competono Reti neurali competere tra loro per creare o generare variazioni nei dati.

È stato descritto per la prima volta in un documento nel 2014 da Ian Goodfellow e una teoria del modello standardizzata e molto stabile è stata proposta da Alec Radford nel 2016, nota come DCGAN (Deep Convolutional General Adversarial Networks). La maggior parte dei GAN oggi esistenti utilizza l'architettura DCGAN.



L'architettura GAN è costituita da due sottomodelli noti come Modello generatore e il Modello discriminatore. Cerchiamo di capire come funzionano effettivamente i GAN.

Come funziona?

Per capire come funzionano i GAN, analizziamolo.

  • Generativo - Significa che il modello segue il approccio ed è un modello generativo.
  • Contraddittorio - Il modello è addestrato in un contesto contraddittorio
  • Rete - Per l'addestramento del modello, utilizza le reti neurali come algoritmi di intelligenza artificiale.

Nei GAN, c'è una rete Generator che prende un campione e genera un campione di dati, dopodiché la rete Discriminator decide se i dati vengono generati o presi dal campione reale usando un binario problema con l'aiuto di una funzione sigmoide che fornisce l'output nell'intervallo da 0 a 1.

diagramma di flusso - cosa sono gli gna - edureka

Il modello generativo analizza la distribuzione dei dati in modo tale che dopo la fase di addestramento, la probabilità che il discriminatore commetta un errore massimizza. E il discriminatore, d'altra parte, si basa su un modello che stimerà la probabilità che il campione provenga dai dati reali e non dal generatore.

L'intero processo può essere formalizzato in una formula matematica fornita di seguito.

Nella formula sopra:

G = Generatore

D = discriminatore

Pdata (x) = Distribuzione dei dati reali

Pdata (z) = Distributore del generatore

x = campione da dati reali

z = campione dal generatore

come confrontare due stringhe

D (x) = Rete discriminatrice

G (z) = Generator Network

Ora arriva la parte di formazione per un GAN, che può essere ulteriormente suddivisa in 2 parti che vengono eseguite in sequenza.

Come addestrare un GAN?

Parte 1:

Addestra il discriminatore e congela il generatore, il che significa che il set di addestramento per il generatore è impostato su False e la rete eseguirà solo il passaggio in avanti e non verrà applicata alcuna retro propagazione.

Fondamentalmente il discriminatore viene addestrato con i dati reali e controlla se può prevederli correttamente, e lo stesso con i dati falsi per identificarli come falsi.

Parte 2:

Addestra il generatore e congela il discriminatore. In questa fase, otteniamo i risultati della prima fase e possiamo usarli per migliorare dallo stato precedente per cercare di ingannare meglio il discriminatore.

Passi per la formazione

  1. Definisci il problema - definire il problema e raccogliere dati.
  2. Scegli Architecture Of GAN - A seconda del problema, scegli come dovrebbe apparire il tuo GAN.
  3. Addestra il discriminatore su dati reali - Addestra il discriminatore con dati reali per prevederli come reali per n numero di volte.
  4. Genera input falsi per il generatore - Genera campioni falsi dal generatore
  5. Addestrare il discriminatore sui dati falsi - Addestra il discriminatore a prevedere i dati generati come falsi.
  6. Generatore di treni con l'uscita del discriminatore - Dopo aver ottenuto le previsioni del discriminatore, addestrare il generatore a ingannare il discriminatore

Sfide del Generative Adversarial Network

Il concetto di GAN è piuttosto affascinante ma ci sono molte battute d'arresto che possono causare molti ostacoli sul suo percorso. Alcune delle principali sfide affrontate dai GAN sono:

  1. Stabilità è richiesto tra il discriminatore e il generatore altrimenti l'intera rete cadrebbe. Nel caso in cui, se il discriminatore è troppo potente, il generatore non riuscirà ad addestrarsi del tutto. E se la rete è troppo indulgente, qualsiasi immagine verrebbe generata rendendo la rete inutile.
  2. I GAN falliscono miseramente nel determinare il posizionamento degli oggetti in termini di quante volte l'oggetto dovrebbe verificarsi in quella posizione.
  3. La prospettiva 3-D disturba il GAN ​​poiché non è in grado di capire prospettiva , spesso darà un'immagine piatta per un oggetto 3-d.
  4. I GAN hanno problemi a comprendere il oggetti globali . Non può differenziare o comprendere una struttura olistica.
  5. I tipi più recenti di GAN sono più avanzati e dovrebbero superare del tutto queste carenze.

Generative Adversarial Network Applications

Le seguenti sono alcune applicazioni dei GAN.

Previsione del fotogramma successivo in un video

La previsione di eventi futuri in un fotogramma video è resa possibile con l'aiuto dei GAN. DVD-GAN o Dual Video Discriminator GAN può generare 256 × 256 video di notevole fedeltà fino a 48 fotogrammi di lunghezza. Questo può essere utilizzato per vari scopi, inclusa la sorveglianza in cui possiamo determinare le attività in un frame che viene distorta a causa di altri fattori come pioggia, polvere, fumo, ecc.

Generazione da testo a immagine

Object-driven attentive GAN (obj-GAN), esegue la sintesi da testo a immagine in due fasi. La generazione del layout semantico è il passaggio iniziale e quindi la generazione dell'immagine sintetizzando l'immagine utilizzando un generatore di immagini deconvoluzionali è il passaggio finale.

Questo potrebbe essere utilizzato intensamente per generare immagini comprendendo le didascalie, i layout e perfezionando i dettagli sintetizzando le parole. C'è un altro studio sulla storyGANs che può sintetizzare l'intero storyboard da semplici paragrafi.

Migliorare la risoluzione di un'immagine

La rete antagonista generativa a super risoluzione o SRGAN è un GAN in grado di generare immagini a super risoluzione da immagini a bassa risoluzione con dettagli più fini e qualità migliore.

Le applicazioni possono essere immense, immagina un'immagine di qualità superiore con dettagli più fini generati da un'immagine a bassa risoluzione. La quantità di aiuto che produrrebbe per identificare i dettagli nelle immagini a bassa risoluzione può essere utilizzata per scopi più ampi, tra cui sorveglianza, documentazione, sicurezza, schemi di rilevamento, ecc.

Traduzione da immagine a immagine

Pix2Pix GAN è un modello progettato per la traduzione di immagini-immagini di uso generale.

Generazione di immagini interattive

I GAN possono essere utilizzati anche per generare immagini interattive, il laboratorio di informatica e intelligenza artificiale (CSAIL) ha sviluppato un GAN in grado di generare modelli 3-D con illuminazione e riflessi realistici abilitati dall'editing di forme e texture.

cos'è un metodo javascript

Più recentemente, i ricercatori hanno escogitato un modello in grado di sintetizzare un volto rievocato animato dal movimento di una persona preservando allo stesso tempo l'aspetto del viso.

Questo ci porta alla fine di questo articolo dove abbiamo appreso 'Cosa sono i GAN'. Spero che tu sia chiaro con tutto ciò che è stato condiviso con te in questo tutorial.

Se hai trovato pertinente questo articolo su 'Cosa sono i GAN', controlla il una società di formazione online affidabile con una rete di oltre 250.000 studenti soddisfatti sparsi in tutto il mondo.

Siamo qui per aiutarti in ogni fase del tuo viaggio e per elaborare un curriculum progettato per studenti e professionisti che vogliono essere un . Il corso è progettato per darti un vantaggio nella programmazione Python e addestrarti per i concetti di base e avanzati di Python insieme a vari piace

In caso di domande, non esitare a porre tutte le tue domande nella sezione commenti di 'Cosa sono i GAN' e il nostro team sarà lieto di rispondere.