NVIDIA opublikowała kod źródłowy StyleGAN3, systemu uczenia maszynowego opartego na generatywnej kontradyktoryjnej sieci neuronowej (GAN), którego zadaniem jest synteza realistycznych obrazów twarzy ludzi. Kod napisany jest w języku Python przy użyciu frameworka PyTorch i jest rozpowszechniany na podstawie licencji na kod źródłowy NVIDIA, która nakłada ograniczenia na wykorzystanie komercyjne.
Do pobrania dostępne są również gotowe, wytrenowane modele wytrenowane w kolekcji Flickr-Faces-HQ (FFHQ), która zawiera 70 tysięcy wysokiej jakości (1024x1024) obrazów PNG przedstawiających twarze ludzi. Ponadto istnieją modele zbudowane na podstawie kolekcji AFHQv2 (zdjęcia twarzy zwierząt) i Metfaces (obrazy twarzy ludzi z portretów malarstwa klasycznego). Rozwój koncentruje się na twarzach, ale system można wyszkolić do generowania dowolnych obiektów, takich jak krajobrazy i samochody. Dodatkowo dostarczane są narzędzia do samodzielnego uczenia sieci neuronowej z wykorzystaniem własnych kolekcji obrazów. Wymaga jednej lub więcej kart graficznych NVIDIA (zalecany procesor graficzny Tesla V100 lub A100), co najmniej 12 GB pamięci RAM, oprogramowania PyTorch 1.9 i zestawu narzędzi CUDA 11.1+. Aby określić sztuczny charakter powstałych twarzy, opracowywany jest specjalny detektor.
System pozwala na syntezę obrazu nowej twarzy w oparciu o interpolację cech kilku twarzy, połączenie ich charakterystycznych cech, a także dostosowanie ostatecznego obrazu do wymaganego wieku, płci, długości włosów, charakteru uśmiechu, kształtu nosa, kolor skóry, okulary i kąt fotografowania. Generator traktuje obraz jako zbiór stylów, automatycznie oddziela charakterystyczne szczegóły (piegi, włosy, okulary) od typowych atrybutów wysokiego poziomu (poza, płeć, zmiany wieku) i pozwala łączyć je w dowolnej formie z określeniem dominującej właściwości poprzez współczynniki wagowe. W rezultacie generowane są obrazy, które są nie do odróżnienia od prawdziwych fotografii.
Pierwsza wersja technologii StyleGAN została opublikowana w 2019 roku, po czym w 2020 roku zaproponowano ulepszoną edycję StyleGAN2, pozwalającą na poprawę jakości obrazu i wyeliminowanie niektórych artefaktów. Jednocześnie system pozostawał statyczny, tj. nie pozwoliło na osiągnięcie realistycznej animacji i ruchu twarzy. Podczas opracowywania StyleGAN3 głównym celem było przystosowanie technologii do wykorzystania w animacji i wideo.
StyleGAN3 wykorzystuje przeprojektowaną architekturę generowania obrazu, pozbawioną aliasingu i proponuje nowe scenariusze uczenia sieci neuronowej. Zawiera nowe narzędzia do interaktywnej wizualizacji (visualizer.py), analizy (avg_spectra.py) i generowania wideo (gen_video.py). Wdrożenie zmniejsza także zużycie pamięci i przyspiesza proces uczenia się.
Kluczową cechą architektury StyleGAN3 było przejście na interpretację wszystkich sygnałów w sieci neuronowej w postaci procesów ciągłych, co umożliwiło podczas formowania części manipulowanie względnymi pozycjami, które nie są powiązane z bezwzględnymi współrzędnymi poszczególnych pikseli w obraz, ale utrwalony na powierzchni przedstawianych obiektów. W StyleGAN i StyleGAN2 wiązanie z pikselami podczas generowania prowadziło do problemów podczas renderowania dynamicznego, na przykład gdy obraz się poruszał, występowało niedopasowanie drobnych szczegółów, takich jak zmarszczki i włosy, które wydawały się poruszać oddzielnie od reszty twarzy . W StyleGAN3 problemy te zostały rozwiązane, a technologia stała się całkiem odpowiednia do generowania wideo.
Dodatkowo możemy odnotować zapowiedź stworzenia przez NVIDIA i Microsoft największego modelu językowego MT-NLG opartego na głębokiej sieci neuronowej o architekturze „transformatorowej”. Model obejmuje 530 miliardów parametrów, a do szkolenia wykorzystano klaster 4480 procesorów graficznych (560 serwerów DGX A100 po 8 procesorów graficznych A100 80 GB każdy). Zastosowania modelu obejmują rozwiązywanie problemów związanych z przetwarzaniem języka naturalnego, takich jak przewidywanie ukończenia niedokończonych zdań, odpowiadanie na pytania, czytanie ze zrozumieniem, wyciąganie wniosków w języku naturalnym i ujednoznacznianie znaczenia słów.
Źródło: opennet.ru