728 x 90

Złożoność prostoty

Złożoność prostoty

Z jednej strony mamy brzytwę Ockhama: wybieraj tylko najprostsze modele, aby modelować świat. Z drugiej zaś strony wiemy, że aby zbudować inteligencję, musimy stworzyć coś bardzo złożonego – coś o stopniu skomplikowania mózgu, który musi zawierać wiele wspomnień (parametrów). Między tymi dwoma ograniczeniami istnieje nieodłączny konflikt.

Wiele twarzy modelu

Jeśli mamy model bardzo skomplikowany, często okazuje się, że będzie on zbyt skomplikowany, ponieważ może “zapamiętać zestaw treningowy”. Skutkuje to systemem który działa dobrze, ale jedynie w bardzo wąskiej niszy (w ekstremalnym przypadku jedynie na zbiorze uczącym).  W rzeczywistości takie zbyt “dobre dopasowanie” może to nie być tak oczywiste. Na przykład istnieje inna, nie intuicyjna sytuacja, w której może nas uderzyć nadmierne dopasowanie (z angielskiego “overfitting”): przypadek, w którym model jest wyraźnie zbyt prosty, aby rozwiązać zadanie które mamy namyśli, ale zadanie określone w zestawie danych jest faktycznie znacznie prostsze niż to, co pierwotnie zamierzaliśmy rozwiązać.

Ponieważ nie jest to czywiste, pozwólcie, że wyjaśnię to na przykładzie.

Rysunek 1. Przykład bokehu wokół obrazu zwierzęcia.

Naukowcy budowali biologicznie zainspirowany system klasyfikacji obrazów. Do klasyfikacji binarnej wykorzystali zestaw danych ze zdjęciami zwierząt i nie-zwierząt. Po uczeniu okazało się, że ich stosunkowo prosty klasyfikator jest w stanie osiągnąć 100% wydajności na zbiorze testowym. Wyraźnie widać, że coś tutaj jest nie tak, ale jak to możliwe, skoro zadanie (postrzeganie zwierzęcia) wymaga dość zaawansowanego rozumienia wizualnej rzeczywistości? W końcu okazało się, że w zestawie danych, który został wykorzystany przez klasyfikatora, pojawiło się zjawisko stronniczości: wszystkie zdjęcia zwierząt zostały wykonane za pomocą teleobiektywu i wyśrodkowane. Prosta cecha: rozmyty obraz w otaczającym otoczeniu (telephoto bokeh) i ostry w środku wystarczył do rozwiązania zadania i pozwolił na 100% klasyfikację, jednak zadanie faktycznie rozwiązane przez klasyfikator było rozróżnieniem obrazu uzyskanego za pomocą telefotografii i tej wykonywanej za pomocą zwykłego obiektywu (i to tylko w tym wąskim kontekście),  nie miało więc nic wspólnego z zadaniem pierwotnie zaplanowanym przez badaczy.

Myślę, że ta anegdota (w rzeczywistości jestem prawie pewien, że jest to prawdziwa historia, po prostu nie mogę znaleźć do niej żadnego odniesienia w formie drukowanej) jest bardzo wymowna. Ilustruje to, że równie ważne, jeśli nie ważniejsze, jest uważne rozważenie zadania, które zlecamy systemowi nauki maszynowej. Ile takich błędnych korelacji jest dostępnych w zbiorze danych ImageNet? Ponieważ obrazy  zawierają ogromną ilość informacji, może być mnóstwo podobnych rzeczy, a może nawet bardziej złożonych kombinacji  błędnych relacji. Oczywiście jest płynna granica: niektóre z tych pozornych, przypadkowych relacji łączą się w rzeczywiste relacje semantyczne, takie jak: “ptak to obiekt często widziany na niebieskim tle (niebo)”. Nie jest zatem oczywiste, że wszystkie takie relacje są błędne same w sobie (takie jak odkrycie bokeh w anegdocie powyżej). Nie reprezentują one jednak semantyki, którą chcemy przekazać tworząc zestaw danych i system  (np. zwierzę to coś z parą oczu i ust itp). W rezultacie, systemy te mogą uogólniać na dziwne sposoby co ma szczególne znaczenie gdy chcemy podobne rozwiązania stosować w robotyce (np. autonomicznych samochodach). Analogicznie do pewnego stopnia, w uczeniu ze wzmocnieniem, agenci uczący się mogą wykorzystywać dziury w funkcjach nagrody, jeśli nie są one zdefiniowane w sposób wystarczająco ostrożny.

Proste sposoby pokonania złożoności?

Jak możemy pokonać takie błędne odkrycia i wymusić odkrycie właściwej semantyki w danych? Po pierwsze: potrzebujemy wyraźnie więcej danych (w przypadku anegdoty: dodawanie zdjęć zwierząt także wykonanych innymi obiektywami). Wiele niedawnych sukcesów sztucznej inteligencji zawdzięczamy wielkim zbiorom danych treningowych takich jak ImageNet. Ale w przypadku wizji, szczególnie w kontekście robotyki (i wszelkich innych zadań, gdzie wymiar wejściowy jest ogromny) może to nie wystarczyć. Problemem jest ogromna nierównowaga pomiędzy wymiarowością danych wejściowych i przyporządkowania materiału wejściowego (etykiety której chcemy wyuczyć). Obrazy mają wiele mają miliony wymiarów (pixeli), etykiety zazwyczaj tylko kilkaset bitów. System uczenia maszynowego wybiera taki podział danych, który wydaje się być statystycznie najbardziej istotny (najlepiej separuje dane). Nie należy oczekiwać niczego innego od systemu zoptymalizowanego na podstawie pomiaru statystycznego. Statystyczna separacja nie musi oznaczać, że system odkrył własciwą semantykę podziału danych. Ponadto, błędy uprzedzenia (bias) są często nieświadomie wprowadzane przez osoby, które tworzą zbiór danych za pomocą różnych selekcji np. usuwając nieostre lub rozmyte obrazy w ruchu itp.

Moja propozycja, to zmienić zadanie rozwiązywane przez system – zamiast asocjować wielkiego wektora wejściowego z niewielką etykietą, zmusić system do przewidywania ewolucji tego wektora, ewentualnie uczyć etykiety niejako z boku. Rozwiązując bardziej ogólny problem przewidywania ewolucji fizycznego układu (w celu odróżnienia go od przewidywania statystycznego – abstrakcyjnie etykietowanych danych), dane wejściowe i etykieta zostają całkowicie zrównoważone, a problem selekcji ludzkiej całkowicie znika (gdyż danej muszą wejśc do system prosto z sensora, bez cenzury). W takim przypadku podstawowa “etykieta” jest tylko wersją przesuniętą czasowo surowego sygnału wejściowego. Więcej danych oznacza więcej sygnału, co oznacza lepsze przybliżenie rzeczywistego zakresu danych. A ponieważ ta wielorakość wywodzi się z fizycznej rzeczywistości (nie, nie, nie została pobrana z zestawu niezależnych i identycznie rozłożonych rozkładów normalnych), nic dziwnego, że wykorzystanie fizyki jako paradygmatu treningowego może pomóc w prawidłowym jej rozwiązaniu. Ponadto dodawanie parametrów należy zbilansować poprzez dodanie większej ilości ograniczeń sygnału treningowego. Tak właśnie dzieje się w hierarchicznym systemie predykcyjnym, takim jak Predictive Vision Model (PVM).

W ten sposób powinniśmy być w stanie zbudować bardzo skomplikowany system o miliardach parametrów, ale działający na bardzo prostej i uniwersalnej zasadzie. Złożoność rzeczywistego sygnału i bogactwo danych może uniemożliwić znalezienie “tanich” i błędnych rozwiązań. Jednak koszt, który musimy ponieść, to konieczność rozwiązania bardziej ogólnego i złożonego zadania, które może nie przekładać się łatwo i bezpośrednio na coś, co ma znaczenie praktyczne, a przynajmniej nie natychmiastowo. W związku z tym może minąć pewien czas nim takie podejście nie przyniesie tak dobre rezultaty jak modele prostsze. Jest to zatem zadanie długoterminowe, ale warte pracy, jeśli naprawdę poważnie chcemy rozwiązać problem sztucznej inteligencji (AI), przynajmniej rozwiązać go na tyle, aby zbudować inteligentne roboty.

Źródła obrazów: opracowanie autora i freeimages.com

2 comments

Leave a Comment

Your email address will not be published. Required fields are marked with *

Cancel reply

2 Comments

  • Mateusz
    17 października 2017, 23:16

    Na dobrą sprawę, uczenie skomplikowanego modelu bardzo przypomina wychowywanie dzieci. Musimy starannie dobrać dane, aby przekazać naszemu modelowi odpowiednie wzorce. Co więcej, zbiór uczący musi być bogaty i dobrze dobrany. Przez to uczenie jest drogie i długotrwałe, a efekty…zawsze niepewne. Wypisz wymaluj wychowywanie dzieci;)

    REPLY
    • Filip@Mateusz
      18 października 2017, 01:33

      To zasadniczo dobra analogia, chociaz trzeba byc ostroznym. Dzieci ucza sie przede wszystkim samodzielnie (bez nadzoru) i maja zdecydowanie bogatsze modele i doswiadczenia niz cokolwiek w dziesiejszym uczeniu maszynowym.Jesli uczymy dziecko z nadzorem jest to na tyle mala czescia doswiadczen, ze mozna to traktowac wrecz jako "modulacje" zasadniczego, samodzielnego uczenia. Uczenie maszynowe jest natomiast praktycznie calkowicie skupione na uczeniu z nadzorem, przez to bledy popelniane przez te systemy sa zdecydowanie inne niz te popelniane przez ludzi, czesto kontrastujace ze "zdrowym rozsadkiem".

      REPLY

Inne artykuły