oprowadzenie do techniki sieci neuronowych Elementarne w 209
mouczenia. Z kolei w wyniku konkurencji może się zdarzyć, że tylko niektóre (zwykle dość nieliczne) neurony o dużych “wrodzonych uzdolnieniach” podlegać będą procesowi uczenia, pozostałe natomiast pozostaną poza procesem uczenia i będą - z punktu widzenia celów, dla których sieć zorganizowano - właściwie stracone. Mogłeś to zaobserwować na przykład w programie 10C.BAS, który podawał - między innymi - informacje na temat tego, które neurony (konkretne numery) stawały się “zwycięzcami” dla poszczególnych klas i w dalszym ciągu stawały się detektorami wykrywającymi obiekty danej klasy. Numery te pojawiały się zdecydowanie w sposób chaotyczny, bez żadnego związku z lokalizacją wykrywanych o-biektów. Tymczasem przypisanie funkcji wykrywania określonych obiektów wejściowych do pewnego konkretnego, właśnie tego, a nie do innego neuronu - może stanowić ważny czynnik zwiększający lub zmniejszający użyteczność sieci. Jeśli - na przykład - niektóre sygnały wejściowe są do siebie jakoś podobne (w dowolnym sensie), to może Ci zależeć, żeby ich pojawianie się było sygnalizowane przez neurony sąsiadujące ze sobą w sieci. W “czystej” sieci samouczącej się nie masz jednak na to wpływu i musisz pokornie przyjąć to, co się zdarzy.
Radą na te wszystkie bolączki jest wprowadzenie do samouczącej się sieci jeszcze jednego mechanizmu: sąsiedztwa. Po raz pierwszy sąsiedztwo neuronów w sieci wykorzystał (w latach 70-tych) fiński badacz Kohonen i dlatego w literaturze sieci wykorzystujące sąsiedztwo (i zwykle także angażujące konkurencję między neuronami) nazywane są sieciami Koho-
Pokażę Ci teraz, na czym owo sąsiedztwo polega, a potem opowiem, Ci
Do tej pory neurony sieci rozważaliśmy jako jednostki w znacznym stopniu niezależne od siebie. Były one wprawdzie łączone ze sobą i przekazywały sobie nawzajem sygnały (jak to w sieci) - ale ich wzajemne położenie w warstwach nie miało żadnego znaczenia. Co najwyżej dla celów porządkowych wprowadzana była (wykorzystywana także do organizacji obliczeń w programach symulujących sieć) numeracja neuronów - i to wszystko. Tymczasem w rozważanej tutaj sieci bardzo ważne okazuje się to, które neurony uznasz za sąsiadujące ze sobą, gdyż będzie to w zasadniczy sposób rzutowało na zachowanie całej sieci.
Najczęściej rozpatrujemy sąsiedztwo dwuwymiarowe: neurony rozważa się tak, jakby były rozmieszczone w węzłach regularnej siatki złożonej z wierszy i kolumn. W siatce takiej każdy neuron ma przynajmniej czterech sąsiadów: dwóch w poziomie (z lewej i z prawej) i dwóch w pionie (u góry i u dołu) - rys. 10.1.