Le GAN (Generative adversarial networks) sono un tipo di architettura di deep learning che utilizza due reti neurali in competizione per generare nuovi dati. Queste due reti, il generatore e il discriminatore, si addestrano l'una contro l'altra, contribuendo a produrre un output più accurato. Le GAN possono essere utili in vari campi, tra cui la visione artificiale, la robotica, la generazione di immagini, la sintesi video e l'elaborazione del linguaggio naturale.
Il modo migliore per capire come funzionano le GAN è attraverso un'analogia: una competizione tra un falsario d'arte (il generatore) e un critico d'arte (il discriminatore).
Questo "gioco" avversario continua, con entrambe le reti che diventano progressivamente più intelligenti. Alla fine, il falsario diventa così abile che il critico non riesce più a distinguere in modo affidabile l'originale dal falso. A questo punto, la GAN è addestrata e può generare nuovi dati altamente realistici.
Sia le convolutional neural networks (CNN) che le generative adversarial networks (GAN) sono architetture di deep learning, ma hanno punti di forza e applicazioni distinti. Le CNN vengono spesso utilizzate per attività di classificazione delle immagini e rilevamento degli oggetti, mentre le GAN sono generalmente progettate per generare nuove istanze di dati.
Funzionalità | CNN | GAN |
Utilizzo dati | Set di dati per lo più etichettati | Set di dati etichettati o non etichettati |
Output | Classificazione, estrazione di caratteristiche | Istanze di dati nuove e diversificate |
Tipo di modello | I modelli | Generativa |
Attività principali | Classificazione delle immagini, riconoscimento degli oggetti | Generazione di immagini, aumento dei dati, creazione di dati sintetici |
Funzionalità
CNN
GAN
Utilizzo dati
Set di dati per lo più etichettati
Set di dati etichettati o non etichettati
Output
Classificazione, estrazione di caratteristiche
Istanze di dati nuove e diversificate
Tipo di modello
I modelli
Generativa
Attività principali
Classificazione delle immagini, riconoscimento degli oggetti
Generazione di immagini, aumento dei dati, creazione di dati sintetici
Sebbene tutte le GAN condividano la struttura generatore-discriminatore, sono state sviluppate diverse varianti per risolvere problemi specifici. Ecco alcuni dei tipi più importanti:
Sebbene il concetto fondamentale di utilizzare due reti contraddittorie rimanga coerente tra le varie versioni della generative adversarial network, i ricercatori hanno esplorato una varietà di modifiche architetturali e di addestramento per affrontare le limitazioni e migliorare le prestazioni per applicazioni specifiche.
Le GAN hanno aperto nuove possibilità in molti settori. Le loro applicazioni rientrano generalmente in queste aree chiave:
Questa è l'applicazione più famosa delle GAN. Include la generazione di immagini realistiche di persone, luoghi e oggetti, la creazione di arte digitale e musica e l'abilitazione di potenti strumenti di editing delle immagini come il trasferimento di stile (che fa sembrare una foto un dipinto), la super-risoluzione (che rende più nitide le immagini sfocate) e la sintesi da testo a immagine.
I dati di alta qualità sono il carburante del machine learning, ma possono essere rari, costosi o privati. Le GAN aiutano a risolvere questo problema generando dati sintetici. In ambito sanitario, le GAN possono creare scansioni mediche realistiche ma anonime per addestrare modelli diagnostici senza violare la privacy dei pazienti. Nel settore finanziario, possono generare dati di transazione sintetici per addestrare sistemi di rilevamento delle frodi migliori. Ciò aiuta a superare la scarsità di dati e a bilanciare i set di dati.
Le GAN possono apprendere i pattern in sistemi complessi per creare simulazioni realistiche. L'utilizzo permette di generare scenari diversi per l'addestramento di automobili a guida automatica, per prevedere i frame successivi in un video o persino per scoprire potenziali strutture molecolari nella scoperta di farmaci.
Addestrando una GAN su dati "normali", diventa molto brava a individuare qualsiasi cosa non si adatti al modello. Viene utilizzata per rilevare attività finanziarie fraudolente, identificare intrusioni di rete nella cybersicurezza e trovare difetti nella produzione.
Lo sviluppo e il deployment delle GAN richiedono una potenza di calcolo significativa e una piattaforma MLOps solida. Google Cloud offre gli strumenti per supportare l'intero workflow:
Inizia a creare su Google Cloud con 300 $ di crediti gratuiti e oltre 20 prodotti Always Free.