Elementa 197
Tak się jednak dzieje w każdej sieci z samouczeniem, jaki wobec tego wpływ na te procesy ma zjawisko konkurencji?
Otóż w wyniku konkurencji proces samouczenia może być bardziej skuteczny i ekonomiczny. Jeśli początkowe wartości współczynników wag neuronów są losowe, to może się zdarzyć, że czasem kilka neuronów wykazuje “skłonność” do rozpoznawania tej samej klasy obiektów. Normalny, to znaczy pozbawiony elementu konkurencji proces samouczenia będzie te “skłonności” rozwijał współbieżnie we wszystkich tych neuronach, nie będzie zatem dochodziło do różnicowania ich zachowania poszczególnych elementów sieci, a przeciwnie - będzie postępował proces rosnącej uniformizacji. Widziałeś to dokładnie podczas licznych opisanych wyżej eksperymentów z programem 10B.BAS.
Jeśli jednak wprowadzimy konkurencję, to sytuacja ulegnie zmianie. Zawsze wtedy któryś neuron będzie chociaż odrobinę bardziej dostosowany do rozpoznawania aktualnie pokazywanego obiektu, niż jego “konkurenci”. Naturalną konsekwencją tego będzie fakt, że taki właśnie neuron, mający przypadkowo współczynniki wag podobne do cech aktualnie prezentowanego obiektu, zostanie oczywiście “zwycięzcą”. Zastosowanie do tego (i tylko tego) neuronu procesu uczenia spowoduje, że jego “wrodzona skłonność” zostanie - w miarę rozwoju procesu uczenia - wzmocniona i skrystalizowana, a “konkurencja” zostanie z tyłu i będzie mogła ewentualnie rywalizować o rozpoznawanie innych, jeszcze “nie obstawionych” obiektów.
Przebieg samouczenia z konkurencją najlepiej prześledzisz korzystając z programu lOC.BAS. W programie tym zastosowałem uczenie z konkurencją do podobnego zadania (nauki rozpoznawania Marsjan, Marsjanek, Marsjaniątek i Marsjamorów), co w poprzednich dwóch programach przedstawionych w tym samy rozdziale. Ponieważ jednak tym razem zasada uczenia jest odmienna - zobaczysz istotnie odmienne zjawiska. Najpierw program zapyta o.liczbę neuronów w uczącej się sieci. Przy mniejszej liczbie neuronów (na przykład 30) zjawiska samouczenia z konkurencją wychodzą efektowniej. Możesz wyraźnie zaobserwować, że wszystkie neurony “stoją”, a tylko zwycięzca podlega uczeniu. Dla uwidocznienia tego faktu przewidziałem, że na ekranie pozostawać będzie ślad kolejnych położeń uczącego się neuronu, co wygodnie pozwala śledzić jego “trajektorię”. Na rysunkach produkowanych przez program 10C.B AS przyjęto dodatkowo taką zasadę, że w momencie, kiedy neuron osiąga już swoje docelowe położenie - zestaw jego współczynników pojawia się wtedy w miejscu pokazywanego wzorca jako duży czerwony kwadrat. Możesz to uważać za sygnał zakończenia procesu samouczenia (rys. 9.34).