Artystyczna sieć neuronowa, która zachwyca błędami

Artystyczna sieć neuronowa, która zachwyca błędami

– Błędy, które popełnia sieć neuronowa, pokazują nam, w jaki sposób taka sieć uczy się. Możemy zobaczyć, co jest dla niej ciężkim zadaniem, jak próbuje sobie je ułatwić. Możemy też zauważyć, które elementy w naszym zbiorze danych są dla sieci ciekawe. Zatem jest to pewnego rodzaju interpretacja artystyczna, trochę inny sposób patrzenia na zbiory danych, który może nam coś nowego o nich powiedzieć, a jednocześnie coś, na co sami byśmy nie wpadli – opowiada Ivona Tautkute-Rustecka, artystka tworząca prace z użyciem sztucznej inteligencji.

Dr Ivona Tautkute-Rustecka jest twórczynią sztuki generatywnej, wykorzystującą AI. W fotografii eksperymentalnej stosuje sieci neuronowe oraz kod programistyczny, a za cel stawia sobie wywołanie emocji dzięki sztucznej inteligencji. Zdjęcia przekształca przy użyciu generatywnych sieci neuronowych. Na co dzień zajmuje się wizją komputerową także korzystającą ze sztucznej inteligencji. Doktorat w dziedzinie AI obroniła w Polsko-Japońskiej Akademii Technik Komputerowych.

Obydwie pani zawodowe aktywności łączy sztuczna inteligencja. Jak wygląda ta relacja?

W dziedzinie wizji komputerowej mam do czynienia z sieciami neuronowymi i podobnie, kiedy tworzę swoje prace. I to o tyle przyjemne połączenie, że metody AI w obydwu zakresach pokrywają się. Dowiadywanie się o najnowszych algorytmach pomaga mi w obu zajęciach, połączeń jest bardzo dużo, więc podzielenie czasu na dwie profesje nie jest aż tak bolesne.

A co dokładnie robi pani w ramach wizji komputerowej jako data scientist?

Pracuję w firmie, która jest software housem, w związku z czym projekty, którymi zajmowałam się w ostatnich latach są bardzo różnorodne. To np. rozwiązania rozpoznające ludzi wewnątrz pojazdów autonomicznych czy rozpoznające różne typy pożywienia w inteligentnych piekarnikach. Obecnie pracuję nad projektem, który jest bardzo mocno powiązany z modelami generatywnymi. Dla naszego klienta polepszamy jakość zdjęć portretowych, więc tutaj chodzi o super resolution i poprawianie fotografii.

Główna praca i obszar związany ze sztuką przenikają się, czyli używa pani w obydwu podobnych narzędzi i metod?

Tak, w szczególności GAN-ów i StyleGAN-a. StyleGAN2 to jedna z metod, którą bardzo mocno wykorzystuję w sztuce generatywnej. Natomiast GAN-y to też metoda do tworzenia zdjęć, którą stosuję w pracy na co dzień. Oczywiście modele się różnią, są to inne architektury – w pracy kreatywnej korzystam na przykład ze StyleGAN2-ADA, który daje mi najciekawsze wyniki. Jest zmodyfikowany pod moje potrzeby, więc umiejętność zrozumienia poszczególnych bloków architektury pozwala na kreatywne bawienie się nią i zmienianie różnych elementów w taki sposób, żeby otrzymać ciekawsze wyniki. Natomiast inne typy GAN-ów wykorzystuję w pracy związanej z wizją komputerową.

Generative Adversarial Network to model sieci neuronowej. A jakich narzędzi używa pani do pracy z nią?

Stack narzędzi AI jest tutaj dość podobny we wszystkich zastosowaniach. Używa się głównie biblioteki PyTorch czy TensorFlow do trenowania modeli. Używa się też Pythona do dopisania dodatkowych funkcji, więc stack jest raczej dość podstawowy. Trenowanie może odbywać się również na Amazonie albo na przykład na Google Cloudzie.

Jak wygląda proces przetwarzania fotografii z użyciem sztucznej inteligencji z takim celem, aby powstało dzieło sztuki?

Pierwszym krokiem i jednym z najważniejszych jest przygotowanie danych, aby były dobrej jakości. To bardzo istotne w machine learningu. GAN-y są dość czułe na wszelkie błędy, które mogą występować w danych, więc trzeba zadbać, żeby jakość zdjęć treningowych była jak najlepsza. Zdjęcia nie powinny mieć dziwnych artefaktów, pikseli, watermarków. Wszystkie powinny być w podobnym stylu. W jednym z moich projektów artystycznych skupiłam się na starych fotografiach, które były portretami osób, dlatego najpierw użyłam modelu rozpoznawania twarzy w celu wycropowania i wycentrowania tych twarzy. Dzięki temu GAN-owi jest dużo łatwiej uczyć się dystrybucji różnych zdjęć, gdyż po prostu pewne elementy znajdują się zawsze na tych samych miejscach. Przygotowanie zbioru danych jest o tyle istotne, że potem ułatwia proces uczenia i jesteśmy w stanie uzyskać lepsze wyniki, lepsze obserwowanie tekstury i lepsze odwzorowanie różnego rodzaju detali. W efekcie powstają zdjęcia tak bardzo realistyczne, że można podejrzewać, że to autentyczne stare fotografie, a nie wygenerowane przez sieć neuronową.

Sztuczna inteligencja dostaje od pani konkretne zadanie czy to tylko ogólne polecenie w rodzaju “zrób coś z tymi danymi”?

Zadanie brzmi “wygeneruj zdjęcia, które będą jak najbliższe rozkładowi prawdziwych zdjęć”. Ale w moich modelach często modyfikuję funkcję straty, która wyznacza kierunek uczenia się sieci neuronowej. To jest zawsze definiowane poprzez stratę, czyli narzucam karencję za pewne elementy, które model generuje, i model teraz chce zminimalizować tę funkcję straty, tak aby generować pewne elementy, które będą bliższe temu, co chcę osiągnąć. Jednak głównym zadaniem pozostaje wygenerowanie zdjęć, które będą jak najprawdziwsze z punktu widzenia modelu.

A czym z punktu widzenia sztucznej inteligencji wykorzystywanej do tworzenia sztuki jest błąd? I co to jest przypadkowość?

Tak bym nazwała odbieganie od prawdziwego rozkładu tych zdjęć uczących, które pokazuję sztucznej inteligencji. Błąd jest czymś, czego nie chcę zniwelować do zera, bo jeśli pokażę zbiór uczący i on zostanie idealnie wyuczony przez sieć, to oczywiście będzie spore osiągnięcie pod kątem naukowym czy aplikacyjnym, natomiast pod kątem kreatywnym taki projekt będzie całkowicie nieciekawy. Bo po co generować coś, co istnieje? Natomiast błędy, które sieć neuronowa popełnia, czyli nieidealne odwzorowanie rzeczywistości, są czymś, co pokazuje nam, w jaki sposób taka sieć uczy się. Możemy zobaczyć, co jest dla niej ciężkim zadaniem, a jednocześnie zaobserwować, w jaki sposób ta próba generalizacji pewnych cech przebiega. Czasem widzimy ułatwienia, na jakie sieć neuronowa idzie, czyli “dobra, zobaczyłam jakiś dziwny szlaczek, więc go teraz powielę dziesięć razy”. I tak powielając, sieć neuronowa próbuje ułatwić sobie zadanie. Dzięki temu możemy też zauważyć, które elementy w naszym zbiorze danych są dla sieci ciekawe. Zatem to jest pewnego rodzaju interpretacja artystyczna, coś, do czego AI może być wykorzystywana. To po prostu trochę inny sposób patrzenia na te zbiory danych, który może nam coś nowego o nich powiedzieć, a jednocześnie coś, na co sami byśmy nie wpadli, czy czego sami byśmy nie stworzyli w taki sposób.

Kto jest twórcą w przypadku tego rodzaju projektów, w pani ocenie - bardziej człowiek czy bardziej technologia?

Powiedziałabym, że wciąż człowiek. Sieci neuronowe są świetnym narzędziem, ale nigdy nie wymyślają sobie zadania. Człowiek wciąż określa cel, funkcję straty, człowiek każe sieci się uczyć - i to jest narzucone z góry. Natomiast oczywiście proces uczenia już przebiega całkowicie bez naszej ingerencji. Wyliczanie funkcji straty i jej optymalizacja posiada elementy stochastyczne, w związku z czym uczenie nie przebiega za każdym razem identycznie i mamy do czynienia z pewną nieprzewidywalną losowością. Natomiast pierwszy etap, a także ostatni w tej całej pracy są czymś, na co sztuczna inteligencja nie ma wpływu. Sieć neuronowa nie powie, że już skończyła pracę, ona może się uczyć w nieskończoność. A to my stwierdzamy “dobra, w tym momencie otrzymane efekty odpowiadają moim oczekiwaniom”. I na tę decyzję również  sieć nie ma wpływu. Oczywiście moglibyśmy mieć inny model, który być może byłby wytrenowany na preferencjach ascetycznych i oceniałby, które “outputy” są lepsze lub gorsze. Natomiast ten model też musiałby być przez kogoś zaprojektowany i odwzorowywać czyjeś preferencje. Wciąż ludzkie preferencje, tak naprawdę.

Przeczytaj również: "Data scientist czy AI – kto jest artystą?"

Udostępnij link

https://www.datasciencerobie.pl/artystyczna-siec-neuronowa-ktora-zachwyca-bledami/