NVIDIA ΠΎΡ‚ΠΊΡ€Ρ‹Π»Π° ΠΊΠΎΠ΄ StyleGAN3, систСмы машинного обучСния для синтСза Π»ΠΈΡ†

Компания NVIDIA ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π»Π° исходныС тСксты StyleGAN3, систСмы машинного обучСния Π½Π° основС Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎ-ΡΠΎΡΡ‚ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠΉ Π½Π΅ΠΉΡ€ΠΎΠ½Π½ΠΎΠΉ сСти (GAN), Π½Π°Ρ†Π΅Π»Π΅Π½Π½ΠΎΠΉ Π½Π° синтСзированиС рСалистичных ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ Π»ΠΈΡ† людСй. Код написан Π½Π° языкС Python c использованиСм Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ° PyTorch ΠΈ распространяСтся ΠΏΠΎΠ΄ Π»ΠΈΡ†Π΅Π½Π·ΠΈΠ΅ΠΉ NVIDIA Source Code License, Π½Π°ΠΊΠ»Π°Π΄Ρ‹Π²Π°ΡŽΡ‰Π΅ΠΉ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ Π½Π° использованиС Π² коммСрчСских цСлях.

Для Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Ρ‚Π°ΠΊΠΆΠ΅ доступны Π³ΠΎΡ‚ΠΎΠ²Ρ‹Π΅ Π½Π°Ρ‚Ρ€Π΅Π½ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ ΠΌΠΎΠ΄Π΅Π»ΠΈ, ΠΎΠ±ΡƒΡ‡Π΅Π½Π½Ρ‹Π΅ Π½Π° ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ Flickr-Faces-HQ (FFHQ), Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰Π΅ΠΉ 70 тысяч высококачСствСнных (1024×1024) PNG-ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ Π»ΠΈΡ† людСй. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ ΠΈΠΌΠ΅ΡŽΡ‚ΡΡ ΠΌΠΎΠ΄Π΅Π»ΠΈ, построСнныС Π½Π° основС ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΉ AFHQv2 (Ρ„ΠΎΡ‚ΠΎΠ³Ρ€Π°Ρ„ΠΈΠΈ ΠΌΠΎΡ€Π΄ ΠΆΠΈΠ²ΠΎΡ‚Π½Ρ‹Ρ…) ΠΈ Metfaces (изобраТСния Π»ΠΈΡ† людСй с ΠΏΠΎΡ€Ρ‚Ρ€Π΅Ρ‚ΠΎΠ² классичСской Тивописи). ΠŸΡ€ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ Π°ΠΊΡ†Π΅Π½Ρ‚ дСлаСтся Π½Π° Π»ΠΈΡ†Π°, Π½ΠΎ систСма ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΠ±ΡƒΡ‡Π΅Π½Π° для Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ Π»ΡŽΠ±Ρ‹Ρ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ², Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΠ΅ΠΉΠ·Π°ΠΆΠ΅ΠΉ ΠΈ Π°Π²Ρ‚ΠΎΠΌΠΎΠ±ΠΈΠ»Π΅ΠΉ. Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ΡΡ инструмСнты для ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ обучСния Π½Π΅ΠΉΡ€ΠΎΠ½Π½ΠΎΠΉ сСти ΠΏΠΎ собствСнным коллСкциям ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ. Для Ρ€Π°Π±ΠΎΡ‚Ρ‹ трСбуСтся ΠΎΠ΄Π½Π° ΠΈΠ»ΠΈ нСсколько Π²ΠΈΠ΄Π΅ΠΎΠΊΠ°Ρ€Ρ‚ NVIDIA (рСкомСндуСтся GPU Tesla V100 ΠΈΠ»ΠΈ A100), ΠΊΠ°ΠΊ ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌ 12 Π“Π‘ ΠžΠ—Π£, PyTorch 1.9 ΠΈ инструмСнтарий CUDA 11.1+. Для опрСдСлСния искусствСнного Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€Π° ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹Ρ… Π»ΠΈΡ† развиваСтся ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ Π΄Π΅Ρ‚Π΅ΠΊΡ‚ΠΎΡ€.

БистСма позволяСт ΡΠΈΠ½Ρ‚Π΅Π·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π½ΠΎΠ²ΠΎΠ³ΠΎ Π»ΠΈΡ†Π° Π½Π° основС интСрполяции особСнностСй Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Π»ΠΈΡ†, комбинируя свойствСнныС ΠΈΠΌ Ρ‡Π΅Ρ€Ρ‚Ρ‹, Π° Ρ‚Π°ΠΊΠΆΠ΅ адаптируя ΠΈΡ‚ΠΎΠ³ΠΎΠ²ΠΎΠ΅ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠΎΠ΄ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ΠΉ возраст, ΠΏΠΎΠ», Π΄Π»ΠΈΠ½Ρƒ волос, Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€ ΡƒΠ»Ρ‹Π±ΠΊΠΈ, Ρ„ΠΎΡ€ΠΌΡƒ носа, Ρ†Π²Π΅Ρ‚ ΠΊΠΎΠΆΠΈ, ΠΎΡ‡ΠΊΠΈ, ракурс Ρ„ΠΎΡ‚ΠΎΠ³Ρ€Π°Ρ„ΠΈΠΈ. Π“Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€ рассматриваСт ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΠΊΠ°ΠΊ ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΡŽ стилСй, автоматичСски отдСляСт Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€Π½Ρ‹Π΅ Π΄Π΅Ρ‚Π°Π»ΠΈ (Π²Π΅ΡΠ½ΡƒΡˆΠΊΠΈ, волосы, ΠΎΡ‡ΠΊΠΈ) ΠΎΡ‚ ΠΎΠ±Ρ‰ΠΈΡ… высокоуровнСвых Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠ² (ΠΏΠΎΠ·Π°, ΠΏΠΎΠ», возрастныС измСнСния) ΠΈ позволяСт ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΡ… Π² ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½ΠΎΠΌ Π²ΠΈΠ΄Π΅ с ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ΠΌ Π΄ΠΎΠΌΠΈΠ½ΠΈΡ€ΡƒΡŽΡ‰ΠΈΡ… свойств Ρ‡Π΅Ρ€Π΅Π· вСсовыС коэффициСнты. Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΡŽΡ‚ΡΡ изобраТСния, внСшнС Π½Π΅ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠΌΡ‹Π΅ ΠΎΡ‚ настоящих Ρ„ΠΎΡ‚ΠΎΠ³Ρ€Π°Ρ„ΠΈΠΉ.

NVIDIA ΠΎΡ‚ΠΊΡ€Ρ‹Π»Π° ΠΊΠΎΠ΄ StyleGAN3, систСмы машинного обучСния для синтСза Π»ΠΈΡ†

ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ StyleGAN Π±Ρ‹Π» ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½ Π² 2019 Π³ΠΎΠ΄Ρƒ, послС Ρ‡Π΅Π³ΠΎ Π² 2020 Π³ΠΎΠ΄Ρƒ Π±Ρ‹Π»Π° ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½Π° ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½Π½Π°Ρ рСдакция StyleGAN2, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π°Ρ Π΄ΠΎΠ±ΠΈΡ‚ΡŒΡΡ ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΡ качСства ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ ΠΈ ΡƒΡΡ‚Ρ€Π°Π½ΡΡŽΡ‰Π°Ρ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π°Ρ€Ρ‚Π΅Ρ„Π°ΠΊΡ‚Ρ‹. ΠŸΡ€ΠΈ этом систСма ΠΎΡΡ‚Π°Π²Π°Π»Π°ΡΡŒ статичной, Ρ‚.Π΅. Π½Π΅ позволяла Π΄ΠΎΠ±ΠΈΡ‚ΡŒΡΡ рСалистичной Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠΈ ΠΈ двиТСния Π»ΠΈΡ†Π°. ΠŸΡ€ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ StyleGAN3 Π³Π»Π°Π²Π½ΠΎΠΉ Ρ†Π΅Π»ΡŒΡŽ стала адаптация Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ для Π΅Ρ‘ примСнСния Π² Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠΈ ΠΈ Π²ΠΈΠ΄Π΅ΠΎ.

Π’ StyleGAN3 использована пСрСработанная Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π° Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ, избавлСнная ΠΎΡ‚ алиасинга, ΠΈ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½Ρ‹ Π½ΠΎΠ²Ρ‹Π΅ сцСнарии обучСния Π½Π΅ΠΉΡ€ΠΎΠ½Π½ΠΎΠΉ сСти. Π’ состав Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Ρ‹ Π½ΠΎΠ²Ρ‹Π΅ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹ для ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΉ Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ (visualizer.py), Π°Π½Π°Π»ΠΈΠ·Π° (avg_spectra.py) ΠΈ Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ Π²ΠΈΠ΄Π΅ΠΎ (gen_video.py). Π’ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ‚Π°ΠΊΠΆΠ΅ сокращСно ΠΏΠΎΡ‚Ρ€Π΅Π±Π»Π΅Π½ΠΈΠ΅ памяти ΠΈ ускорСн процСсс обучСния.

NVIDIA ΠΎΡ‚ΠΊΡ€Ρ‹Π»Π° ΠΊΠΎΠ΄ StyleGAN3, систСмы машинного обучСния для синтСза Π»ΠΈΡ†

ΠšΠ»ΡŽΡ‡Π΅Π²ΠΎΠΉ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΡŒΡŽ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ StyleGAN3 стал ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ ΠΊ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ†ΠΈΠΈ всСх сигналов Π² Π½Π΅ΠΉΡ€ΠΎΠ½Π½ΠΎΠΉ сСти Π² Ρ„ΠΎΡ€ΠΌΠ΅ Π½Π΅ΠΏΡ€Π΅Ρ€Ρ‹Π²Π½Ρ‹Ρ… процСссов, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΠ»ΠΎ ΠΏΡ€ΠΈ Ρ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ Π΄Π΅Ρ‚Π°Π»Π΅ΠΉ ΠΌΠ°Π½ΠΈΠΏΡƒΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ позициями, Π½Π΅ привязанными ΠΊ Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½Ρ‹ΠΌ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Π°ΠΌ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… пиксСлСй Π½Π° ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΈ, Π° Π·Π°ΠΊΡ€Π΅ΠΏΠ»Ρ‘Π½Π½Ρ‹ΠΌΠΈ ΠΊ повСрхности ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΡ‘Π½Π½Ρ‹Ρ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ². Π’ StyleGAN ΠΈ StyleGAN2 привязка ΠΊ пиксСлям ΠΏΡ€ΠΈ Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΠ»Π° ΠΊ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°ΠΌ ΠΏΡ€ΠΈ динамичСской Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΡ€ΠΈ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠΈ изобраТСния наблюдалось рассогласованиС ΠΌΠ΅Π»ΠΊΠΈΡ… Π΄Π΅Ρ‚Π°Π»Π΅ΠΉ, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ ΠΌΠΎΡ€Ρ‰ΠΈΠ½Ρ‹ ΠΈ волоски, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ двигались ΠΊΠ°ΠΊ Π±Ρ‹ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ ΠΎΡ‚ ΠΎΡΡ‚Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ Π»ΠΈΡ†Π°. Π’ StyleGAN3 эти ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ Ρ€Π΅ΡˆΠ΅Π½Ρ‹ ΠΈ тСхнология стала Π²ΠΏΠΎΠ»Π½Π΅ ΠΏΡ€ΠΈΠ³ΠΎΠ΄Π½Π° для формирования Π²ΠΈΠ΄Π΅ΠΎ.

Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ анонс создания компаниями NVIDIA ΠΈ Microsoft ΠΊΡ€ΡƒΠΏΠ½Π΅ΠΉΡˆΠ΅ΠΉ языковой ΠΌΠΎΠ΄Π΅Π»ΠΈ MT-NLG Π½Π° основС Π³Π»ΡƒΠ±ΠΎΠΊΠΎΠΉ Π½Π΅ΠΉΡ€ΠΎΠ½Π½ΠΎΠΉ сСти с Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€ΠΎΠΉ «Ρ‚рансформСр». МодСль ΠΎΡ…Π²Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ 530 ΠΌΠΈΠ»Π»ΠΈΠ°Ρ€Π΄ΠΎΠ² ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ², Π° для обучСния Π±Ρ‹Π» задСйствован кластСр, Π½Π°ΡΡ‡ΠΈΡ‚Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΉ 4480 GPU (560 сСрвСров DGX A100 с 8 GPU A100 80GB Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΌ). Π’ качСствС областСй примСнСния ΠΌΠΎΠ΄Π΅Π»ΠΈ называСтся Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ Π·Π°Π΄Π°Ρ‡ ΠΏΠΎ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ Π½Π° СстСствСнном языкС, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ ΠΏΡ€ΠΎΠ³Π½ΠΎΠ·ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ Π½Π΅Π·Π°ΠΊΠΎΠ½Ρ‡Π΅Π½Π½ΠΎΠ³ΠΎ прСдлоТСния, ΠΎΡ‚Π²Π΅Ρ‚Ρ‹ Π½Π° вопросы, ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Π½Π½ΠΎΠ³ΠΎ, Ρ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π²Ρ‹Π²ΠΎΠ΄ΠΎΠ² Π½Π° СстСствСнном языкС ΠΈ Ρ€Π°Π·Π±ΠΎΡ€ нСоднозначности смысла слов.

NVIDIA ΠΎΡ‚ΠΊΡ€Ρ‹Π»Π° ΠΊΠΎΠ΄ StyleGAN3, систСмы машинного обучСния для синтСза Π»ΠΈΡ†


Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: opennet.ru