W przypadku budowy wielowarstwowej sieci perceptronowej, wybór metody trenowania jest etapem wymagającym szczególnej analizy oraz starannego określenia najlepszego algorytmu, razem z optymalnym zestawem parametrów. Dodatkową trudnością jaka wiąże się z procesem uczenia jest konieczność iteracyjnego przeprowadzania olbrzymiej ilości obliczeń, których wykonywanie może pochłaniać sporo czasu, a w przypadku przetwarzania większych zbiorów obserwacji lub trenowania bazującego na wielokrotnym losowaniu wartości startowych wag, może okazać się poważną niedogodnością. Dobry algorytm uczenia powinien więc, obok szacowania odpowiednich wartości wag neuronów, dążyć także do minimalizowania liczby obliczeń potrzebnych do osiągnięcia tego celu i tym samym skracania czasu jego wykonywania.
Fundamentem i punktem wyjścia wielu późniejszych modyfikacji jest klasyczny algorytm wstecznej propagacji błędu (ang. Error Back Propagation) oraz momentowa metoda wstecznej propagacji błędu (ang. Momentum Error Back Propagation). Wymienione algorytmy są sparametryzowane w pierwszym przypadku za pomocą współczynnika uczenia, a w długim dodatkowo przez współczynnik momentu, których wartości są stałe w ciągu całego procesu uczenia.
Algorytm wstecznej propagacji błędu wykazuje silną zależność pomiędzy przebiegiem procesu trenowania sieci, a wartością współczynnika uczenia. Zbyt mała jego wartość powoduje zwiększenie się liczby potrzebnych iteracji i tym samym czasu wymaganego na zakończenie treningu. Algorytm ma ponadto w takim przypadku tendencję to wygasania w minimach lokalnych funkcji celu. Ustalenie z kolei zbyt dużej wartości kroku grozi wystąpieniem oscylacji wokół poszukiwanego minimum, prowadzącej ostatecznie do zatrzymania procesu uczenia bez osiągniecie wymaganej wartości funkcji celu.
Najprostsza postać metody wstecznej propagacji błędu zakłada przyjęcie stałej wartość współczynnika uczenia w całym procesie treningu. Rozwiązanie takie jest krytykowane jako nieefektywne. Wskazuje się przy tej okazji na zależność optymalnej wartości kroku od kształtu, jaki optymalizowana funkcja celu przybiera w punkcie wyznaczonym przez wektor aktualnych wartości wag sieci. W przypadku przechodzenia przez obszar plaski, na którym znaczne modyfikacje wag powodują niewielkie zmiany wartości funkcji celu, korzystniejsze są duże wielkości współczynnika. W przypadku przeciwnym, gdy punkt wyznaczony przez wektor wag wchodzi na stromy obszar wąwozu, na którym niewielkie zmiany wielkości wag bardzo silnie oddziałują na wartość funkcji celu, optymalna wartość współczynnika powinna być niewielka.
Naturalną konsekwencją powyższych obserwacji jest cały szereg modyfikacji podstawowej wersji algorytmu wstecznej propagacji błędu, mających na celu optymalizację współczynnika uczenia osobno dla każdej iteracji, a nawet pojedynczej wagi. Przykładem takiego podejścia jest modyfikowanie wartości wyjściowej kroku przypisanego do konkretnej wagi w oparciu o znaki odpowiadających jej pochodnych cząstkowych, pochodzących z dwóch ostatnich iteracji:
Inna popularna metoda zwraca uwagę na zmiany jakie w kolejnych iteracjach występują w wielkości optymalizowanej funkcji celu. Zaleca się przy tym aby zwiększać współczynnik ucznia o pewną stała, a zmniejszać geometrycznie:
Podstawową wadą każdej z wymienionych metod jest konieczność dość arbitralnego ustalenia współczynników decydujących o końcowym działaniu prezentowanych algorytmów. W praktyce oznacza to najczęściej empiryczne poszukiwanie optymalnej wartości, co po pierwsze dostarcza rozwiązanie jedynie dla konkretnego problemu, a po drugie i tak nie daje gwarancji osiągnięcia minimum globalnego funkcji celu lub nawet pewności zminimalizowania liczby iteracji. Zwiększanie kroku o stałą wartość wydaje się być nieefektywne zarówno dla sytuacji gdy wymagana jest duża wartość współczynnika, jak i przy dochodzeniu do minimum, ponieważ w pierwszym przypadku krok zwiększa się minimalnie, a w drugim ustalona wielkość może się okazać zbyt duża w stosunku do wartości którą modyfikuje, powodując nadmiernie zaburzenia. Warto także podkreślić, że metody uczenia przyrostowego z reguły wykazują duże trudności w przypadku stosowania razem z algorytmami adaptacyjnej zmiany współczynnika uczenia, a już szczególnie w przypadku wykorzystywania w obliczeniach wartości gradientu, która jest dość dowolna w zależności od konkretnej obserwacji i generalnie nie ma związku z optymalną zmianą wag.
Wysiłki mające na celu zwiększenie efektywności procesu uczenia doprowadziły do opracowania momentowej metody wstecznej propagacji błędu, która do klasycznej idei optymalizacji gradientowej wprowadziła element bezwładności kolejnych zmian wektora wag. Algorytm ten w rzeczywistości wykonuje wygładzanie poprawek zbioru wag, uzależnione od wartości współczynnika wygładzania określanego nazwą momentu (ang. momentum). Istota prezentowanego mechanizmu jest analogiczna do tzw. metody Browna lub inaczej prostego wygładzania wykładniczego, wykorzystywanego w prognozowaniu niestrukturalnym. Wpływ wcześniejszych poprawek wektora wag maleje wykładniczo w miarę oddalania się od bieżącego numeru iteracji. Ostateczna poprawka jest dzięki temu sumą opartą nie tylko o wielkość bieżącego gradient funkcji celu, ale także o wcześniejsze modyfikacje.
Podobnie jak w przypadku współczynnika uczenia, także współczynnik momentu w najprostszej postaci algorytmu wprowadzany jest jako wartość stała, niezmienna podczas trwania treningu sieci neuronowej. Rozwiązanie takie jest oczywiście krytykowane za nieefektywność, ponieważ optymalna wartość współczynnika momentu jest także uzależniona od kształtu, jaki hiperpłaszczyzna funkcji celu przybiera w otoczeniu punktu wyznaczonego przez wektor bieżących wartości wag. Dla obszarów płaskich, gdzie proces uczenia wyraźnie zwalnia, duża wartość momentu pozwala mu nabrać rozpędu i zmniejszyć liczbę wykonywanych iteracji, unikając jednoczenie stopowania w napotykanych po drodze płytkich minimach lokalnych. Z kolei w przypadku wąwozu stosunkowo niewielka, ale znacząca wartość może spełniać rolę filtru tłumiącego oscylacje.
Warto przeanalizować wypływ jaki różne wartości omawianego współczynnika mogą wywierać na przyspieszenie procesu uczenia. Jeśli przyjmiemy, że algorytm przychodząc przez płaski, doskonale jednolity pod względem kształtu, obszar funkcji celu, generuje w kolejnych iteracjach takie same wartości gradientu, wtedy wektor zmiany wag sieci możemy przestawić jako szereg geometryczny. Przy zachowaniu warunku zbieżności jest również możliwe obliczenie całkowitej wielkości takiego wyrażenia i wyodrębnienie wpływu momentu:
Analiza wykazuje, że wprowadzenie do algorytmu mechanizmu wygładzania o współczynniku β = 0,8 powoduje przy powyższych założeniach pięciokrotnie zwiększenie wartość poprawki wag, a przy zastosowaniu najczęściej zalecanej wielkości β = 0,9 nawet dziesięciokrotne. Jednak w przypadku przyjęcia wartości momentu większej lub równej jeden szereg staje się rozbieżny, co oznacza możliwość nieograniczonego zwiększania wielkości poprawek i niezwykle silną bezwładność, mogąca uniemożliwić zmianę kierunku prowadzącego do minimum funkcji celu.
Ze względu na podobne zalecenia optymalnych wartości zarówno dla współczynnika uczenia jak i momentu metody adaptacyjnego dopasowania tego ostatniego bazują na takich samych mechanizmach, jakie wykorzystuje się do zmiany wielkości kroku. Stosowanie współczynnika momentu pozwala jednak wyraźnie przyśpieszyć, szczególnie narażoną na zbaczanie z głównego kierunku optymalizacji, metodę uczenia przyrostowego, a mechanizm bezwładności zmniejsza ryzyko wejścia w płytkie minimum lokalne funkcji celu. Wysuwa się ponadto tezy, poparte obiecującymi rezultatami, że to właśnie momentum, a nie współczynnik uczenia powinien podlegać adaptacji podczas treningu.
Interesującą modyfikacją momentowej metody wstecznej propagacji błędu jest algorytm opracowany przez Chana i Falsidea. Zastosowany w nim mechanizm adaptacji współczynników uczenia i momentu bazuje na wartości miary kąta pomiędzy wektorami utworzonymi z bieżącego gradientu funkcji celu, a wartościami ostatniej modyfikacji zbioru wag. Niewielki kąt pomiędzy wektorami oznacza przesuwanie się w kolejnych iteracjach punktu wyznaczonego przez wektor wartości wag w podobnym kierunku i jest typowy dla płaskich obszarów optymalizowanej funkcji celu. Z kolei duże wartości kąta sugerują oscylacje występujące na obszarze wąwozu. W pierwszym z opisanych przypadków algorytm zwiększa wielkości współczynników, w drugim dokonuje ich redukcji, a w przypadkach pośrednich, oscylujących wokół kąta 90 stopni, pozostawia je bez zmian. Opisany efekt uzyskano przy pomocy cosinusa kąta zawartego pomiędzy wektorem gradientu, a wektorem ostatniej modyfikacji wag, który razem z dodatkowymi przekształceniami stanowi funkcję wyznaczającą nowe wartości współczynnika uczenia a i pośrednio współczynnika momentu β:
Współczynnik uczenia jest następnie wykorzystywany podczas wyznaczania momentu, który stanowi iloczyn kroku i współczynnika proporcjonalności λ. Wartość współczynnika proporcjonalności maleje gdy norma wektora bieżącego gradientu zmniejsza się względem normy wektora ostatniej poprawki wag sieci. Sytuacja taka występuje w przypadku gdy wartości gradientu w kolejnych iteracjach są do siebie podobne, co ma miejsce podczas przechodzenia na hiperpłaszczyźnie funkcji celu przez obszar płaski. Następuje wówczas zwiększanie się współczynnika uczenia i tym samym wartości poprawek zbioru wag, co powoduje redukcję współczynnika proporcjonalności i przez to ograniczenie zmian w wielkości momentu.
Analiza mechanizmów adaptacji wskazuje jednak na niebezpieczeństwo nadmiernej bezwładności procesu trenowania wykorzystującego wsadową metodę uczenia. Przechodzenie przez płaskie obszary funkcji celu i ogromna ilość iteracji o zbliżonych wektorach gradientu może doprowadzić do osiągnięcia znacznej wielkości, zarówno przez współczynnik uczenia, jak i wartości kolejnych modyfikacji wag, co w połączeniu ze znaczną i względnie stałą wartością momentu może spowodować, że nagła zmiana kierunku wskazującego minimum funkcji celu bardzo słabo wpłynie na ogólny kierunek zmian zbioru wag. Ze względu na fakt, iż silne zmiany kierunku optymalizacji są, przynajmniej w pierwszej fazie ucznia, zjawiskiem o wiele rzadszym od powolnego przesuwania się w podobnym kierunku na hiperpłaszczyźnie funkcji celu, wartość współczynnika uczenia generalnie zwiększa się podczas całego procesu trenowania, prowadząc w fazie końcowej do oscylacji wartości kroku oraz funkcji celu i utrudniając tym samym schodzenie w głąb wąwozów, mogących obejmować poszukiwane minimum.
Ogólny wpływ współczynnika proporcjonalności λ na przebieg treningu jest dość problematyczny, a obecność stałego parametru λ0 stwarza dodatkowy problem poszukiwania optymalnej wartości dla konkretnego problemu. Z jednej strony omawiany współczynnik hamuje wzrost wielkości momentu, z drugiej jednak może zwiększać swoją wartość przy przejściu od płaszczyzny do stromej ściany wąwozu, gdzie norma wektora gradientu na ogół jest większa. Nie jest to zgodne z zaleceniem redukcji współczynników na obszarze wąwozów, stwarzając ryzyko przeskoczenia i oddalenia od szukanego minimum lub nadmiernego rozpędzania procesu uczenia i niekorzystnego zwiększania wartości kolejnych modyfikacji wag sieci w samym wąwozie.
Większość pomysłów związanych z adaptacją współczynników uczenia i momentu wstecznej metody propagacji błędu nie usprawnia procesu trenowania, a prace nad rozwiązaniem tego problemu wciąż trwają. Proponowany poniżej mechanizm jest rozwinięciem momentowej metody wstecznej propagacji błędu, wprowadzającym adaptacyjnie modyfikowanie długości kroku i momentu, osobno dla każdej iteracji, ale wspólnie dla całego zbioru wag sieci. Mechanizm optymalizowania współczynników bazuje na właściwościach, zaczerpniętego z algorytmu Chana i Falsidea, cosinusa kąta pomiędzy wektorem bieżącego gradientu funkcji celu, a wektorem ostatniej poprawki wag:
Wzrost efektywności procesu uczenia uzyskuje się głównie przez manipulowanie wartością momentu β, opartą na przekształconej wielkości parametru β0. Jeżeli punkt wyznaczany przez wektor wag przechodzi przez obszar hiperpłaszczyzny funkcji celu o takim samym kształcie, kąt pomiędzy wektorem gradientu, a wektorem ostatniej zmiany wag jest niewielki. W takiej sytuacji, oparta na wielkości cosinusa tego kąta, wartość wyrażenia przez które mnoży się stałą b0 jest zbliżona do jedności. Proces uczenia nabiera wówczas rozpędu i tylko od wartości parametru β0 zależy ile razy może ulec zwielokrotnieniu wielkość poprawki wag.
Szczególnie interesującą jest możliwość ustalenia wartości β0 na poziomie 1 lub wyższym. W świetle wcześniejszej analizy, ujmującej poprawkę w formie szeregu geometrycznego (wzór 3), oznacza to niespełnienie warunku zbieżności, czyli nieorganiczną możliwość zwielokrotniania wartości poprawek wag i tym samym redukcji ilości iteracji potrzebnych do pokonania płaskiego obszaru funkcji celu. Nie występuje jednak w tym przypadku wspomniane przy okazji algorytmu Chana i Falsidea ryzyko nadmiernej bezwładności procesu modyfikowania wag i braku reakcji na zasadniczą zmianę kierunku optymalizacji. Jeśli wektory gradientu i ostatniej poprawki maja w przybliżeniu przeciwne kierunki, wtedy oparte na cosinusie kąta wyrażenie zbliża się do zera, minimalizując wpływ przeszłych poprawek na bieżącą modyfikację wag. W sytuacjach pośrednich, gdy kierunek optymalizacji ulega zmianom znacznym, ale łagodniejszym jednak niż w przypadku oscylacji, wartość współczynnika momentu oscyluje pomiędzy 0 a stałą β0. Dzięki temu, algorytm może bardzo silnie przyspieszać na obszarach płaskich, utrzymywać względnie stały kierunek optymalizacji, czyli pokonywać przyciąganie płytkich minimów lokalnych i jednocześnie podlegać szybkiemu wyhamowaniu, gdy kierunek wskazywany przez gradient funkcji celu ulega diametralnej zmianie.
Opisany efekt i związane z nim korzyści stosują się raczej do wsadowej metody uczenia, ponieważ w przypadku odmiany przyrostowej, wartości gradientu funkcji celu obliczane dla każdej obserwacji osobno, na ogół różnią się między sobą i nie wskazują kierunku optymalizacji dla całego zbioru danych uczących.
Mechanizm adaptacji współczynnika uczenia również został zaczerpnięty z algorytmu Chana i Falsidea, rozszerzonego o stały parametr α0, który w pierwowzorze odpowiada skalarowi 0,5. Adaptacja współczynnika ma jednak tutaj charakter drugorzędny, a optymalna wielkość parametru α0 powinna mieć raczej minimalną wartość, jak np. α0 = 10-4. Jej głównym zadaniem jest umożliwienie redukcji kroku w przypadku wystąpienia oscylacji na stromych ścianach wąwozu, obejmującego poszukiwane minimum funkcji celu. Przy tak postawionej funkcji omawianego współczynnika, nasuwa się sugestia by w ogóle uniemożliwić wzrost kroku podczas procesu uczenia. Pomysł nie wydaje się jednak zbyt korzystny, ponieważ w przypadku wyjątkowo nieregularnego kształtu hiperpłaszczyzny funkcji celu, początkowe zmiany kierunku optymalizacji mogą doprowadzić do poważnej, niepożądanej redukcji wielkości kroku i tym samym zwielokrotnienia wykonywanych iteracji lub nawet zatrzymania się treningu w płytkim minimum lokalnym.
Ustalenie większej wartości parametru α0 oznacza większe ryzyko osiągnięcia zbyt dużej wartości kroku i szybkiego wystąpienia oscylacji, która wymusza jego redukcję. Jednak w przeciwieństwie do adaptacji momentu, redukcja współczynnika uczenia nie jest natychmiastowa, ale jej czas i nakład obliczeń odpowiada wcześniejszej liczbie iteracji, podczas których występowało powiększanie kroku.
Konkretny przykład zastosowania makroekonomicznego sieci neuronowych, jakim jest neuronowa wersja modelu gospodarki Szwecji o nazwie EMIL, pozwala sprawdzić w praktyce trafność powyższych założeń i faktyczną efektywność zaproponowanej odmiany algorytmu.
W eksperymencie wykorzystano sieć neuronową przybliżającą funkcję zmiany popytu, czyli pierwszego równania modelu. Opisany wyżej algorytm został zaimplementowany w programie komputerowym o roboczej nazwie NeuralEngine v1.0, napisanym w języku Java. Jako główny warunek zatrzymania treningu ustalono osiągniecie wartości błędu na poziomie 1%. Podstawową miarą błędu wykorzystywaną podczas obliczeń w procesie uczenia jest zmodyfikowana miara RMSPE (ang. Root Mean Square Percentage Error), czyli pierwiastek procentowego błędu średniokwadratowego.
| Rodzaj zastosowanego algorytmu | Liczba iteracji | Czas uczenia (sekundy) | Czas trwania iteracji (sek.) | Błąd RMSPE2 |
|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 |
| Momentowa metoda wstecznej propagacji błędu, uczenie przyrostowe | 15885 | 29,70 | 0,0019 | 0,99 |
| Momentowa metoda wstecznej propagacji błędu, uczenie wsadowe | 40795 | 51,20 | 0,0013 | 0,99 |
| Adaptacyjna metoda wstecznej propagacji błędu, uczenie wsadowe | 2121 | 2,30 | 0,0011 | 0,99 |
Adaptacyjny algorytm wstecznej propagacji błędu, oparty na wartości kata pomiędzy bieżącym gradientem funkcji celu, a ostatnią poprawką wag, okazał się jednocześnie zdecydowanie szybszy i wymagający mniej iteracji od wersji podstawowej w obydwu odmianach. Należy jednak dodać, że wykonuje on trenowanie w wersji wsadowej, co oznacza że wzrost liczby obserwacji w zbiorze uczącym zawsze będzie powodował jakiś spadek efektywności działania w stosunku do algorytmów wykorzystujących uczenie przyrostowe.
Obserwacje i rozważania teoretyczne wskazują na nieefektywność przyjmowania niezmiennych wartości współczynnika uczenia i momentu podczas całego treningu. Mając na względzie to, że ich optymalna wartość zależy od bieżącego kształtu hierpłaszczyzny optymalizowanej funkcji celu, proponuje się cały szereg adaptacyjnych metod dopasowania wartości parametrów, osobno dla każdej iteracji, a nawet pojedynczej wagi. Inspirującym przykładem wspomnianego mechanizmu adaptacji jest algorytm Chana i Falsidea, w którym kolejne modyfikacje kluczowych współczynników bazują na wartości kąta zawartego pomiędzy wektorem bieżącego gradientu, a wektorem ostatniej poprawki wag. Zaproponowana wyżej w tekście modyfikacja momentowej metody wstecznej propagacji błędu opiera się na właściwościach cosinusa kąta zawartego pomiędzy wymienionymi wektorami. W przeciwieństwie jednak do mechanizmu adaptacji współczynników opisanego przez Chan i Falsidea, proponowane podejście wskazuje na kluczowe znaczenie manipulowania wartością momentu, pozostawiając dla adaptacji współczynnika uczenia funkcje dodatkową, którą teoretycznie można w pewnych przypadkach pominąć, powracając do ustalenia stałej wielkości parametru dla całego procesu uczenia. Główna zaleta proponowanego rozwiązania sprowadza się do możliwości nieograniczonego przyspieszania algorytmu na płaskich obszarach funkcji celu, połączonego z gwałtownym hamowaniem w przypadku zmiany kierunku optymalizacji.
Uczenie sieci neuronowych reprezentujących zależności makroekonomiczne modelu EMIL stworzyło okazję do porównania efektywności podstawowej oraz zmodyfikowanej odmiany momentowej metody wstecznej propagacji błędu. Wyniki eksperymentu potwierdziły korzyści wynikające z wprowadzenia do algorytmu adaptacyjnego mechanizmu modyfikowania współczynników uczenia i momentu, wykorzystującego informacje dostarczane przez miarę kąta pomiędzy wektorem gradientu funkcji celu, a wektorem ostatniej poprawki wag.
Biocybernetyka I inżynieria biomedyczna 2000, pod red. M. Nałęcza, t. VI, Sieci neuronowe, pod red. W. Ducha, J. Korbicza, L. Rutkowskiego, R Tadeusiewicza, Akademicka Oficyna Wydawnicza EXIT, Warszawa 2000.
Gajda J. B., Gustafson C. H., EMIL - An Econometric Macro Model of Sweden, Department of Economics, Örebro University, Working paper no.7, 1999.
Gajda J. B., Prognozowanie i symulacja a decyzje gospodarcze, Wydawnictwo C. H. Beck, Warszawa 2001.
Neural Network FAQ (newsgroup comp.ai.neural-nets), ed. W. S. Sarle, SAS Institute, 1997-2002, ftp://ftp.sas.com/pub/neural/FAQ.html, czerwiec 2003.
Rośczak P., Implementacja i wykorzystanie wielowarstwowej sieci perceptronowej w modelowaniu makroekonomicznym. Praca magisterska napisana w Zakładzie Informatyki Ekonomicznej pod kierunkiem Dr Marka Melaniuka, Uniwersytet Łódzki, Wydział Ekonomiczno-Socjologiczny, Łódź 2003, http://pawelrosczak.republika.pl/mlp/, wrzesień 2004.
Wykorzystanie sztucznych sieci neuronowych w modelowaniu ekonomicznym, pod red. J. Siedleckiego, Wydawnictwo Akademii Ekonomicznej im. Oskara Langego we Wrocławiu, Wrocław 2001.