Komputery nie śpią. Po prostu patrzą na dane, aż wyglądają zupełnie inaczej.
Kiedy jesteśmy offline, nasze maszyny są zajęte ponownym przemyśleniem starych plików i generowaniem nowych, dziwnych rzeczy. Silnik tego procesu? Głęboki sen Google. To program, który wyszukuje wzorce na obrazach cyfrowych, modyfikuje je i generuje wyniki do oceny. Możesz uzyskać zabawne, artystyczne lub koszmarne rezultaty. Wszystko zależy od tego, czym go karmisz i jakie parametry ustalają pracownicy Google.
Jedynym sposobem, aby naprawdę zrozumieć, co robi Deep Dream, jest wypróbowanie tego samemu. Google udostępnił swoje serwery publicznie. Celem było zrozumienie, w jaki sposób program klasyfikuje i indeksuje obrazy. Przesyłasz zdjęcie. W ciągu kilku sekund otrzymasz fantastyczny obraz oparty na oryginalnym zdjęciu.
Rezultatem jest dziwna hybrydyzacja. Wyobraź sobie, że Salvador Dali, Hieronymus Bosch i Vincent Van Gogh urządzili szaloną imprezę artystyczną, która trwała całą noc. To jest właśnie ten klimat. Liście zamieniają się w kolorowe wiry. Kamienie stają się powtarzającymi się prostokątami. Góry rozpływają się w pełne wdzięku, podkreślone linie.
Pusty krajobraz? Wypełnia go Głęboki Sen. Pagody. Samochody. Mosty. Części ludzkiego ciała. Widzi zwierzęta. Dużo zwierząt.
Pobierz portret Toma Cruise’a. Program przekształci fałdy i przestrzenie w głowy psów, ryby i inne znane stworzenia. To nie są zwykłe zwierzęta. To fantastyczne rekonstrukcje przeplatane kalejdoskopem przypominającym LSD. Są strasznie wyraziste. Często przerażające.
Google nie organizuje imprez. Nie karmi swoich serwerów halucynogennymi chemikaliami. Kieruje te serwery do analizy obrazów, a następnie reprodukcji ich w postaci nowych reprezentacji naszego świata.
Sposób, w jaki to działa, mówi nam coś o tym, jak tworzymy urządzenia cyfrowe. Pokazuje, jak maszyny przetwarzają niewyobrażalne ilości danych w świecie mającym obsesję na punkcie technologii.
Neurony w kawałkach
Komputery to zimne, nieorganiczne maszyny. Nie śpią. Na pewno nie marzą. A przynajmniej tak nam się wydawało.
Deep Dream zmieniło to postrzeganie. Nie chodziło o to, żeby dać komputerowi podświadomość. Chodziło o ukazanie niesamowitej, dziwnej złożoności, która powstaje, gdy wprowadza się dane ludzkiego świata do coraz bardziej zawiłego kodu.
Programiści Google nie rozpoczęli tego jako projektu artystycznego. Stworzyli Deep Dream na potrzeby konkursu rozpoznawania wizualnego na dużą skalę w ImageNet. Konkurs ten rozpoczął się w 2010 roku. Co roku kilkadziesiąt zespołów rywalizuje o stworzenie najlepszych automatycznych klasyfikatorów obrazów. Cel? Rozpoznawaj i sortuj miliony zdjęć bez interwencji człowieka. Po każdym konkursie przegrani (i zwycięzcy) udoskonalają swoje algorytmy. Próbują zrobić to szybciej. Lepsza. Dokładniej.
Na tym polega problem z tym wyszukiwaniem. W naszym standardowym zestawie narzędzi internetowych w dużej mierze nie ma funkcji rozpoznawania obrazów. Wyszukiwarki? Uwielbiają słowa kluczowe. Wpisz „kot”, a otrzymasz wyniki tekstowe. Wpisz „cat.jpg” i możesz pobrać plik. Ale poproś wyszukiwarkę, aby zrozumiała, co jest na zdjęciu? Doświadcza trudności.
Sami oznaczamy nasze zdjęcia. “Dom”. „Tommy”. “Zachód słońca”. Robimy to, ponieważ komputery nie są w stanie niezawodnie przetwarzać szumu wizualnego. Prawdziwe życie jest chaotyczne. To nie są czyste wektory. To hałas. Do niedawna maszyny uważały ten szum za niepotrzebne dane.
Deep Dream był próbą skorygowania tej ślepoty.
Jak działa Deep Dream
Sekretny składnik? Sztuczna sieć neuronowa (ANN).
To nie tylko kod. Jest to system wzorowany na ludzkim mózgu. Pomyśl o tym. Mamy ponad 100 miliardów neuronów. Przekazują impulsy. Przetwarzaj dane sensoryczne. Pomóż nam rozpoznać twarz w tłumie.
Deep Dream imituje to. Wykorzystuje sztuczne neurony do filtrowania danych. Przekazuje te dane przez warstwy. I warstwy. I warstwy. Wciąż.
Architektura snu
W przypadku Deep Dream sieć ma zazwyczaj od 10 do 30 warstw tych sztucznych neuronów. To wiele etapów przetwarzania jednego obrazu.
System nie tylko „widzi” obraz. Rozbija go na kawałki. Szuka wzorów. Krawędzie. Krzywe. Tekstury. Na każdej warstwie udoskonala swoją interpretację. Efektem końcowym jest obraz. Ale nie ten oryginalny.
Rezultatem jest halucynacja.
Przesyłasz zdjęcie parku. Komputer widzi drzewa. Widzi trawę. Ponieważ jednak sieć neuronowa jest doskonale dostrojona do wyszukiwania czegokolwiek podobnego do znanego obiektu, zaczyna wzmacniać te cechy.
Trawa staje się futrem. Gałęzie drzew – z nogami. Niebo staje się gigantycznym okiem.
Dlaczego jest to ważne w przypadku wyszukiwania wizualnego
To nie tylko szalony wygaszacz ekranu. To pokazuje zmianę w sposobie przetwarzania informacji.
Przez wiele lat polegaliśmy na metadanych. Zaplanowaliśmy nasze cyfrowe życie. Jednak Deep Dream pokazał, że maszyny mogą nauczyć się interpretować dane wizualne bez tych wskazówek.
„Deep Dream pokazało nam, że jeśli pozwolimy maszynie patrzeć wystarczająco uważnie, znajdzie wzorce, których nie ma — lub, ściślej mówiąc, znajdzie wzorce, których my nie widzimy”.
Komputer nie śni w ludzkim sensie. Optymalizuje. Wypycha piksele tam, gdzie według nich powinny się znaleźć. Czyniąc to, odkrywa luki we własnym rozumieniu.
Jeśli maszyna może zamienić rower w stworzenie z rowerów,
Sieci neuronowe to nie magiczne zwierciadła, które po prostu odbijają dane. Nie zaczynają automatycznie identyfikować wzorców znikąd. Potrzebują szkolenia. Muszą być karmieni zbiorami danych, które posłużą jako punkty wyjścia. Bez tej ciężkiej pracy po prostu na ślepo przeglądaliby informacje, nie będąc w stanie zrozumieć ani jednej ich części.
Jak podaje oficjalny blog Google, proces uczenia się opiera się na powtarzaniu i analizie. Załóżmy, że chcesz wytrenować sztuczną sieć neuronową (ANN) w zakresie rozpoznawania roweru. Nie mówisz jej po prostu „rower”. Pokazujesz jej miliony zdjęć rowerów. Określasz także w kodzie komputerowym dokładnie, jak wygląda rower: dwa koła, siodełko, kierownica.
Następnie badacze pozwolili sieci działać samodzielnie, aby zobaczyć, co odkryje. Ona będzie popełniać błędy. Program może zwrócić serię obrazów obejmujących motocykle i motorowery. Kiedy tak się dzieje, programiści dostosowują kod. Informują komputer, że motocykle nie mają silników ani układów wydechowych. Uruchomili program ponownie. I znowu. Dopracowują oprogramowanie, aż wyniki będą zadowalające.
„Zespół Deep Dream zdał sobie sprawę, że gdy sieć rozpozna pewne obiekty, może je również samodzielnie odtworzyć”.
Zespół Deep Dream zauważył coś interesującego. Gdy sieć rozpozna obiekty, może je renderować bez dalszego wprowadzania danych. Sieć rozpoznająca rower na pierwszy rzut oka może od podstaw wygenerować obraz roweru. Pomysł jest taki, że sieć generuje nowe kreatywne obrazy po prostu dlatego, że ma zdolność klasyfikowania i sortowania obrazów.
Brzmi imponująco, dopóki nie spojrzysz na wynik. Nawet po przetworzeniu milionów zdjęć rowerów komputery nadal popełniają krytyczne błędy podczas tworzenia własnych obrazów. Wygenerowane rowery mogą mieć częściowo ludzkie dłonie na kierownicy lub stopy na pedałach. Dzieje się tak dlatego, że wiele obrazów szkoleniowych przedstawia ludzi. Ostatecznie komputer nie jest w stanie określić, gdzie kończą się części roweru, a zaczynają części ludzkiego ciała.
Takie błędy występują z wielu powodów. Inżynierowie oprogramowania nie w pełni rozumieją wszystkie aspekty tworzonych przez siebie sieci neuronowych. Jednak wiedza o tym, jak one działają, pomaga zrozumieć, w jaki sposób powstają te wady.
Architektura incepcjonizmu
Sztuczne neurony w sieci działają warstwowo. W Deep Dream można zastosować od 10 do 30 warstw. Każda warstwa rejestruje inne szczegóły obrazu. Warstwy początkowe wykrywają podstawowe elementy, takie jak obramowania i krawędzie. Kolejna warstwa może identyfikować określone kolory i orientacje.
Inne warstwy szukają określonych kształtów przypominających obiekty, takie jak krzesło lub żarówka. Warstwy końcowe reagują jedynie na bardziej złożone obiekty takie jak samochody, liście czy budynki.
Programiści Google nazywają ten proces incepcjonizmem. Odnosi się to do tej konkretnej architektury sieci neuronowej. Opublikowali nawet publiczną galerię, aby pokazać przykłady prac Deep Dream. Oto spojrzenie na to, jak widzi maszyna.
Gdy sieć zidentyfikuje różne aspekty obrazu, wiele może się wydarzyć. W Deep Dream Google zdecydowało się wymusić na sieci tworzenie nowych obrazów. Ona nie tylko analizuje. Ona tworzy.
Ciemność na krawędzi
Inżynierowie Google nie tylko pozwolili Deep Dream wybrać, które części obrazu mają zostać rozpoznane. Właściwie poinstruowali komputery, aby podkreślały i uwydatniały te elementy obrazu.
Jeśli Deep Dream rozpozna figurkę psa we wzorze tkaniny na Twojej sofie, skupi się na szczegółach tego psa.
Każda kolejna warstwa dodaje nowe oznaki psiego wyglądu: sierść, oczy, nos. To, co kiedyś było nieszkodliwym pasleyem na Twojej kanapie, zamienia się w figurkę psa z zębami i oczami.
Z każdą iteracją generacji Deep Dream trochę się powiększa. Dodaje to coraz większej złożoności do obrazu. Wyobraź sobie psa w psie w psie.
Gdy Deep Dream interpretuje i nadmiernie podkreśla każdy szczegół obrazu, pojawia się pętla sprzężenia zwrotnego. Niebo pełne chmur zmienia się z idyllicznej sceny w przestrzeń wypełnioną kosmicznymi konikami polnymi, psychodelicznymi postaciami, tęczowymi samochodami i psami.
Istnieje przyczyna nadmiernej liczby psów w wynikach Deep Dream. Kiedy programiści wybrali bazę danych do trenowania tej sieci neuronowej, wybrali taką, która zawierała 120 podklas psów, z których wszystkie zostały starannie sklasyfikowane. Kiedy więc Deep Dream zacznie szukać części, jest bardzo prawdopodobne, że gdziekolwiek spojrzy, zobaczy psie twarze i łapy.
Deep Dream nie potrzebuje nawet prawdziwego obrazu, aby tworzyć obrazy. Jeśli dasz mu pusty biały obraz lub obraz wypełniony szumem statycznym, nadal „widzi” części obrazu, wykorzystując je jako elementy składowe do coraz dziwniejszych obrazów.
Jest to próba programu wydobycia znaczenia i formy z bezkształtnych danych. Odzwierciedla to ideę całego projektu – próbę znalezienia lepszych sposobów rozpoznawania i kontekstualizowania treści obrazów rozproszonych po komputerach na całym świecie.
Czy komputery naprawdę mogą marzyć? Czy stają się zbyt mądrzy dla własnego dobra? A może Deep Dream to tylko fantazyjny sposób na wyobrażenie sobie, jak nasza technologia przetwarza dane?
Trudno dokładnie wiedzieć, co kontroluje produkcję Deep Dream. Nikt nie kieruje oprogramowaniem tak, aby wykonywało wcześniej zaprogramowane zadania. Otrzymuje raczej niejasne instrukcje (aby znaleźć części i wielokrotnie je wzmacniać) i wykonuje tę pracę bez wyraźnych wskazówek człowieka.
Powstałe obrazy są odzwierciedleniem tej pracy. Być może te obrazy są dziełem sztuki wykonanym maszynowo. Być może jest to przejaw cyfrowych marzeń zrodzonych z krzemu i elektroniki. I być może to początek pewnego rodzaju sztucznej inteligencji, która sprawi, że nasze komputery będą mniej zależne od człowieka.
Możesz obawiać się pojawienia się inteligentnych komputerów, które przejmą władzę nad światem. Ale na razie takie projekty bezpośrednio przynoszą korzyści każdemu, kto korzysta z Internetu. Rozpoznawanie obrazów uległo znacznej poprawie w ciągu kilku lat, pomagając ludziom szybko przeglądać obrazy i grafikę w celu znalezienia potrzebnych informacji. Przy obecnym tempie rozwoju w najbliższej przyszłości możemy spodziewać się znaczących przełomów w rozpoznawaniu obrazów, po części dzięki wymarzonym komputerom Google.


































