Sieci neuronowe: czego można się nauczyć bez nauczyciela?

22.09.2012 - Patryk Filipiak
TrudnośćTrudnośćTrudność

Przez trening do inteligencji

Wśród mnogości zastosowań wykorzystujących sztuczne sieci neuronowe, łatwo jest doszukać się mechanizmu wspólnego dla nich wszystkich: sieć, aby mogła poprawnie funkcjonować, musi uprzednio zostać „wytrenowana”. Trening taki postrzegać możemy jako cierpliwą pracę wykwalifikowanego nauczyciela z niedoświadczonym uczniem. Nauczyciel prezentuje uczniowi przykładowe problemy, dla których znane jest poprawne rozwiązanie, a następnie porównuje je z rozwiązaniem uzyskanym przez ucznia i koryguje jego błędy. Oczekujemy od ucznia, że po odpowiednio długim procesie tak rozumianego treningu, zacznie nie tylko udzielać poprawnych odpowiedzi na prezentowane mu pytania, ale również „uogólni” swoją wiedzę. Będzie mógł wówczas odpowiednio reagować w sytuacjach, z którymi nie zetknął się bezpośrednio w procesie uczenia, ponieważ odnajdzie podobieństwa do przypadków mu znanych.

W świecie rzeczywistym spotykamy czasem „samouków” - ludzi, którzy stosunkowo łatwo zdobywają wiedzę, bez pomocy kogoś z zewnątrz. Wertują książki, poszukują informacji w Internecie, a czasem po prostu są bacznymi obserwatorami. Z jakichkolwiek źródeł ją czerpią, ich wiedza - choć czasem niepełna czy wręcz częściowo błędna - bierze się z umiejętności łączenia faktów i wyciągania poprawnych wniosków. Dzięki temu są oni w stanie posiąść wiedzę, której nikt nie mógł im przekazać, np. jak odczytywać hieroglify czy złamać szyfr Enigmy.

„Inteligencji” sztucznych sieci neuronowych jest bardzo daleko do inteligencji ludzkiej. Mimo niedoskonałości, odpowiednio zaimplementowana sieć jest w stanie wyciągać pewne wnioski (często zgodne z tym, czego oczekujemy) nawet w sytuacji, gdy pozostawimy ją bez nauczycielskiego nadzoru.


Klasteryzacja

Poniższy rysunek przedstawia bardzo uproszczony krajobraz, na którym uwzględniono obszary bytowania królików, ryb i ślimaków.

animals_full

Dysponując wszystkimi informacjami zawartymi na rysunku, łątwo można dostrzec kluczowe prawidłowości - ryby znajdują się w rzece, a króliki i ślimaki zajęły obszary na przeciwległych jej brzegach. Nawet jeśli wyeliminujemy z obrazka rozróżnienie kolorów tła, nadal nie będziemy mieli trudności z klasyfikacją zwierząt, posługując się choćby ich wyglądem.

animals_shape

Wyeliminujmy kolejne detale z obrazka i pozostańmy przy samym tylko rozmieszczeniu zwierząt w analizowanym obszarze.

animals_location

Dysponując nawet tak skąpymi informacjami, możemy sformułować pewien bardzo istotny wniosek: białe kropki (trudno już bowiem mówić o jakichkolwiek gatunkach zwierząt) ewidentnie tworzą skupiska, dzieląc obszar na trzy podobszary, oznaczone poniżej jako A, B i C.

animals_clusters


Każdy taki podobszar, w którym zgromadzone jest pewne skupisko, nazywamy klastrem, a proces ich wyznaczania - klasteryzacją.

Klasteryzacja, którą przeprowadziliśmy, dostarcza nam pewne istotne informacje. Wyobraźmy sobie, że w naszym obszarze pojawia się nowy osobnik. Nie mamy pojęcia, czy jest to ryba, królik czy ślimak. Wiemy jedynie, że jest to jakiś osobnik, którego położenie jest nam znane. Jeżeli znajdzie się on w klastrze A, wnioskujemy, że najprawdopodobniej będzie podobny do innych osobników z klastra A (analogicznie, jeśli znajdzie się w klastrach B i C). Zauważmy, że do wyciągania tego typu wniosków nie jest nam potrzebna wiedza o tym, gdzie znajduje się rzeka, gdzie przeciwległe brzegi, ani nawet o tym, z jakimi zwierzętami mamy do czynienia i jak one wyglądają. Operujemy jedynie położeniem jakichś zwierząt na jakimś obszarze.

Dokładnie na tej zasadzie opiera się uczenie sieci neuronowych bez nadzoru. Nie wyposażamy takiej sieci w żadną wiedzę. Ustalamy tylko jakieś kryterium, na podstawie którego będzie można ocenić, które przypadki są do siebie podobne. W przykładzie, którym się posłużyliśmy, takim kryterium było rozmieszczenie zwierząt w prostokątnym obszarze. W chwili dodania nowego osobnika, nasza sieć obliczałaby jego odległości od każdego z pozostałych osobników i na tej podstawie znalazłaby najbliższego spośród nich. Jeżeli najbliższym okazałby się osobnik z klastra A, wówczas nowy osobnik zostałby sklasyfikowany jako członek skupiska w klastrze A itd.

0
Twoja ocena: Brak

Copyright © 2008-2010 Wrocławski Portal Informatyczny

design: rafalpolito.com