Strona początkowa
Start Sieci jednokierunkowe Sieci rekurencyjne Słowniczek Linki O autorach

***
Jednym zdaniem... - Rozpoznawanie - Kojarzenie - Przewidywanie - Sterowanie

***

Do czego służy sieć neuronowa


Jednym zdaniem...

... do wszelkiego rodzaju rozpoznawania, kojarzenia, przewidywania, sterowania... Jednak trudno zmieścić to wszystko w jednym zdaniu! A zatem po kolei:

Rozpoznawanie

Czy zastanawiałeś się kiedyś nad tym, w jaki sposób błyskawicznie rozpoznajesz twarze znanych ci osób? Przeważnie dzieje się to tak szybko i jest dla nas tak naturalne, że nie widzimy w tym nic dziwnego - po prostu rozpoznajemy twarze (budynki, litery, głosy...) i już. Cudów jednak nie ma. Nie możemy rozpoznać twarzy, której nasz mózg się nie nauczył. Musi ona być już gdzieś zapamiętana, aby nie została uznana za obcą. W klasycznym komputerze wzorce poszczególnych twarzy wypełniałyby jakąś bazę danych, a algorytm porównywałby każdą ujrzaną twarz z tymi, które są mu znane. Oczywiście przy takiej ilości twarzy, jaką pamięta przeciętny człowiek, praca owego algorytmu trwałaby bardzo długo, ale nie w tym rzecz. Otóż komputer zapamiętuje obraz w ten sposób, że zamienia go na ciąg liczb. W uproszczeniu: obraz jest dzielony na małe punkciki (pixele) i każdemu z nich zostaje przyporządkowana liczba zależna od jego koloru (mam nadzieję, że graficy zechcą mi wybaczyć te nieścisłości). Co się zatem dzieje, gdy wprowadzimy do bazy danych dwa zdjęcia tej samej twarzy wykonane pod nieco innym kątem i przy innym oświetleniu? Mówiąc slangiem, w tym momencie program się wykłada - nie potrafi dostrzec podobieństwa między owymi zdjęciami. Podobieństwa, które my, za pomocą naszej "sieci neuronowej", dostrzegamy w ułamku sekundy. Zobaczywszy kogoś potrafimy go później rozpoznać mimo makijażu, innej fryzury, innej pory dnia i innych niedogodności. Dla klasycznego algorytmu jest to niezmiernie trudne.

Kojarzenie

Jest ono w zasadzie bardzo zbliżone do rozpoznawania. Czym jest bowiem rozpoznawanie? Niczym innym, jak kojarzeniem tego, co próbujemy rozpoznać z tym, co już znamy. I znowu: dwa obiekty (obrazki, dźwięki) mogą dla człowieka być podobne, natomiast klasyczny algorytm nie stwierdzi między nimi podobieństwa. Dla niego są to dwa różne ciągi znaków. Można oczywiście programowo "obejść" to utrudnienie - "powiedzieć" komputerowi, jakie cechy obiektu są najbardziej znaczące i mogą zaważyć na podobieństwie (lub niepodobieństwie) dwóch (lub więcej) obiektów. Jest to jednak dla programisty wysoce trudne zadanie. Natomiast w przypadku SSN nie ma potrzeby nakazywania sieci brania pod uwagę tej czy innej cechy - odnajdzie je sama. Więcej - może zauważyć takie zależności, o których programista nawet nie wie. Ciekawy jest fakt, iż potrafimy zaprojektować skomplikowaną sieć, skutecznie jej użyć, ale nie mamy pewności co do tego, w jaki sposób dokładnie działa, co się dzieje w jej głębi.

Przewidywanie

Jeśli znasz dobrze jakieś zjawisko, to wiedząc, jaki jest jego stan w danej chwili, potrafisz mniej więcej określić, jak się będzie zachowywać w najbliższej przyszłości, nieprawdaż? Otóż SSN mogą służyć do tego samego. Stosuje się je głównie do opracowywania prognoz ruchów na giełdzie i do przewidywania pogody. Tak, nawet, zdawałoby się, tak przypadkowe zmiany, jak zmiany giełdowe, podlegają jakimś prawom. Doświadczony gracz potrafi przewidzieć, czy dana operacja zakończy się powodzeniem. Nazywamy to przeczuciem, szóstym zmysłem, lecz jest to jedynie podświadome korzystanie z wiedzy nabytej również nieświadomie przez lata obserwacji procesów giełdowych. A trzeba pamiętać, że mózg człowieka, choć ogromny (w porównaniu z SSN), zajmuje się przecież niezliczoną ilością innych zadań, jak choćby utrzymywanie ciała w równowadze, itd. itp. Sieć natomiast jest przeznaczona wyłącznie do jednego zadania i jemu poświęca cały swój potencjał. Podobnie, jak dobry gracz, sieć potrafi trafnie prognozować ruchy giełdowe, choć nie wiemy dokładnie, w jaki sposób to robi (tak, jak nie wiemy, na czym polega intuicja gracza).

Sterowanie

Naukowcy próbujący stworzyć robota o postawie humanoidalnej borykają się głównie z problemem jego ruchu. Dość trudno jest zaprojektować i oprogramować robota w taki sposób, by utrzymywał równowagę. Niedoścignionym wzorem w tej dziedzinie jest mózg. Człowiek, pies, kot, mogą wyczyniać najprzeróżniejsze ewolucje nie tracąc przy tym równowagi. Aby obliczyć wielkości i kierunki sił, z jakimi balansować musi organizm podczas gwałtownego ruchu, potrzeba matematyki na dość wysokim poziomie. Mózg zaś daje sobie radę z tymi obliczeniami w ułamku sekundy wykonując w tym czasie dziesiątki innych czynności. Odpowiednio zaawansowana sieć neuronowa mogłaby czynić to samo. Właśnie SSN są wykorzystywane do sterowania robotami przeznaczonymi do pracy w najtrudniejszych warunkach. Ach, te sieci neuronowe! Same zalety... Nie, tak różowo nie jest. Zapraszam do następnego rozdziału opisującego zalety i wady SSN.

Kliknij aby przejść dalej
Start Sieci jednokierunkowe Sieci rekurencyjne Słowniczek Linki O autorach