46
go zachowania. Czasem idzie to błyskawicznie, ale na ogół długo i mozolnie trzeba pokazywać elementy ciągu uczącego, zanim sieć zacznie chociaż trochę rozumieć, czego od niej wymagamy. Co więcej, na skutek losowego wyboru początkowych wartości współczynników wagowych wyniki uczenia tej samej sieci dla tych samych danych użytych jako ciąg uczący mogą się nieco od siebie różnić i z tym faktem trzeba się także po prostu pogodzić - chyba, że ktoś ma czas na to, by tę samą sieć uczyć kilkakrotnie i potem wybierać ten wariant, który gwarantuje najlepszy efekt. W praktyce jest to jednak bardzo czasochłonne, gdyż w badaniach moich i moich doktorantów stwierdziłem wielokrotnie, że jednorazowe nauczenie sieci o kilku tysiącach elementów trwa (na komputerze Pentium 133) kilkadziesiąt godzin!
nych zastosowaniach wynosi:
dla rozpoznawania znaków Kenji - 1013
Nie jest to wynik odosobniony. Na przykład z zestawienia publikowanego w miesięczniku Electronic Design wynika, że liczba prezentacji ciągu uczącego, koniecznych do uzyskania poprawnego działania sieci w wybra
Inni autorzy przytaczają podobne wyniki.
Ze względu na szybkość uczenia poszukuje się więc odmiennych (od klasycznego opisywanego tu algorytmu delta) nowych metod uczenia sieci. Uważa się, że czas uczenia sieci algorytmem delta rośnie wykładniczo ze wzrostem liczby elementów sieci, co może stanowić w przyszłości jeden z zasadniczych czynników limitujących rozmiary budowanych sieci. To bardzo pesymistyczne oszacowanie, dominuje jednak pogląd, że nie musi ono dotyczyć algorytmów “konkurencyjnych” dla reguły delta. Najczęściej wskazywane są tu algorytmy PNN (Probabilistic Neural NetWork), RBF (Radial Basis Functions), LVQ (Linear Vector Quantization) i RCE (Re-stricted Coulomb Energy). Algorytmy te są jednak chwilowo mało popularne (większość gotowych programów modelujących sieci neuronowe opiera się na algorytmie delta i jego odmianach), a równocześnie wzmiankowane metody są dość złożone, nie będą więc tu omawiane.
Na koniec przedyskutujemy jeszcze problem uczenia sieci związany z obecnością w niej warstw ukrytych. Jak opisałem w poprzednim rozdziale -warstwą ukrytą zwykło się nazywać każdą warstwę z wyjątkiem wejściowej