Elementarne wprowadzenie do techniki sieci neuronowych 87
wartości współczynnika określającego szybkość uczenia na jego przebieg. Dając (na początku programu) większą wartość współczynnika uczenia, na przykład stosując współczynnik = .3 zamiast użytego w programie współczynnik = .1
możesz uzyskać szybszy efekt procesu uczenia. Możesz wypróbować kilka różnych wartości i dokładnie zaobserwować ich wpływ na proces uczenia. Musisz jednak pamiętać, że jeśli dasz za dużą wartość tego współczynnika - proces uczenia zacznie być chaotyczny, neuron będzie się “szamotać” od jednej skrajności do drugiej, a efekty końcowe będą opłakane - zamiast polepszać swoje wyniki neuron będzie odnotowywał coraz większe błędy. To także naprawdę warto zobaczyć na własne oczy!
Z kolei zbyt mała wartość współczynnika uczenia sprawi, że proces uczenia będzie postępował bardzo wolno, w praktyce postęp uczenia może być wręcz niezauważalny i jest wielce prawdopodobne, że użytkownik stosujący sieć neuronową w praktyce, zniechęci się, nie widząc postępów w jej działaniu, i porzuci tę technikę, szukając bardziej efektywnych algorytmów.
Wrtość współczynnika uczenia wyraża stopień “surowości” nauczyciela. Małe wartości tego współczynnika odpowiadają sytuacji, kiedy nauczyciel jest łagodny i wyrozumiały - dostrzega wprawdzie błędy ucznia i koryguje je, ale nie wymusza przemocą poprawnych odpowiedzi. Jak widziałeś na podstawie przeprowadzonych eksperymentów - taka pobłażliwość może prowadzić do słabych wyników. Jednak za duże wartości współczynnika uczenia, czyli nadmierna surowość nauczyciela - też bywa szkodliwa. Sypiące się na ucznia surowe kary, zdecydowana i twarda nagana po każdym błędzie - prowadzą do frustracji, której wyrazem jest “miotanie się” neuronu od jednej skrajności do drugiej - bez rzeczywistego postępu procesu uczenia.
Naturalną koleją rzeczy przejdziemy teraz od nauki pojedynczego neuronu do nauki całej sieci. Program, który w tym celu zbudowałem, jest bardzo podobny do opisanego wyżej programu dla jednego neuronu, będzie Ci więc łatwo go używać (patrz 04.BAS na dyskietce). Do eksperymentów z podanym wyżej programem trenującym sieć potrzebujesz też pliku ze zbiorem uczącym. Ja przygotowałem i wykorzystałem taki plik (UCZACYS - jest na dyskietce):
typowy obiekt który powinien byc rozpoznawany przez pierwszy neuron