Twoja wyszukiwarka

RYSZARD TADEUSIEWICZ
CZY MASZYNA MOŻE UCZYĆ SIĘ CAŁKIEM SAMA?
Wiedza i Życie nr 8/1998
Artykuł pochodzi z "Wiedzy i Życia" nr 8/1998

NAJBARDZIEJ ZNANYMI SYSTEMAMI, KTÓRE POTRAFIĄ SIĘ UCZYĆ, SĄ NEUROKOMPUTERY - SYSTEMY TECHNICZNE BUDOWANE W TAKI SPOSÓB, IŻ NAŚLADUJĄ BUDOWĘ I FUNKCJONOWANIE LUDZKIEGO MÓZGU. UCZENIE OPIERA SIĘ W NICH NA ZAŁOŻENIU, ŻE ISTNIEJE NAUCZYCIEL, KTÓRY POKAZUJE NEUROKOMPUTEROWI, JAK POWINIEN SIĘ ZACHOWYWAĆ. JESZCZE CIEKAWSZE JEST JEDNAK INNE UCZENIE - KIEDY NEUROKOMPUTER ZDOBYWA WIEDZĘ ZUPEŁNIE SAM, BEZ JAKIEJKOLWIEK INTERWENCJI CZŁOWIEKA. O TYM, JAK TAKIE SAMOUCZENIE MOŻE PRZEBIEGAĆ - TRAKTUJE WŁAŚNIE TEN ARTYKUŁ.

Współczesne komputery są wygodnymi i szybkimi maszynami automatyzującymi prace obliczeniowe i związane z przetwarzaniem informacji, dlatego zyskały bardzo liczne i ciekawe zastosowania, o których napisano już całe tomy. Klasyczne komputery mają jednak jedno podstawowe ograniczenie: wszystko, co robią, musi być wcześniej zapisane przez człowieka w postaci specjalnego programu. Jeśli programista nie przewidzi jakiejś czynności w pisanym przez siebie kodzie - komputer nigdy jej nie wykona.

Taki tępy i ograniczony pomocnik nie jest szczególnie wygodny dla korzystającego z jego usług człowieka. Znacznie milej i zgrabniej byłoby dysponować urządzeniem, które mogłoby dostosować swoje zachowanie do zmiennych zadań i zmiennych potrzeb, zdobywać i wykorzystywać wiedzę - po prostu takim, które potrafi się uczyć. Dlatego - mimo bezspornej przydatności i rosnącej doskonałości używanych obecnie komputerów - ciągle trwają prace badawcze i poszukiwania naukowe, których celem jest budowa maszyn uczących się.

Ryc. 1. Struktura i podstawowe elementy "sztucznego neuronu"

Zacznijmy od tego, że przedstawię bohatera dzisiejszej opowieści. Neurokomputer jest systemem zbudowanym ze sztucznych neuronów (ryc. 1), będących uproszczonymi modelami rzeczywistych biologicznych komórek nerwowych (ryc. 2). Dlatego zwykle mówimy, iż mamy do czynienia z siecią neuronów. W tym artykule ograniczymy się do sieci w postaci jednej warstwy (ryc. 3). Do wszystkich neuronów tej warstwy podawane są te same sygnały wejściowe i wszystkie neurony wyznaczają wartość swojego stopnia pobudzenia, przemnażając sygnały wejściowe (identyczne dla wszystkich neuronów) przez parametry opisujące ich indywidualny stan wiedzy, czyli przez tzw. współczynniki wagowe (oczywiście, inne w każdym neuronie).

Ryc. 2. Struktura i elementy składowe biologicznego neuronu

Z teorii sieci neuronowych (której oczywiście nie będę tu przytaczał) wynika, że pobudzenie neuronu jest tym silniejsze, im lepsza będzie zgodność między sygnałami wejściowymi podanymi w danej chwili a wewnętrznym wzorcem zapamiętanym w neuronie w postaci zestawu współczynników wagowych. Znając współczynniki wagowe neuronu, wiemy zatem, na które sygnały wejściowe będzie on reagował pozytywnie, a na które negatywnie.

Jeśli założymy, że sygnały wejściowe mają tylko dwie składowe, to można je zaznaczać jako punkty na płaszczyźnie. Płaszczyznę tę nazywamy przestrzenią sygnałów wejściowych. Również wagi wszystkich neuronów też mają dwie składowe (wag musi być zawsze tyle samo, ile składowych sygnału) i też można je zaznaczać jako punkty na płaszczyźnie - najwygodniej na tej samej płaszczyźnie. W ten sposób na płaszczyźnie sygnałów wejściowych pojawią się punkty sygnalizujące lokalizacje poszczególnych neuronów, wynikające z ich wewnętrznej wiedzy, czyli z wartości przyjmowanych przez ich współczynniki wagowe.

Ryc. 3. Struktura jednowarstwowej sieci neuronowej, która będzie podlegać samouczeniu

Wzajemne położenie punktów oznaczających wagi neuronów i punktów pokazujących położenie sygnałów umożliwia pełne opisanie właściwości i zachowania sieci (ryc. 4).

Metody samouczenia neurokomputera polegają na podawaniu na wejście sieci wyłącznie szeregu przykładowych danych wejściowych bez jakiejkolwiek informacji dotyczącej pożądanych czy chociażby tylko oczekiwanych sygnałów wyjściowych. Okazuje się, że odpowiednio zaprojektowana sieć neuronowa potrafi wykorzystać same tylko obserwacje wejściowych sygnałów i zbudować na ich podstawie sensowny algorytm swojego działania - najczęściej polegający na tym, że automatycznie wykrywane są klasy powtarzających się (być może z pewnymi odmianami) sygnałów wejściowych i sieć uczy się (zupełnie spontanicznie, bez jawnego nauczania) rozpoznawać te typowe wzorce sygnałów.

Ryc. 4. Interpretacja wzajemnego położenia wektora wag i wektora sygnału wejściowego

Samouczenie sieci jest bardzo interesujące z punktu widzenia analogii, jakie istnieją między działaniem sieci i ludzkiego umysłu - człowiek też ma zdolność do spontanicznego klasyfikowania napotykanych obiektów i zjawisk (niektórzy nazywają to "formowaniem pojęć", a po dokonaniu stosownej klasyfikacji rozpoznaje kolejne obiekty jako należące do jednej z tych wcześniej poznanych klas. Samouczenie jest też bardzo interesujące z punktu widzenia zastosowań, gdyż nie wymaga żadnej jawnie podawanej do sieci neuronowej zewnętrznej wiedzy - która może być niedostępna lub której zgromadzenie może być zbyt fatygujące - a sieć zgromadzi wszystkie potrzebne informacje i wiadomości zupełnie sama.

Można sobie wyobrazić (raczej dla zabawy i pobudzenia wyobraźni niż z realnej potrzeby), że sieć samoucząca się z kamerą telewizyjną może być wysłana w bezzałogowej sondzie kosmicznej na Marsa. Nie wiemy, jakie tam panują warunki, nie wiemy więc, jakie obiekty nasza sonda powinna rozpoznawać. Mało tego - nie wiemy nawet, ile klas obiektów się pojawi!

Nie szkodzi, sieć sobie poradzi. Sonda ląduje i sieć zaczyna proces samouczenia. Na początku nie rozpoznaje nic, tylko obserwuje. Z czasem jednak proces spontanicznej samoorganizacji doprowadzi do tego, że sieć nauczy się wykrywać i rozróżniać między sobą różne typy sygnałów wejściowych, które pojawiają się na jej wejściu: oddzielnie skały i kamienie, oddzielnie formy roślinne (jeśli będą), a oddzielnie zwierzęta. Jeśli damy sieci wystarczająco dużo czasu - może się tak wyszkolić, że potrafi odróżniać Marsjan od Marsjanek - chociaż jej twórca nie wiedział nawet, że oni istnieją!

Oczywiście, opisany wyżej samouczący się lądownik marsjański jest wyłącznie tworem hipotetycznym, chociaż sieci same tworzące i rozpoznające różne wzorce istnieją i są chętnie stosowane. Dla przykładu, może nas interesować, ile i jakich form pewnej mało znanej choroby naprawdę występuje. Czy jest to jedna jednostka chorobowa, czy kilka? Czym się różnią? Jak je leczyć? Wystarczy wtedy wziąć samouczącą się sieć neuronową i dostatecznie długo pokazywać jej informacje o rejestrowanych pacjentach i ich objawach. Po pewnym czasie sieć poda informację, ile typowych grup symptomów da się wykryć i na podstawie jakich kryteriów można odróżniać pacjentów zaliczanych do różnych grup. Do badacza należy wtedy tylko nadanie tym grupom odpowiednio mądrze brzmiących łacińskich nazw i już może biec do krawca, żeby przymierzyć frak uszyty na uroczystość wręczenia Nagrody Nobla!

Ryc. 5. Początkowe położenie punktów reprezentujących neurony

Przyjrzyjmy się teraz procesowi samouczenia nieco dokładniej. Na początku wszystkie neurony otrzymują przypadkowe wartości współczynników wagowych, co na rysunku 5 widać jako "chmurkę" przypadkowo rozrzuconych punktów (każdy z tych punktów reprezentuje jeden neuron, a położenie punktów wynika z wartości współczynników wag). Do takiej przypadkowo zainicjowanej sieci zaczynają napływać sygnały wejściowe, które stanowią przykładowe próbki obiektów, z którymi sieć ma do czynienia.

Umówmy się, że obiekty pokazywane w pierwszej ćwiartce to Marsjanie, w drugiej Marsjanki, w trzeciej Marsjanięta, a w czwartej - Marsjamory1. Każdy pokazany Marsjanin będzie trochę inny, ale ich cechy (wyrażające się lokalizacją odpowiadających im punktów w przestrzeni wejściowych sygnałów) będą się wyraźnie grupowały wokół pewnych "prototypów", bo Marsjanie są do siebie nawzajem podobni, choć różnią się oczywiście od Marsjanek.

Pokazany sieci sygnał wejściowy zaznaczony jest na rysunku 6 jako fioletowy kwadrat. Otrzymawszy ten sygnał na swoich wejściach - wszystkie neurony samouczącej się sieci określą (na podstawie składowych tego sygnału wejściowego oraz swoich wag) swoje sygnały wyjściowe. Sygnały te mogą być dodatnie (dany obiekt się temu neuronowi podoba - punkty takie zaznaczone są na rysunku jako czerwone) albo ujemne (dany obiekt się temu neuronowi nie podoba - punkty takie zaznaczono jako niebieskie). Jeśli sygnały wyjściowe pewnych neuronów (zarówno dodatnie, jak i ujemne) mają małą wartość - odpowiednie punkty przyjmują barwę szarą (odpowiednie neurony mają do pojawiającego się osobnika obojętny stosunek).

Ryc. 6. Sytuacja po pojawieniu się obiektu uczącego

Na podstawie sygnałów wejściowych i ustalonych wyjść wszystkie neurony samouczącej się sieci korygują swoje wagi. Podczas korekty wag zachowanie każdego neuronu zależy od tego, jaka była wartość jego sygnału wyjściowego, którym odpowiedział on na pobudzenie. Jeśli sygnał wyjściowy neuronu był silnie pozytywny (na rysunku czerwony) - wagi zmieniają się w taki sposób, że neuron zbliża się do punktu, który mu się tak podobał. Oznacza to, że jeśli ponownie zostanie pokazany ten sam punkt - neuron odnotuje go jeszcze bardziej entuzjastycznie (sygnał wyjściowy będzie miał jeszcze większą dodatnią wartość).

Z kolei neurony, które wykazywały w stosunku do aktualnie pokazywanego wzorca stosunek negatywny (na rysunku widoczne jako punkty niebieskie) - będą od wzorca "odpychane", w wyniku czego ich wagi skłonią je w przyszłości do jeszcze bardziej negatywnego reagowania na ten typ wejścia (ryc. 7). Na rysunku widoczne są zarówno poprzednie (kolorowe), jak i nowe (granatowe) położenia punktów reprezentujących neurony, co więcej - stare położenie jest z nowym połączone kropkowaną linią, można więc śledzić "drogę", jaką przebywają uczące się neurony. W kolejnym kroku nowe wagi neuronów stają się starymi i po pokazaniu kolejnego punktu cały cykl zaczyna się od początku. Jeśli ten proces będzie się dostatecznie długo powtarzał - powstanie w każdej ćwiartce skupisko neuronów, które będzie wyspecjalizowane w rozpoznawaniu typowego obiektu należącego do tej właśnie grupy. W ten sposób sieć - zupełnie sama - wyspecjalizuje się w rozpoznawaniu wszystkich napotkanych rodzajów obiektów.

Śledząc proces samouczenia, można zauważyć, że utrwala on i pogłębia jedynie "wrodzone skłonności" sieci neuronowej, wyrażające się w początkowym (losowym!) rozrzucie wektorów wag. Te właśnie początkowe różnice powodują, iż po pojawieniu się obiektu wejściowego jedne neurony reagują na jego pokazanie pozytywnie, a inne negatywnie, a potem następuje korekta wag wszystkich neuronów sieci w taki sposób, że w rezultacie uczy się ona rozpoznawać typowe pojawiające się na wejściu elementy i skutecznie doskonali swoją zdolność rozpoznawania bez żadnej ingerencji nauczyciela, który może nawet nie wiedzieć, ile obiektów trzeba będzie rozpoznawać ani jakie będą ich cechy.

Ryc. 7. Po rozpoznaniu sytuacji: korekta wag wywołana samouczeniem

Do tego, aby proces samouczenia przebiegał efektywnie, konieczne jest jednak zapewnienie w populacji neuronów niezbędnej początkowej różnorodności. Jeśli wartości wag są losowane w taki sposób, by w populacji neuronów zapewniona była niezbędna różnorodność - proces samouczenia przebiegać będzie stosunkowo łatwo i bez zakłóceń.

Jeśli jednak wszystkie neurony będą miały podobne wrodzone zamiłowania - bardzo trudno będzie spowodować, by w toku procesu uczenia "obsłużyły" wszystkie klasy pojawiających się obiektów. Bardziej prawdopodobne jest w takim przypadku zjawisko "owczego pędu" - zbiorowej fascynacji wszystkich neuronów jednym napotkanym obiektem i całkowitego ignorowania wszystkich innych. Koniec najczęściej jest taki, że wszystkie neurony wyspecjalizują się w rozpoznawaniu jednej wybranej klasy obiektów - przy całkowitym ignorowaniu wszystkich pozostałych klas.

Pokazane wyżej procesy dotyczyły sieci mającej zaledwie kilka neuronów. Ciekawsze wyniki można zobaczyć, kiedy równocześnie uczy się - na przykład - 300 neuronów. Tu także po krótkim czasie tworzą się skupiska neuronów, rozpoznających pokazywane w trakcie uczenia sieci wzorce. Jednak przebieg procesu samouczenia może być różny, w zależności od wartości tzw. współczynnika uczenia.

Jak się zachowuje sieć, w której współczynnik uczenia jest bardzo duży? Taki "osobnik" jest ogromnie entuzjastycznie nastawiony do całego świata: każda nowa idea, każda nowa pojawiająca się koncepcja zaprząta jego uwagę bez reszty. Powoduje to, że pojawiający się atraktor przyciąga do siebie ogromną liczbę neuronów, które entuzjastycznie i gwałtownie starają się jak najszybciej uzyskać zdolność do jego dokładnego rozpoznawania i lokalizowania nowego obiektu.

Takie działanie sieci umożliwia wprawdzie jej szybkie uczenie, ale powoduje bardzo szybkie "nasycanie" jej możliwości poznawczych. Wystarczy niewielka (w stosunku do liczby neuronów sieci) liczba atraktorów, by wszystkie neurony zostały zaangażowane bez reszty w ich rozpoznawanie i w przypadku pojawiania się nowych wzorców nie ma już żadnych możliwości adaptacyjnych - sieć nowych idei nie jest w stanie przyswoić ani zaakceptować.

Odmiennie zachowuje się sieć przy małym współczynniku wzmocnienia. Tu na początku, po pojawieniu się nowego obiektu do rozpoznawania, reakcje sieci są spokojne i wyważone. Na skutek tego postęp procesu uczenia nie jest nadmiernie szybki, co można by było uznać za wadę. Jednak dzięki temu sieć stale dysponuje pewnym pasem neuronów, które jeszcze nie wyspecjalizowały się tak do końca, by nie móc przyswoić sobie i zaakceptować nowych wzorców sygnałów, czyli nowych idei, nowych wrażeń, nowych pojęć. I to także jest pewna wartość!

Zauważmy, że podobnie bywa z ludźmi. Bywają tacy, którzy pierwszą napotkaną ideę (na przykład polityczną) przyjmują bezkrytycznie i entuzjastycznie, szybko opanowują jej arkana, identyfikują się z nią i emocjonalnie przeżywają. Tacy fanatycy nie są zdolni potem przyjąć jakichkolwiek nowych idei czy jakichkolwiek nowych poglądów - w ich mózgach po prostu nie ma już na nie miejsca. Być może, jest to wyjaśnienie fenomenu instytucjonalnych morderców, którzy po szybkim przyswojeniu sobie jakiejś dostatecznie demagogicznej ideologii (faszyzm, stalinizm) stają się nią tak dalece owładnięci, że w imię swoich narzuconych im urojeń są zdolni mordować i torturować ludzi, a takie naturalne i narzucające się idee - jak współczucie, humanitaryzm czy wreszcie zwykła ludzka przyzwoitość - nie mają do nich dostępu.

Prowadząc badania z taką silnie pobudliwą siecią neuronową, można zaobserwować niekiedy ciekawe zjawisko: otóż jeśli taka "fanatyczna" sieć nie otrzymuje dostatecznie długo sygnałów ze strony atraktora, do którego została wcześniej przywiązana - dochodzi w niej często do gwałtownej "zmiany poglądów". Manifestuje się to w ten sposób, że nagle cała zbiorowość punktów - skojarzonych poprzednio z jednym wzorcem, czyli z jakąś jedną, całkowicie zaprzątającą umysł ideą - nagle zaczyna migrować w kierunku zupełnie innego wzorca, utożsamiając się z nim wkrótce równie skutecznie i równie krańcowo jak poprzednio z wcześniej przyswojonym wzorcem pierwotnym.

Literatura pełna jest informacji o takich "nawróconych fanatykach", a niestety również najnowsza historia dostarcza licznych przykładów oprawców, którzy najpierw zajadle torturowali przeciwników jakiegoś reżimu, aby po jego obaleniu z równym zapałem przystąpić do zwalczania wrogów nowego porządku.

Natomiast model sieci z niewielkim współczynnikiem uczenia naśladuje człowieka, który nie zapala się, u którego każda nowa idea musi odpowiednio dojrzeć, wykrystalizować się, okrzepnąć - zanim zostanie rzetelnie i szczegółowo przyswojona. Jeśli jednak taki system ustali swoje preferencje - na ogół nie zmienia ich zbyt szybko ani zbyt łatwo, często pozostając wiernym swoim ideałom nawet podczas brutalnej i długotrwałej indoktrynacji.

1 Są to przedstawiciele obecnej na Marsie trzeciej płci. Jak ogólnie wiadomo, mieszkańcy Marsa celem spłodzenia potomka łączą się w trójkąty, co zresztą powoduje, że zajęci swoim skomplikowanym życiem erotycznym nie wytworzyli jeszcze cywilizacji technicznej ani dużych budowli i dlatego obserwacje prowadzone z Ziemi nie są w stanie ich wykryć.

Prof. dr hab. RYSZARD TADEUSIEWICZ jest rektorem Akademii Górniczo-Hutniczej w Krakowie.