L'azienda NVIDIA ha pubblicato i codici sorgente di StyleGAN3, un sistema di apprendimento automatico basato su reti neurali generative avversarie (GAN), progettato per sintetizzare immagini realistiche di volti umani. Il codice è scritto in Python utilizzando il framework PyTorch ed è distribuito sotto la licenza NVIDIA Source Code License, che impone restrizioni sull'uso commerciale.
Sono disponibili anche modelli pre-addestrati, addestrati sulla collezione Flickr-Faces-HQ (FFHQ), che include 70.000 immagini PNG ad alta qualità (1024×1024) di volti umani. Inoltre, ci sono modelli basati su collezioni AFHQv2 (foto di volti di animali) e Metfaces (immagini di volti umani tratti da ritratti di pittura classica). Nello sviluppo, l'accento è posto sui volti, ma il sistema può essere addestrato per generare qualsiasi oggetto, come paesaggi e automobili. Vengono forniti inoltre strumenti per l'auto-addestramento della rete neurale su collezioni di immagini proprie. È richiesto un numero di schede grafiche NVIDIA (si consiglia GPU Tesla V100 o A100), almeno 12 GB di RAM, PyTorch 1.9 e toolkit CUDA 11.1+. Per determinare il carattere artificiale dei volti ottenuti, viene sviluppato un detector specifico.
Il sistema consente di sintetizzare l'immagine di un nuovo volto basata sull'interpolazione delle caratteristiche di più volti, combinando tratti distintivi e adattando l'immagine finale all'età, al sesso, alla lunghezza dei capelli, al sorriso, alla forma del naso, al colore della pelle, agli occhiali e all'angolo della fotografia richiesti. Il generatore considera l'immagine come una collezione di stili, separando automaticamente i dettagli caratteristici (freckles, capelli, occhiali) dagli attributi generali di alto livello (posizione, sesso, cambiamenti legati all'età) e permettendo di combinarli liberamente stabilendo proprietà dominanti attraverso coefficienti di peso. Di conseguenza, vengono generate immagini indistinguibili da vere fotografie.

La prima variante della tecnologia StyleGAN è stata pubblicata nel 2019, dopo di che nel 2020 è stata proposta un'edizione migliorata di StyleGAN2, che consente di ottenere una migliore qualità delle immagini ed elimina alcuni artefatti. Tuttavia, il sistema è rimasto statico, cioè non ha consentito di ottenere un'animazione realistica e il movimento del volto. Nello sviluppo di StyleGAN3, l'obiettivo principale è stata l'adattamento della tecnologia per il suo utilizzo in animazione e video.
In StyleGAN3 è stata utilizzata un'architettura rielaborata per la generazione di immagini, priva di aliasing, e sono stati proposti nuovi scenari di apprendimento per la rete neurale. Sono incluse nuove utilities per la visualizzazione interattiva (visualizer.py), analisi (avg_spectra.py) e generazione video (gen_video.py). Nella realizzazione, è stato anche ridotto il consumo di memoria e accelerato il processo di apprendimento.

Una caratteristica chiave dell'architettura StyleGAN3 è stato il passaggio all'interpretazione di tutti i segnali all'interno della rete neurale come processi continui, il che ha permesso di manipolare le posizioni relative quando si formano i dettagli, non legate alle coordinate assolute dei singoli pixel nell'immagine, ma ancorate alla superficie degli oggetti raffigurati. In StyleGAN e StyleGAN2, il legame con i pixel durante la generazione portava a problemi durante la visualizzazione dinamica; ad esempio, quando l'immagine si muoveva, si osservava uno sfasamento di dettagli minori, come rughe e peli, che sembravano muoversi separatamente dal resto del volto. In StyleGAN3 questi problemi sono stati risolti e la tecnologia è diventata completamente adatta per la generazione di video.
In aggiunta, vale la pena notare l'annuncio della creazione da parte delle aziende NVIDIA e Microsoft del più grande modello linguistico MT-NLG basato su una rete neurale profonda con architettura 'transformer'. Il modello copre 530 miliardi di parametri e per l'addestramento è stato utilizzato un cluster che conta 4480 GPU (560 server DGX A100 con 8 GPU A100 80GB ciascuna). Le aree di applicazione del modello includono la risoluzione di compiti di elaborazione del linguaggio naturale, come la previsione del completamento di frasi incomplete, risposte a domande, comprensione del testo, formulazione di conclusioni in linguaggio naturale e disambiguazione del significato delle parole.

Fonte: opennet.ru
