hopfield rozp obrazow Snhop


Akademia Górniczo-Hutnicza

Im. Stanisława Staszica w Krakowie

0x01 graphic

Wydział Elektrotechniki, Automatyki,

Informatyki i Elektroniki

Katedra Automatyki

Praca dyplomowa

ROZPOZNAWANIE OBRAZÓW

PRZY UŻYCIU

SYMULATORA SIECI HOPFIELDA

Promotor

:

dr inż. Joanna Grabska - Chrząstowska

Autor

:

Mateusz Macnar

Kierunek

:

Informatyka

KRAKÓW, 2002 R.

SPIS TREŚCI

Mózg ludzki jest bardzo wydajną i elastyczną „maszyną liczącą”. Obecnie, w dobie gwałtownego rozwoju sztucznej inteligencji, próbuje się odkrywać i naśladować jego budowę, właściwości i zasady działania. Powstają systemy wykorzystujące zjawiska, które zaobserwowano w trakcie wieloletnich badań medycznych, bliżej opisane w pracy [18]. Oczywiście nie ma sensu stosowanie tego typu sztucznych sieci neuronowych do rozwiązywania problemów, z którymi tradycyjne komputery radzą sobie doskonale, czyli rozwiązywanych przy zadanych ograniczeniach pamięciowych i czasowych - w czasie wielomianowo zależnym od rozmiaru problemu. Tam, gdzie potrzebna jest jedynie szybkość i dokładność obliczeń, komputery są i prawdopodobnie będą niezastąpione. Niestety, na co dzień spotykamy się z problemami, dla których nie istnieją wielomianowe algorytmy (zostało to przedstawione w pracy [11]). Można wręcz zaryzykować stwierdzenie, że takie właśnie zadania dominują w otoczeniu człowieka, a te o złożoności wielomianowej to jedynie ich uproszczenia. Już kilkuletnie dziecko z powodzeniem stawia czoła wyzwaniom, wobec których komputery są bezradne. Przede wszystkim brakuje im umiejętności uczenia się, gromadzenia wiedzy i doświadczenia, tak chętnie wykorzystywanej przez naturę. Nie potrafią one reagować na sytuacje, z którymi wcześniej się nie spotkały. Oznacza to, że jeżeli programista nie uwzględnił w kodzie programu ich wystąpienia, to program w ich obliczu zachowa się, w zależności od jego konstrukcji, w sposób nieprzewidywalny (błędne działanie, zawieszenie się) lub poinformuje o błędzie. Współczesny komputer nie może jeszcze analizować zaistniałych okoliczności i odwoływać się do wcześniejszych doświadczeń w celu podjęcia decyzji, czyli działać intuicyjnie. Rozważmy następujący przykład: człowiek bierze do ręki pewien przedmiot, podrzuca i ponownie chwyta. Program komputerowy musiałby znać dokładną masę przedmiotu, siłę, z którą został wyrzucony, obliczyć jego tor uwzględniając opór powietrza, bardzo szybko znaleźć położenie i dokładnie w momencie, kiedy wyrzucony przedmiot znalazłby się w odpowiednim punkcie toru, podjąć decyzję o jego przechwyceniu. Byłby to dosyć skomplikowany sposób na wykonanie tej czynności. Nadzieją na efektywne rozwiązywanie takich i o wiele poważniejszych zadań są sztuczne sieci neuronowe. Nie liczą one prędkości w ruchu jednostajnie opóźnionym według skomplikowanych wzorów, po prostu uczą się poprzez wieloetapowe dostosowywanie się do rozwiązywania danego problemu (proces ten opisano w pracach [9], [10]). Ponadto potrafią rozpoznawać i kojarzyć obiekty. Cechy te sprawiają, że sztuczne sieci neuronowe w bardzo szybkim tempie zdobywają nowe, szerokie obszary zastosowań we wszystkich dziedzinach nauki i techniki.

Celem niniejszej pracy było zbadanie działania sieci Hopfielda zastosowanych do rozpoznawania obrazów za pomocą programowego symulatora opartego na synchronicznym modelu dyskretnym Hopfielda. Zamodelowane sieci zostały użyte do rozpoznawania czarno-białych rastrowych obrazów liter i cyfr oraz ręcznie pisanych znaków. Większy nacisk położono na dobór parametrów i metod uczenia, a także graficzną prezentację wyników rozpoznawania możliwą do oceny wizualnej przez użytkownika, natomiast mniejszy na sposób wprowadzania obrazów uczących i testujących. Mogą one być tworzone automatycznie według specyfikacji tekstowej, np. „0-9A-Z” lub wprowadzane ręcznie przez użytkownika za pomocą urządzenia wskazującego.

W rozdziale drugim przedstawiono teorię sztucznych sieci neuronowych. Opisano historię badań nad sieciami neuronowymi, podstawowy podział na sieci liniowe i nieliniowe oraz dalszą klasyfikację sieci. Podano także podstawowe metody ich uczenia oraz obszary zastosowań. W rozdziale trzecim skupiono się na badanym w tej pracy rodzaju sieci, czyli sieciach Hopfielda. Opisano ich budowę, związane z nią wady i zalety oraz wynikające z tych cech główne zastosowania. Rozdział czwarty przedstawia symulator programowy Snhop sieci Hopfielda zbudowany na potrzeby tej pracy. Zawiera opis środowiska działania, funkcji programu, interfejsu użytkownika oraz sposobu realizacji typowych zadań. W rozdziale piątym przedstawiono badania sieci Hopfielda przeprowadzone za pomocą symulatora. Badania te objęły cztery metody uczenia sieci, dwie historycznie pierwsze związane z pracami Hebba oraz dwie dalsze będące nieco nowszym spojrzeniem na problem uczenia sieci neuronowych. Rozdział ten zawiera także spostrzeżenia i wnioski uzyskane w czasie przeprowadzania badań. Syntezę informacji zebranych podczas realizowania niniejszej pracy oraz propozycje rozwinięcia symulatora Snhop umieszczono w rozdziale szóstym.