Gość (37.30.*.*)
Każdy, kto choć raz bawił się generatorami obrazów takimi jak Midjourney czy DALL-E, prawdopodobnie natknął się na ten charakterystyczny, nieco niepokojący widok: przepiękna postać, idealne oświetlenie, fotorealistyczne detale i... sześć palców u jednej dłoni. Choć sztuczna inteligencja potrafi stworzyć symfonię w stylu Beethovena lub napisać kod w Pythonie, prosta anatomia ludzkiej dłoni wciąż bywa dla niej wyzwaniem. Dlaczego tak się dzieje, skoro w instrukcjach (promptach) wyraźnie zaznaczamy, że chcemy pięć palców?
Podstawowym powodem, dla którego AI popełnia błędy w liczbie palców, jest fakt, że modele generatywne nie rozumieją, czym jest dłoń w sensie biologicznym. Dla algorytmu dłoń nie jest częścią ciała z kośćmi, stawami i konkretną liczbą zakończeń. AI postrzega ją jako zbiór pikseli, które często występują obok siebie w określonych konfiguracjach kolorystycznych i geometrycznych.
Kiedy uczymy AI na milionach zdjęć, widzi ona dłonie w tysiącach różnych pozycji: zaciśnięte w pięść, trzymające kubek, machające, schowane częściowo w kieszeni czy splecione z drugą dłonią. W wielu z tych ujęć nie widać wszystkich pięciu palców. Czasem widać dwa, czasem trzy, a czasem – z powodu perspektywy lub ruchu – palce zlewają się w jedną masę. AI uczy się więc, że "dłoń" to po prostu "mięsisty kształt z wystającymi podłużnymi elementami".
Sztuczna inteligencja opiera się na statystyce, a nie na logice. Jeśli w bazie danych znajduje się mnóstwo zdjęć, na których palce nachodzą na siebie lub są skrócone perspektywicznie, model wyciąga średnią z tych obrazów. Dla algorytmu "pięć" to tylko słowo, które próbuje powiązać z obrazem, ale wizualna reprezentacja dłoni jest tak zmienna, że matematyczna korelacja między słowem a liczbą detali na obrazie często się rozmywa.
Co ciekawe, twarze są dla AI znacznie łatwiejsze do wygenerowania. Dlaczego? Ponieważ twarze są relatywnie przewidywalne – dwoje oczu, nos pośrodku, usta poniżej. Dłonie natomiast są najbardziej ruchliwą i zmienną częścią ludzkiego ciała pod względem wizualnym. Zmienność formy sprawia, że AI "pogubi się" w liczeniu, skupiając się bardziej na teksturze skóry i ogólnym kształcie niż na precyzyjnej liczbie palców.
Zauważono, że AI częściej dodaje palce, niż je odejmuje. Wynika to z faktu, że proces generowania obrazu (dyfuzja) polega na odszumianiu obrazu. W miejscach, gdzie dłoń jest skomplikowana, algorytm może zinterpretować "szum" jako kolejny palec i próbować go doprecyzować, zamiast go usunąć.
Wpisanie w polecenie frazy "five fingers" (pięć palców) często nie przynosi rezultatu, ponieważ modele tekstowo-obrazowe działają na zasadzie tzw. tokenów. Słowo "pięć" jest dla modelu silną sugestią, ale wizualny wzorzec "dłoni" ma w sieci neuronowej znacznie większą wagę. Jeśli wzorzec wizualny mówi, że w danej pozie dłoń wygląda na skomplikowaną strukturę z wieloma wypustkami, AI priorytetyzuje wygląd nad matematyczną poprawność zawartą w tekście.
Warto też wspomnieć o zjawisku "negatywnych promptów". Użytkownicy często wpisują "extra fingers" lub "mutated hands" w poleceń wykluczających. Choć to pomaga, nie rozwiązuje problemu u źródła, ponieważ AI wciąż operuje na tych samych, niedoskonałych mapach prawdopodobieństwa.
Postęp w tej dziedzinie jest błyskawiczny. Nowsze wersje modeli, takie jak Midjourney v6 czy najnowsze iteracje Stable Diffusion, radzą sobie z dłońmi znacznie lepiej niż ich poprzednicy sprzed roku. Twórcy oprogramowania zaczynają stosować dodatkowe mechanizmy, takie jak:
Mimo tych usprawnień, dłonie pozostają swoistym "testem Turinga" dla grafiki generatywnej. Dopóki AI nie zacznie rozumieć trójwymiarowej struktury świata i funkcjonalności obiektów, które tworzy, od czasu do czasu będziemy musieli pogodzić się z widokiem dodatkowego kciuka.