REKLAMA

Zabierze ci pracę, ale za to wygeneruje osiem krzywych palców. Dlaczego SI jest beznadziejna w tworzeniu dłoni?

Zmieni rzeczywistość, w jakiej żyjemy, zautomatyzuje powtarzalne czynności, wygryzie zawody kreatywne, uprzykrzy życie artystom, zakwestionuje przydatność programistów w społeczeństwie przyszłości. Potrafi tak dużo, a nie radzi sobie z wygenerowaniem dłoni. Oto sztuczna inteligencja.

30.04.2023 17.48
Zabierze ci pracę, ale wygeneruje osiem krzywych palców. Dlaczego SI jest beznadziejna w tworzeniu dłoni?
REKLAMA

Modele generatywnej sztucznej inteligencji potrafią naprawdę wiele, od naśladowania rzeczywistości i wyparcia z użytku baz zdjęć pokroju, poprzez tworzenie rzeczy, które nie istnieją, takie jak fotografie mopsów na rowerze, a kończąc na przepięknych, bajecznych wręcz ilustracjach i przejmujących zdjęciach wygrywających prestiżowe konkursy.

REKLAMA

Możliwości SI można by wyliczać jeszcze długo. Lecz każdy, kto kiedykolwiek podjął się pracy z jakimkolwiek modelem text-to-image zauważył, że nawet najlepsze i najpopularniejsze modele generatywnej sztucznej inteligencji tworzą niskiej jakości dłonie. Dlaczego?

Czytaj także:
- Sztuczna inteligencja wysadzi internet w powietrze. Właśnie pojawił się nowy problem
- Amazon zalewają recenzje pisane przez chatboty. Już się nie dowiesz, czy produkt jest naprawdę dobry
- Nie Microsoft i nie Google. Ktoś inny wygrywa wojnę na sztuczną inteligencję

Ludzkość boi się maszyny, która myśli, że mamy gdzieś pomiędzy 1 a 10 palców

 class="wp-image-3573554"
"Three craftsmen cooking rice noodles" / Midjourney

Aby odpowiedzieć na to pytanie, cofnijmy się do samego początku, do nauki. Niezależnie czy jesteś wybitnym artystą, czy przeciętną osobą potrafiącą odtworzyć podstawowe elementy otaczającej cię rzeczywistości. Czerwony trójkąt a pod nim szary prostokąt - to jest dom, zielony okrąg a pod nim brązowy prostokąt - to jest drzewo. Na podobnej zasadzie pięć dłuższych elementów połączonych do jednego wspólnego śródręcza - wizualnie bliskiemu prostokątowi, to dłoń. Pod tym względem my i sztuczna inteligencja jesteśmy sobie równi: pośród wielu rzeczy, które widzimy, zauważamy pewne stałe elementy, wzorce. Wyróżniamy oryginalne wizualne cechy danego przedmiotu.

Jednak to, w jaki sposób ich doświadczamy to główny element, który różni nas od sztucznej inteligencji. W konkretnym przypadku dłoni jest to fakt, że mamy je stale "przy sobie" - widzimy je cały czas, a więc mamy dobre wyobrażenie tego jak wyglądają. Nie widzimy ich jedynie położonych płasko na stole, ale widzimy też, jak układają się, trzymając długopis, telefon, niosąc zakupy czy wieszając pranie. Mamy świadomość ich fizycznych ograniczeń, np. tego w ilu miejscach i w jaki sposób mogą zginać się palce.

W przypadku artystów i ludzi medycyny dochodzi także wiedza o wewnętrznej budowie dłoni, a konkretnie rola i położenie kości, mięśni, naczyń krwionośnych. Innymi słowy, znamy dłonie w każdym możliwym wymiarze.

W przypadku sztucznej inteligencji o tym co widzi, należy myśleć w kategoriach pary oczu zamkniętej w ogromnej galerii. Nie mają one do dyspozycji trójwymiarowych danych, ani informacji o tym jak "działa" dłoń. Jedynie zdjęcia, tysiące zdjęć przedstawiających dłonie, które muszą odpowiednio wykorzystać przy przetwarzaniu danego zapytania.

 class="wp-image-3573572"
"reflection in a water droplet of an adorable 7 year old girl happily smiling while holding flowers" / Midjourney

Innymi słowy, sposób, w jaki sztuczna inteligencja uczy się wizualizacji naszego świata, przyczynia się do tworzenia dłoni, od których niejednokrotnie mogą zaboleć paliczki. Jednocześnie w tym momencie bardziej dociekliwym osobom może nasunąć się pytanie: "Okej, sztuczna inteligencja nie jest ekspertem w generowaniu dłoni. To dlaczego samochody, które halucynuje nie wyglądają jakby miały się rozpaść, skoro SI też nie jest inżynierem motoryzacji?"

To jest dobre pytanie, na które odpowiedź składa się kilka czynników.

Nie mam dłoni, dajcie mi dłonie.

Jak już pisałam wielokrotnie, na potencjał modelu, a więc i generowane przez niego wyniki składają się dane treningowe. Nie tylko ich ilość, ale też jakość. A o oba te w przypadku dłoni to ogromny problem.

W przypadku generatywnych modeli text-to-image po prostu brakuje danych treningowych zawierających dłonie w różnych możliwych ułożeniach. Istnieją zestawy danych takie jak ten przygotowany przez inżyniera algorytmów aparatów, Mahmouda Afifiego, które pozwalają dostroić możliwości generowania dłoni. Jednak nadal to nie są zestawy treningowe nastawione na tworzenie sztuki i oryginalnych grafik, a bardziej na rozpoznawanie dłoni na obrazach. Plus sama ilość zdjęć w zestawach treningowych poświęconych dłoniom jest o wiele mniejsza niż w zestawach poświęconych choćby twarzom, pojazdom, czy budynkom.

Jednocześnie prawdą jest, że dłonie przewijają się na bardzo wielu ilustracjach i fotografiach, np. piłkarze trzymający piłkę po wygranym meczu, przechodnie trzymający smartfona w dłoni czy ludzie niosący zakupy. Jednak te wariacje nie są skupione wokół dłoni, a wokół danej osoby czy czynności - dłonie są tylko elementem, zwykle kawałkiem śródręcza i kilkoma palcami.

Zarówno my, wpisujący prompt, jak i przetwarzający go model nie skupiamy się na ułożeniu dłoni i palców w przestrzeni. W związku, z czym SI proszona o wygenerowanie "czarnoskórej dziewczyny ubranej w stylu lat 90 i cieszącej się imprezą" skupi się na głównych założeniach promptu. Jeżeli nie sprecyzujesz, że "ręce są uniesione w górę i dłonie zaciśnięte w pięść, widoczny kciuk" SI zacznie halucynować generując dłonie. Halucynować pochodzących z już i tak małego zestawu danych. I to ponownie w założeniu, że SI ma wystarczająco danych, by zrozumieć, o co nam chodzi.

 class="wp-image-3573719"
"black girl dressed in 90s or 2000s party outfit and looks like they are happily partying" / Midjourney

Ile palców ma dłoń? Czyli o tym jak widzimy dłoń

Na pytanie "ile palców ma dłoń" każdy z nas odpowie prosto: pięć. Większa lub mniejsza liczba to efekty mutacji w życiu płodowym, niekiedy tragicznych wypadków w pracy czy eksperymentów z najczarniejszych epok ludzkiej historii. Mimo wszystko jest to obiektywny fakt: zdrowa dłoń ma pięć palców.

Więc teraz zadam pytanie: ile widzisz palców?

 class="wp-image-3573440"
Myriams-Photos / Pixabay

Dłoń osoby dorosłej ma pięć palców, widzimy cztery. Dłoń dziecka ma pięć palców, widzimy trzy (na upartego pięć jeżeli zaczniemy się kłócić). Dla generatywnych modeli sztucznej inteligencji obiektywną prawdą jest to, co widzą. To, co widzą, jest ich wiedzą. To, co wiedzą, przekładają na to, co generują.

Biorąc pod uwagę, pod iloma kątami można sfotografować dłoń i ile różnych pozycji dłoń sama w sobie może przyjąć, dane treningowe pokazują sztucznej inteligencji, że dłonie mają od jednego do aż dziesięciu palców: jeden w danych z płasko ułożoną dłonią, cztery tam, gdzie trzymamy dłoń na poręczy i dziesięć palców w danych, gdzie obie dłonie są wspólnie zaciśnięte w pięść.

Modele text-to-image nie zawierają tej samej "tekstowej" wiedzy z książek i Wikipedii, która tłumaczyłaby różnicę pomiędzy różnymi pozami a ilością widocznych palców. Żaden zbiór danych treningowych również nie standaryzuje ilości palców widocznych na zdjęciach, dlatego sztuczna inteligencja fantazjuje na temat tego, ile właściwie powinno być palców.

Archetyp - a może przeklęty ideał?

Ostatni czynnik, z którego mało kiedy zdajemy sobie sprawę to istnienie pewnego rodzaju archetypu. Kiedy poproszę sztuczną inteligencję o stworzenie wizji futurystycznego miasta, nieświadomie dajemy jej przyzwolenie na fantazjowanie."Futurystyczne miasto" to koncepcja, która fizycznie nie istnieje, każdy ma inne wyobrażenie, które jest oparte o wyobrażenia i wizje innych osób. Nie ma jednej "idei" futurystycznego miasta, są tylko różne iluzje i fantasmagorie, dlatego dajemy sztucznej inteligencji przyzwolenie na pominięcie okna w budynku czy wsadzenie w projekt pojazdu, którego fizycznie nie da się skonstruować.

Podobnie jest kiedy promptem jest "pejzaż górski z przytulną drewnianą chatką". Oczami wyobraźni widzimy drewnianą chatkę, góry, drzewa, może jakieś rośliny czy górski potok - mamy bardzo duży margines akceptacji błędu, bo góry górom nierówne i nawet w ramach tego samego łańcucha można doświadczyć różnych widoków. Nie jesteśmy ekspertami od botaniki, niezbyt nas obchodzi czy dany gatunek drzewa występuje w Europie, czy nie, wystarczy, że wpasowuje się w klimat ilustracji.

 class="wp-image-3573662"
"mountains meadow cottage Alpenglow" / Midjourney

W przypadku dłoni istnieje twardy archetyp, przez który margines akceptacji błędu w generowaniu rąk jest bardzo niski. Liczba palców inna niż 5? Źle. Palce wyginają się, w nie tę stronę co trzeba? Źle. Dłoń jest nienaturalnie ułożona względem czynności wykonywanej przez postać? Źle. Na dłoni widać wyraźnie kości śródręcza i naczynia krwionośne, pomimo że postać jest otyła? Źle.

Prawda jest taka, że gdyby porównać jakość generowanych dłoni do dowolnego innego przedmiotu z perspektywy eksperta, to wyszłoby, że sztuczna inteligencja popełnia równie wielkie gafy w wielu innych dziedzinach. Problem polega na tym, że każdy człowiek jest naturalnie ekspertem od dłoni.

Podobny problem dotyczy ras psów i kotów, gdzie również istnieje pewien wizualny archetyp, profesjonalnie nazywany wzorcem rasy. Nawet jeżeli sztuczna inteligencja załapie umaszczenie zwierzęcia, jego gęstość, kształt pyska, to "wywali się" na proporcjach ciała czy kształcie uszu.

 class="wp-image-3573551"
Berneński pies pasterski: po lewej stronie Midjourney, po prawej stronie zdjęcie uppfeldt/Pixabay

No to dobra, jak rozwiązać problem?

W bardzo dużym uproszczeniu, problemy w generowaniu dłoni przez sztuczną inteligencję sprowadzają się do dwóch czynników: ilości i jakości danych oraz ich oznaczenia. SI mogłaby się nauczyć tego jak wygląda dłoń gdybyśmy nakarmili ją większą ilością danych pozwalającą jej zauważyć jak faktycznie wygląda i działa dłoń. Lepsze oznaczenie danych (tzw. labelling), co dawałoby modelowi informacje o tym co widzi, np. "dłoń na myszce, widoczne trzy palce" lub "dłoń na mopie, pomarszczona dłoń, widoczny tył dłoni" pozwoliłoby jej mniej halucynować i lepiej wpisać się w nasz archetyp idealnej dłoni.

REKLAMA

Oznaczać powinno się nie tylko dane treningowe, ale też efekty działania modelu. A właściwie oceniać. Jeżeli korzystaliście kiedyś z ChatGPT czy Midjourney, to oba te modele oferują ocenę wygenerowanych treści. Kciuk w górę do sygnał dla SI, że dobrze wykonuje swe zadanie i powinna podążać tym tropem w przyszłych zapytaniach, natomiast kciuk w dół informuje, że wymagana jest poprawa.

Obecnie jest już lepiej niż było choćby pół roku temu. W najnowszej wersji wcześniej wspomnianego Midjourney czy nowo wydanego Stable Diffusion XL sztuczna inteligencja już lepiej radzi sobie z generowaniem dłoni. Jednak nadal tworzenie idealnych dłoni pozostaje problemem każdej SI i pozostanie na długo, o ile nie wkroczymy do galerii w której zamknęliśmy SI.

REKLAMA
Najnowsze
REKLAMA
REKLAMA
REKLAMA