Elementarne wprowadzenie do techniki sieci neuronowyc 125
Naciskając kolejno dowolny klawisz możesz obserwować przemieszczanie sygnałów przez kolejne neurony od wejścia do wyjścia rozważanego modelu sieci. Możesz też zmienić wejścia i obserwować wyjścia - tyle razy, ile razy będziesz chciał sprawdzić, czy rzeczywiście już dobrze rozumiesz, co się właściwie w tej sieci dzieje. Doradzam Ci, byś poświęcił trochę czasu na dokładne przeanalizowanie i przemyślenie każdej liczby na ekranie, bo tylko w ten sposób dowiesz się i porządnie zrozumiesz, co dokładnie robi sieć.
Gdy już opisana wyżej sieć wielowarstwowa, w której sam zadajesz wartości wag i wejściowe sygnały, przestanie mieć dla Ciebie jakiekolwiek sekrety -spróbuj wprowadzić i uruchomić tę samą sieć, ale jako uczącą się. Zrobi to dla Ciebie program 08B.BAS. Po uruchomieniu tego programu musisz podać wartości dwóch współczynników decydujących o przebiegu procesu uczenia. Pierwszy z nich określa wielkość poprawki, jaka wprowadzana jest po wykryciu każdego kolejnego błędu, a tym samym wyznacza całkowitą szybkość uczenia. Im większą wartość tego współczynnika podasz - tym silniej i szybciej zmieniać się będą wagi neuronów w wyniku wykrywanych w trakcie uczenia błędów. Współczynnik ten nazywa się w literaturze lear-ning ratę więc ja go w programie nazwałem po prostu współczynnik uczenia. Współczynnik ten musi być wybierany z dużą rozwagą, gdyż zarówno zbyt duża, jak i zbyt mała wartość tego współczynnika fatalnie wpływa na przebieg procesu uczenia. Na szczęście nie musisz się zastanawiać, ile ten współczynnik powinien wynosić, gdyż znalazłem jego prawidłową wartość i program zaproponuje Ci tę właśnie wartość - wystarczy, że ją zaaprobujesz naciśnięciem klawisza Enter. Ale jeśli zechcesz - możesz zmienić podaną wartość współczynnika na dowolną inną i potem możesz się do woli dziwić, dlaczego wszystko “poszło w krzaki” - podobno żyjemy już w wolnym kraju i każdy może robić, co zechce!
Drugi współczynnik określa stopień “konserwatyzmu” procesu uczenia. W literaturze współczynnik ten określany jest jako momentum, co - jak łatwo możesz sprawdzić w słowniku - oznacza po prostu wielkość fizyczną “pęd”. Jak chcesz, to możesz go tak nazywać po polsku, ale potem nie dziw się, jeśli znajomi będą mówili o Tobie, że zajmujesz się podejrzanymi popędami w sieciach neuronowych i będą Cię mieli za zboczeńca. Ja pozostawiłem w programie oryginalną angielską nazwę. Im większa wartość współczynnika momentum, tym bardziej stabilny i bezpieczny jest proces uczenia - chociaż zbyt duża wartość może prowadzić do trudności