9
Widziałeś już (i wypróbowałeś w kilku programach!), jak korzystając ze wskazówek nauczyciela sieć neuronowa z kroku na krok doskonaliła swoje działanie, osiągając po pewnym czasie zgodność swego zachowania z podanymi przez nauczyciela wzorami.
Teraz pokażę Ci, że sieć może się uczyć całkiem sama, bez nauczyciela. Pisałem Ci już na ten temat w rozdziale 3.2, ale teraz przyszedł czas, żebyś poznał kilka konkretów. Musisz wiedzieć, że istnieje kilka metod takiego samouczenia (algorytmy Hebba, Oji, Kohonena itd.), ale w tej książce nie wchodzimy w szczegóły algorytmów, tylko spróbujemy zobaczyć, na czym to wszystko polega. W tym celu proponuję, żebyś wprowadził i uruchomił program 10A.BAS.
W programie tym masz do czynienia z siecią neuronów, mającą postać jednej obszernej warstwy (rys. 9.1). Do wszystkich neuronów tej warstwy podawane są te same sygnały wejściowe i wszystkie neurony wyznaczają wartość swojego stopnia pobudzenia przemnażając sygnały wejściowe (identyczne dla wszystkich neuronów) przez swoje współczynniki wagowe (oczywiście inne w każdym neuronie).
Jak pamiętasz, pobudzenie neuronu jest więc tym silniejsze, im lepsza będzie zgodność między sygnałami wejściowymi podanymi w danej chwili, a wewnętrznym wzorcem. Wiedząc, jakie neuron ma współczynniki Wagowe będziesz wiedział zatem, na które sygnały wejściowe będzie on reagował pozytywnie, a na które negatywnie. Jeśli założymy, że sygnały wejściowe są dwuwymiarowe (to znaczy mają dwie składowe) i możesz je zaznaczać jako punkty ma płaszczyźnie (nazywamy ją przestrzenią sygnałów wejściowych, pamiętasz?). Wtedy również wagi wszystkich neuronów też są dwuwymia-