44
tyce dydaktycznej i stosowane do uczniów o malej odporności psychicznej! Jest to bez wątpienia zastanawiająca zbieżność zachowania sieci neuronowej i ludzkiego umysłu - nie pierwsza i nie ostatnia zresztą.
Problemem, z którym musi sobie poradzić każdy twórca algorytmu uczenia sieci neuronowej, jest kwestia początkowych (startowych) wartości współczynników wag. Opisany wyżej algorytm uczenia pokazuje, jak można poprawiać wartości tych współczynników w trakcie procesu uczenia, od czegoś jednak ten proces trzeba zacząć, gdyż już w momencie pokazania pierwszego obiektu ciągu uczącego sieć musi mieć jakieś konkretne, ustalone wartości współczynników wag, by móc określić wartości sygnałów wyjściowych wszystkich neuronów, a następnie porównać je z wartościami zadanymi przez nauczyciela w celu określenia błędów (delta). Skąd jednak wziąć te początkowe wartości wszystkich wag?
Otóż teoria uczenia sieci neuronowych mówi, że przy spełnieniu pewnych (dość prostych) warunków sieć liniowa potrafi nauczyć się i znaleźć prawidłowe wartości ostatecznych współczynników wagowych (rozwiązujących postawiony problem jeśli tylko takie rozwiązanie istnieje) niezależnie do tego, od jakich wartości początkowych wystartujemy proces uczenia. W dziedzinie sieci nieliniowych sytuacja nie jest tak prosta, gdyż proces uczenia może w nich utknąć w tzw. minimach lokalnych funkcji błędu, co w praktyce oznacza, że startując od różnych punktów początkowych (od różnych początkowych zestawów współczynników wag) możemy otrzymywać różne parametry nauczonej sieci - lepiej lub gorzej nadające się do rozwiązywania postawione zadania. Tak mówi teoria, nie mówi ona natomiast nic na temat tego, jak wybrać te dobre, korzystne punkty startowe?
Tu musimy niestety polegać na empirii. Prosta i chętnie używana praktyka polega na tym, że początkowe wartości współczynników wagowych przyjmujemy w sposób losowy (w programach symulacyjnych jest do tego celu specjalne polecenie “zasiewające" w sieci początkowe losowe wartości współczynników), przy czym unikać należy zbyt dużych wartości tych początkowych współczynników (rutynowo stosowany jest przedział od —0,1 do +0,1, z którego w sposób losowy wybierane są wartości początkowych współczynników), a w sieciach wielowarstwowych unikać także trzeba współczynników mających wartość 0, gdyż blokuje to proces nauki głębiej położonych warstw.
Procesowi uczenia sieci towarzyszy oczywiście malenie błędu. Proces ten z początku jest bardzo szybki, potem jednak ulega spowolnię-