62
4.7. Doltór parametrów uczenia sieci
i przesyła swoje sygnały <lo neuronów wyjściowych (wtedy jego błąd może być wyznaczony wyżej podaną metodą) albo znajduje się w jednej z głębiej ukrytych warstw, podając sygnały do neuronów innych warstw ukrytych — wtedy jego błąd można oszacować z chwilą obliczenia błędów w neuronach będących odbiorcami jego sygnałów. W sumie jednak w sieci feedforward zawsze da się wyznaczyć taką kolejność wstecznej propagacji błędów, która pozwoli obliczyć błędy 6$ dla wszystkich elementów sieci, a tym samym pozwoli znaleźć wszystkie wartości u>(m)k'+0 na podstawie wartości i występujących w sieci sygnałów.
Doświadczenie wskazuje, że uczenie wykonywane tą metodą jest stosunkowo skuteczne, ale bardzo powolne. Jego przyspieszenie próbujemy uzyskać stosując opisane dla sieci MA-DALINE techniki momentum, kumulacji błędów, odrzucania małych poprawek itp. Wyniki bywają różne: w niektórych zadaniach udaje się przyspieszyć proces uczenia nawet kilkadziesiąt razy, w innych prowadzi to do braku zbieżności.
Skoro mowa o zbieżności warto dociąć jedną uwagę. Bardzo ważne jest właściwe dobieranie współczynnika r/ w taki sposób, by nie utracić możliwości precyzyjnego kontrolowania procesu uczenia. Większość danych lilraturowyrh wskazuje na celowość stosowania większych wartości i/ (i wszystkich pokrewnych współczynników, na przykład przy składniku memen-tum) na początku uczenia i zmniejszania ich w miarę, jak współczynniki wagowe zbliżają się do swoich ustalony cli wartości. Jednak obok tej strategii dobre wyniki daje także strategia bardziej złożona, zakładająca bardzo małe wartości i) (i ewentualnie innych współczynników) na początku procesu uczenia, zwiększane polem do pewnych wartości znamionowych w momencie kiedy proces uczenia jest już zaawansowany, a następnie już w klasyczny sposób zmniejszane stopniowo w końcowym okresie uczenia. Tego typu postępowanie jest uzasadnione faktem, że w pierwszych krokach procesu uczenia następuje wstępna preorientacja neuronów, których wagi, początkowo ustawione losowo i na ogól bliskie zera, zostają z wolna spolaryzowane w kierunku pobudzających lub hamujących połączeń o decydującym znaczeniu dla dalszego toku procesu uczenia. W trakcie tego subtelnego wybierania początkowych odcinków trajektorii wiodących do ostatecznego rozpoznania bardzo łatwo o pomyłki, będące wynikiem przypadkowego składu obiektów ciągu uczącego, zaś korekta tych pomyłek jest łatwiejsza, jeśli proces uczenia będzie początkowo przebiegał w tempie celowo zwolnionym. Potem uczenie może nabrać szybkości, by ponownie zwolnić pod koniec procesu, gdy konieczne są już tylko kosmetyczne korekty ustalanych wektorów wag.
W literaturze jest mnóst wo opisów udanych eksperymentów uzyskania poprawnego działania nauczonej sieci po zastosowaniu algorytmu bnckpropayation. Tytułem przykładu wspomnijmy o badaniach prowadzonych przez Gale L. Martina i Jarnensa A. Pittmana opisanych w pracy (Mart9J). W pracy tej rozpoznawano ręcznie pisane znaki (litery i cyfry) mające znormalizowane rozmiary 15 x 24 piksele (o skali szarości zmienianej w sposób ciągły na odcinku [0, J]) posługując się zbiorem uczącym liczącym 35 200 cyfr i 6 300 liter pisanych przez 110 ludzi. Zbiory testowe tworzyło odpowiednio 4 000 cyfr i 2 368 liter. Test rozpoznawania zniekształconych (procesem wprowadzania do komputera) znaków przez łudzi wykazał, że popełniali oni średnio 3,4% błędów podczas rozpoznawania. Nauczona sieć popełniała około1. 3% błędów, co można uznać za bardzo dobry wynik. Podczas uczenia korzystano z
Wielkość błędu popełnianego przez sieć zależy od tego. czy sygnały wyjściowej warstwy sieci traktuje się jako jednoznaczne wskazania odpowiednich obrazów, czy leż dopuszcza się brak odpowiedzi (gdy wielkość