Implementacja i wykorzystanie wielowarstwowej sieci perceptronowej w modelowaniu makroekonomicznym

Wstecz
Spis treści
Strona domowa

Algorytm uczenia sieci neuronowej oparty na metodzie wstecznej propagacji błędu

Uzyskanie sieci neuronowej o pożądanych właściwościach uzależnione jest od szeregu czynników, związanych przede wszystkim z jakością zbioru danych uczących, odpowiednią strukturą sieci oraz procesem uczenia. Przy budowie systemu neuronowego twórca często staje wobec konieczności wyboru jednego spośród alternatywnych algorytmów, określania wartości różnorodnych parametrów lub samodzielnego precyzowania pewnych szczegółów implementowanych operacji. W praktyce badacze często podkreślają role intuicji lub doświadczenia, a szereg zaleceń odnośnie uzyskania optymalnie działającej sieci neuronowej ma charakter ogólny lub ograniczony do pewnej przeanalizowanej grupy problemów.

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.

Trenowanie wielowarstwowej sieci perceptronowej, będące w rzeczywistości minimalizacją nieliniowej funkcji celu, może być przeprowadzone za pomocą wielu różnych metod numerycznych, do których zaliczamy: algorytmy Gaussa-Newtona i Newtona-Raphsona, metody quasi-newtonowskie, sprzężonych gradientów, Levenberga-Marquardta oraz metody gradientowe z całą grupa algorytmów bazujących na wstecznej propagacji błędu. Ta ostania rodzina metod, dzięki swojej względnej prostocie i uniwersalności, do dzisiaj cieszy się niesłabnącą popularnością zarówno w analizach teoretycznych, jak i zastosowaniach w praktyce. Fundamentem i punktem wyjścia wielu późniejszych modyfikacji jest klasyczny algorytm wstecznej propagacji błędu - EBP (ang. Error Back Propagation) oraz momentowa metoda wstecznej propagacji błędu - MEBP (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 ucznia. Dodatkowym parametrem wymienianym czasami w kontekście opisów sieci neuronowych jest współczynnik determinujący nachylenie sigmoidalnej funkcji aktywacji użytej w neuronie.

Zdefiniowanie szczegółów algorytmu wstecznej propagacji błędu oraz wybór współczynników nie kończy jednak trudności związanych z procesem trenowania. Jego pozornie udany przebieg może doprowadzić do wystąpienia zjawiska przeuczenia sieci neuronowej, co skłania z kolei do zastanowienia się nad użyciem metody wczesnego stropu i kolejnym wyborem, tym razem najlepszego sposobu podzielenia zbioru uczącego na podzbiory konstrukcyjny, testowy i dodatkowo walidacyjny.

Parametryzowanie sigmoidalnej funkcji aktywacji

Doskonałe możliwości w zakresie odzwierciedlania przez sieci neuronowe skomplikowanych, nieliniowych zależności uzyskano dzięki zastosowaniu wielu warstw neuronów, posiadających nieliniowe funkcje aktywacji. Jedną z popularniejszych form funkcji przejścia jest postać sigmoidalna, często prezentowana w postaci sparametryzowanej, umożliwiającej za pomocą parametru dobór dowolnego nachylenia krzywej logistycznej.

Warto przy tym zastanowić się czy istnieje uzasadnienie używania parametru λ, czy też jego wpływ może być zastąpiony odpowiednim doborem innych parametrów i wielkości. W przypadku przetwarzania zmiennych wejściowych na zmienne wyjściowe, efekt jaki powoduje zmiana nachylenia krzywej można uzyskać mnożąc wartości wag sieci przez wielkość parametru λ.

W procesie trenowania, obok powyższej zależności, należy także uwzględnić wpływ parametru λ na gradient funkcji celu, wykorzystywany jako podstawowy mechanizm korekty wag w algorytmach wstecznej propagacji błędu. Po przedstawieniu gradientu funkcji celu jako iloczynu pochodnych dla funkcji złożonej, parametr λ występuje jedynie w pochodnej sigmoidalnej funkcji aktywacji:

Wartość gradientu funkcji celu dla sparametryzowanej funkcji sigmoidalnej różni się od wartości gradientu dla sigmoidy z parametrem λ = 1 we fragmentach wykorzystujących wartości wyjść neuronów oraz tam gdzie parametr λ mnożony jest przez wartość wag i zmiennych wejściowych. Zgodnie ze wzorem (3.2) odpowiednie wartości wyjść neuronów można uzyskać mnożąc wartości startowe wag przez parametr l, co po podstawieniu i uproszczeniu redukuje występowanie analizowanego parametru tylko do jednego miejsca:

Gradient funkcji celu dla sparametryzowanej funkcji sigmidalnej jest równy gradientowi funkcji celu dla sigmoidy bez parametru, jeżeli wartości wag zostaną pomnożone przez pominiętą w funkcji aktywacji wartość λ, a sam gradient przez λ2. Widzimy wiec, że wpływ parametru określającego nachylenie sigmoidy można uzyskać przez odpowiedni dobór startowych wartości wag oraz współczynnika uczenia, który musi być w takiej sytuacji pomnożony przez λ2. Dwukrotne mnożenie współczynnika uczenia przez parametr λ to efekt najpierw obliczeń związanych z uzyskaniem odpowiedniej wartości gradientu, a następnie konieczności przekształcenia poprawki zbioru wag odpowiadającej modyfikacji wag startowych.

Na potwierdzenia powyższej tezy przeprowadzono eksperyment polegający na uczeniu sieci z neuronami wyposażonymi w sparametryzowaną sigmoidalną funkcję aktywacji oraz sieci, której neurony implementowały sigmoidę bez parametru, modyfikując jednocześnie zgodnie z powyższymi wnioskami współczynnik uczenia i startowe wartości wag. Obserwacje potwierdziły zaprezentowaną wyżej analizę. Dla wartości λ = 0,5 oraz 2 i 3, wykorzystując sieć z dwoma i trzema warstwami perceptronowymi, trenowanie metodą wsadową trwało identyczną liczbę obserwacji i zatrzymywało się na takich samych wartościach błędów. Wielkości wag dla sieci uczonych z funkcją aktywacji bez parametru były jednocześnie równe iloczynowi wielkości λ i wartości wag dla sieci trenowanych z użyciem parametru.

Współczynnik 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:

Inne podejście zaleca powiązanie wielkości współczynnika z numerem iteracji. Strategia zakłada stosowanie dużych wartości kroku na początku procesu uczenia i jego zmniejszanie w miarę zbliżania się do minimum funkcji celu. W wersji rozszerzonej zakłada się ponadto stosowanie niewielkich wartości współczynnika także na samym początku treningu, co ma ułatwić efektywne wejście na właściwy kierunek zmian w przestrzeni wag.

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. Powiązanie z kolei kroku z numerem iteracji i jego przedwczesne lub zbyt szybkie zmniejszanie może doprowadzić do wymuszonego zatrzymania treningu w płytkim minimum lokalnym funkcji celu. 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.

Współczynnik momentu

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.

Zalecenia związane z pożądaną wartością współczynnika momentu prowadzą oczywiście w kierunku dalszego modyfikowania momentowej metody wstecznej propagacji błędu, zmierzającego do adaptacyjnego wyznaczana jego optymalnej wielkości, osobno dla każdej iteracji, a także konkretnej wagi. Warto przy tym 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. Modyfikowanie momentu uzależnia się więc od znaków gradientów z dwóch kolejnych iteracji, zmiany wartości funkcji celu oraz numeru iteracji, co wszystko razem obarczone jest oczywiście podobnymi problemami, związanymi z doborem względnie uniwersalnych parametrów dla używanego algorytmu adaptacji. 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.

Algorytm Chana i Falsidea

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 α 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. Równie problematyczny jest także wpływ powyższego mechanizmu wygładzania w przypadku uczenia metodą przyrostową, gdzie wielkości gradientu obliczane dla każdej obserwacji osobno na ogół znacznie różnią się miedzy sobą w jednej i tej samej iteracji.

Modyfikacja momentowej metody wstecznej propagacji błędu

Bogactwo proponowanych algorytmów nie idzie niestety w parze z ich efektywnością. 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ą. Budowa sieci neuronowej i implementacja algorytmu uczenia skłania wiec do poszukiwania i analizy możliwie najlepszej metody trenowania.

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łą β0 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.7), 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. Teoretycznie można sobie nawet wyobrazić sytuację, w której długość kroku jest tak trafnie dobrana w stosunku do modelowanego problemu i architektury sieci, że algorytm osiąga zadany poziom funkcji celu bez konieczności jego modyfikacji.

Zjawisko przetrenowania sieci neuronowej

Wielowarstwowa sieć perceptronowa może być rozważana jako wysoce nieliniowa funkcja realizująca odwzorowanie zbioru zmiennych wejściowych na zbiór zmiennych wyjściowych. W przypadku gdy funkcję taką chcemy wykorzystać do modelowania zjawisk świata rzeczywistego, opartego o zgromadzone dane statystyczne odpowiadające rozważaniom teoretycznym lub badaniu korelacji, stajemy wobec tych samych problemów jakie związane są z tradycyjnymi modelami ekonometrycznymi. Funkcja reprezentująca zależność zmiennych objaśnianych od zmiennych objaśniających musi mieć wówczas charakter stochastyczny, ujęty w postaci składnika losowego, który zgodnie z teorią konstruowania modeli ekonometrycznych zawiera w sobie indeterminizm zjawisk i procesów zwłaszcza o charakterze społecznym, reprezentuje niedoskonałość obserwacji i pomiaru oraz uwzględnia ewentualne błędy w specyfikacji modelu, a szczególnie brak ważnych zmiennych objaśniających. Sieć neuronowa rozpatrywana w takim ujęciu jest modelem matematycznym opisującym regresję lub warunkową wartość oczekiwaną zmiennych endogenicznych względem zmiennych egzogenicznych, a wektor wyjść jest realizacją pewnej zmiennej losowej, której wartości empiryczne nie muszą pokrywać się z wartością oczekiwaną.

Sieć neuronowa nie powinna więc dążyć do takiej konfiguracji swoich parametrów, czyli wag, przy której hiperpłaszczyzna realizowanego odwzorowania będzie przechodzić dokładnie przez wszystkie punkty ze zbioru wyjść, ale poszukiwać kształtu odpowiadającego warunkowej wartości oczekiwanej. Opisane niebezpieczeństwo nosi nazwę przeuczenia sieci i oznacza dopasowanie jej kształtu nie do faktycznych zależności modelowanego zjawiska, ale do losowych zaburzeń zawartych w zbiorze danych treningowych. Sieć wytrenowana w taki sposób nie posiada zdolności do generalizowania obserwacji spoza zbioru treningowego i jest praktycznie bezużyteczna.

Systemy neuronowe z nieliniową funkcje aktywacji posiadają doskonałe możliwości przybliżania praktycznie każdej dowolnie nieliniowej funkcji. Oznacza to, że nie istnieją żadne ograniczenia odnośnie kształtu lub charakteru jaki może przyjmować hiperpłaszczyzna funkcji wyznaczanej wartościami zbioru wag sieci i tym samym żadne ograniczenia w zakresie dowolnie dokładnego dopasowanie do punktów wyznaczanych przez obserwacje empiryczne. Tradycyjny standard liniowego modelu regresji, określanego także jako założenia schematu Gussa-Markowa, nakłada na model wymóg liniowości względem parametrów oraz zerową wartość oczekiwaną składnika losowego. Oznacza to, że w teorii zaburzenia losowe mają tendencję do wzajemnego znoszenia się, a ograniczenia w zakresie kształtu realizowanego odwzorowania uniemożliwiają idealnie dokładne dopasowanie do obserwacji empirycznych, lecz jedynie minimalizację błędu obliczanego zgodnie z zadanym kryterium. Linia regresji wyznaczona w oparciu o wspomniane ograniczenia postaci funkcyjnej jest przybliżeniem warunkowej wartości oczekiwanej zmiennych endogenicznych, a jej odchylenia od wartości empirycznych oszacowaniami składnika losowego.

W dziedzinie sieci neuronowych istnieją oczywiście pewne zalecenia które można w pewnym sensie porównywać do wymogu liniowości schematu Gussa-Markowa i które chronią przed zjawiskiem przeuczenia. Opierają się one na obserwacji wskazującej na zależność pomiędzy liczbą parametrów sieci neuronowej, czyli liczbą jej warstw i neuronów, a stopniem złożoności odwzorowania które jest w stanie realizować. Wynika z tego prosty wniosek, że wykorzystanie sieci o odpowiednio małej liczbie parametrów w stosunku do złożoności modelowanego problemu uniemożliwia nadmierne dopasowanie, pozwalając jednie, podobnie jak w przypadku liniowych modeli ekonometrycznych, na minimalizację błędu pomiędzy wartościami wyjść, a wielkościami empirycznymi. Niestety w praktyce trudno określić zarówno stopień komplikacji modelowanego zjawiska, jak i optymalną liczbę parametrów, a stosowne zalecenia wskazują jedynie jak minimalizować ryzyko przeuczenia. Zgodnie z nimi liczebność zboru obserwacji najczęściej powinna być przynajmniej 10 razy większa od liczby parametrów, a w przypadku pracy ze zmiennymi wyjściowymi pozbawionymi szumu losowego przynajmniej 2 razy. Generalnie im więcej obserwacji w stosunku do liczby parametrów tym lepiej, ale nawet w przypadku znacznej przewagi danych empirycznych można doświadczyć minimalnego efektu przeuczenia.

Właściwości algorytmu wczesnego stopu

Najpopularniejszą metodą zabezpieczenia się przed wystąpieniem zjawiska przeuczenia jest poszerzenie wykorzystywanej metody wstecznej propagacji błędu i połączenie z algorytmem wczesnego stopu (ang. early stopping). Powyższa metoda, nazywana także zatrzymanym uczeniem proponuje:

  1. Podział wszystkich obserwacji na zbiór uczący, wykorzystywany do modyfikowania wag sieci, oraz zbiór testujący używany przy obliczaniu zadanego błędu dopasowania.
  2. Korzystanie z dużej liczby neuronów w warstwach ukrytych, czyli w 2 i 3 warstwie perceptronowej.
  3. Wylosowanie bardzo małych wartości startowych dla wag.
  4. Ustalenie małej, czyli spowalniającej optymalizację, wartości współczynnika uczenia.
  5. Systematyczne obliczanie zadanego błędu dopasowania i zatrzymanie procesu gdy jego wartość zacznie rosnąć.

Należy jednak podkreślić, że otrzymany w ten sposób błąd dopasowania nie jest dobrym estymatorem błędu generalizacji. W celu uzyskania nieobciążonego oszacowania błędu generalizacji sieci neuronowej należy wyodrębnić ze zbioru obserwacji trzeci zbiór weryfikujący i na jego podstawie obliczyć błąd dopasowania.

Algorytm wczesnego stopu jest procedurą szybką i może być wykorzystany do udanego uczenia w przypadkach, gdy liczba wag sieci przekracza wielkość zbioru dostępnych obserwacji. Nie precyzuje jednak sposobu podziału całości danych na poszczególne zbiory oraz nie określa szczegółów warunku zatrzymania, zwłaszcza w kontekście możliwych wahań minimalizowanej wartości błędu.

Mechanizm przerwanego uczenia można potraktować jako organicznie nałożone na kształt hiperpłaszczyzny odwzorowania realizowanego przez sieć neuronową. Jego istota zawiera się w warunku zakładającym, że dopasowanie funkcji parametryzowanej przez wagi sieci nie może ulec polepszeniu dla zbioru uczącego, kosztem pogorszenia dopasowania w zbiorze nie biorącym bezpośredniego udziału w modyfikowaniu wag. Powyższy warunek może funkcjonować poprawnie i eliminować zaburzenia losowe tylko wtedy, gdy obydwa zbiory, uczący i testujący, są wystarczająco liczne i reprezentatywne dla modelowanego zjawiska. To z kolei skłania do wniosku, że najlepszym sposobem podziału danych i uzyskana powyższych zbiorów jest losowanie oraz przyjęcie mniej więcej równych proporcji w ich liczebności. W takiej sytuacji proces trenowania napotykając na punkty znajdujące w tym samym miejscu trajektorii zestawu wejść, ale pochodzące z odrębnych zborów, uczącego oraz testującego, i różniące się wartością wyjść, będzie zabezpieczony przed nadmiernym dopasowaniem funkcji do któregoś z nich, ale tak ukształtuje hiperpłaszczyznę odwzorowania realizowanego przez sieć, by przechodziła przez punkt pośredni, który można utożsamiać z warunkową wartością oczekiwaną wyjść.

W tym momencie pojawia się podstawowa wątpliwość, ponieważ algorytm wczesnego stopu wykorzystuje się jako rozwiązanie problemu małej liczebności obserwacji opisujących złożone zjawisko, czyli wymagające sieci o rozbudowanej architekturze. Tymczasem dzielenie zestawu obserwacji, co do którego zachodzi podejrzenie, iż jest zbyt mało liczny lub ledwie wystarczający na dwa podzbiory i wykorzystywanie do uczenia sieci razem z algorytmem wczesnego stopu, doprowadzi raczej do potraktowania całej, skąpo reprezentowanej zmienności zbioru danych jako szumu oraz dopasowania odwzorowania realizowanego przez sieć do kształtu przypominającego bardziej funkcję stałą, niż poszukiwaną zależność.

W przypadku kiedy dysponuje się bardzo małym zbiorem danych, co do którego można przyjąć założenie o braku istotnego dla konkretnego modelu szumu losowego w zmiennych wyjściowych, efektywniejszym rozwiązaniem wydaje się być rezygnacja z zatrzymanego uczenia i skorzystanie tylko z podstawowej metody wstecznej propagacji błędu, która nie zignoruje żadnej ze skąpo reprezentowanych w zbiorze uczącym zależności. Jeśli natomiast zmienność wyjść jest mała i istnieje możliwość oszacowania jej w inny sposób, można dodatkowo doprowadzić podstawowy proces uczenia tylko do momentu, w którym błąd średni zbliży się do zera, a absolutny do zakładanej wartości wektora odchylenia standardowego wyjść.

Wartość progowa - bias

Podążają za inspiracją biologicznej komórki nerwowej do sztucznego neuronu na ogół wprowadza się odpowiednik wartości progowej w postaci wejścia przybierającego stałą wartość 1. Wejście takie, określane jako obciążenie lub bias, związane jest z wagą neuronu, która podlega procesowi trenowania tak samo jak pozostałe wagi i pełni analogiczną funkcję do wyrazu wolnego w równaniu regresji. Usunięcie z neuronu omawianego elementu powoduje, że hiperpłaszczyzna wyznaczana przez odwzorowanie jego wejść na wyjście zawsze musi przechodzić przez tą samą stałą wartość, odpowiadającą zerowemu wektorowi zmiennych wejściowych. W przypadku sigmoidalnej funkcji aktywacji oznacza to, że dla zerowego wektora wejść, neuron zawsze wygeneruje wielkość 0,5. Różne wartości wag mogą wpływać na nachylenie sigmoidy danego neuronu, ale zawsze będzie musiała ona przechodzić przez centralny punkt równy 0,5. Dla pewnych problemów wspominana właściwość może być użyteczna, ale generalnie pominięcie biasu powoduje nieważność tezy o uniwersalnej aproksymacji sieci neuronowych.

Wygodnym włączeniem obciążenia do obliczeń neuronowych jest rozszerzenie macierzy wejść o wektor jedynkowy, wypełniony stałą wartością 1 i potraktowanie nowego zbioru danych wejściowych tak samo jak tradycyjnego zbioru obserwacji empirycznych.

Powstała w ten sposób nowa macierz zmiennych wejściowych dostarcza stałą wartość bias jedynie do pierwszej warstwy przetwarzającej. Wielkość obciążenia równa 1 może być dodatkowo przeskalowana w warstwie wejściowej do poziomu 0,5, co zmniejszy ryzyko nasycenia sigmoidalnej funkcji aktywacji nadmierną wartością wejść. Dzięki takiemu rozwiązaniu żaden neuron w sieci nie posiada wbudowanego na stale obciążenia, co pozwala wykorzystywać prezentowany system neuronowy także bez wartości bias.

Wiadomo bowiem, że nawet przy całkowitej rezygnacji z obciążenia, sieć neuronowa może sama doprowadzić do takiej konfiguracji wag, przy której funkcja aktywacji jednego z neuronów ulegnie nasyceniu i element taki będzie działał analogicznie do sztucznego biasu. Opisana sytuacja oznacza jednak na ogół niekorzystne warunki numeryczne optymalizacji i ogólnie trudniejszy przebieg uczenia.

Zaopatrzenie w wyraz wolny jedynie elementów pierwszej warstwy perceptronowej powinno wyeliminować ograniczenie w postaci stałego punku centralnego hiperpłaszczyzny odwzorowania neuronu. Dzięki modyfikowaniu wagi związanej ze stałą przypisaną do wybranej zmiennej wejściowej, podanie na pozostałe wejścia sieci wektora zerowego może generować dowolne wyniki. Proces uczenia, mając do dyspozycji stała wartość bias przekazywaną do pierwszej warstwy perceptronowej, powinien być w stanie zmodyfikować wagi dowolnego neuronu tak by generował stałą wielkość wyjściową, nawet bez nasycania jego funkcji aktywacji i pogarszania warunków optymalizacji. Poprawki obliczane w kolejnych iteracjach muszą jedynie doprowadzić do wyzerowania wszystkich wag takiego neuronu, z wyjątkiem tej wagi która jest związana ze zmienną wejściową bias z poprzedniej warstwy:

Generowanie sztucznych obserwacji przy użyciu interpolacji

Określanie postaci funkcyjnej tradycyjnego modelu regresji jest w rzeczywistości bardzo konkretnym ograniczeniem nakładanym na kształt hiperpłaszczyzny szacowanego odwzorowania. Najprostsze modele liniowe często okazują się nieadekwatne w przypadku złożonych zależności. Sięga się wówczas do modeli nieliniowych, takich jak np. potęgowe lub wykładnicze, które pozwalają przyjąć funkcji inny, na ogół bardziej dowolny kształt. Zawsze jednak istnieje wspomniane wyżej ograniczenie, dzięki któremu oszacowana funkcja musi pomijać pewną cześć zmienności zmiennych endogenicznych, którą z założenia uznaje się za realizację składnika losowego. Rozluźniając ograniczenia modelu w zakresie postaci analitycznej szacowanej funkcji docieramy do sieci neuronowych, całkowicie pozbawionych jakichkolwiek restrykcji w zakresie kształtu realizowanego odwzorowania. Sytuacja taka, jak widać na przykładzie zjawiska przeuczenia, również często jest skrajnie niekorzystna. Dlatego w dziedzinie obliczeń neuronowych upowszechniły się metody pozwalające zabezpieczyć twórcę przed stworzeniem sieci odwzorowującej całą zmienność zawartą w zbiorze wyjść danych treningowych.

Dobre rezultaty podczas procesu uczenia przynosi zastosowanie opisanego wcześniej algorytmu wczesnego stopu lub takie ograniczenie poziomu złożoności struktury neuronowej, by nie była ona w stanie dopasować swoich wag do wszystkich zależności zawartych w zbiorze danych empirycznych. Warto się jednak zastanowić nad inną metodą polepszania zdolności sieci do generalizowania, polegającą na wygenerowaniu nowych obserwacji, które bazując na informacjach zawartych w próbie, będą bardziej zbliżone do poszukiwanej postaci warunkowej wartości oczekiwanej zmiennych wyjściowych. Proponowana metoda opiera się na rozpatrywaniu obserwacji, a konkretnie wektorów wejść, jako zbioru punktów w wielowymiarowej przestrzeni euklidesowej, w której można wyznaczyć odległości pomiędzy dwoma wybranymi wektorami. Do obliczania dystansu można wykorzystać dowolną metrykę spełniającą założenia:

W opisywanym przypadku zastosowana jest metryka Euklidesową:

Wykorzystując powyższą metrykę można zdefiniować geometryczne sąsiedztwo punku, jako obszar w przestrzeni euklidesowej obejmujący wszystkie punkty znajdujące się w odległości nie większej od zadanej, a określanej jako promień sąsiedztwa. Nowe, sztucznie generowane obserwacje są średnimi wartościami wektorów wejść i wyjść dwóch sąsiadujących ze sobą punktów w przestrzeni zmiennych wejściowych i wyjściowych. W sąsiedztwie nowego punku nie mogą znajdować się ponadto inne wektory wejściowe poza tymi, których stanowi on uśrednienie i od których dzieli go dystans równy wielkości promienia jego sąsiedztwa.

Wyznaczanie nowych interpolowanych obserwacji obejmuje następujące kroki:

  1. Pogrupowanie wektorów utworzonych ze zmiennych wejściowych i wyjściowych (wzorców wyjść) w pary w postaci kombinacji bez powtórzeń w sensie kombinatoryki. Operacja oznacza kombinacje bez powtórzeń z całkowitej liczby obserwacji po dwa elementy i jej liczebność dana jest wzorem:
  1. Wyznaczenie dla każdej pary wektorów wejść i wzorców wyjść nowego wektora stanowiącego ich średnią arytmetyczną:
  1. Sprawdzenie czy w sąsiedztwie wektora wejść nowego punktu znajdują się inne, empiryczne wektory zmiennych wejściowych, pomijając te na podstawie których został obliczony. Jeśli odnaleziono takie wektory wejść nowy punkt zostaje odrzucony, jako nie spełniający zadanych kryteriów.

Nowy zbiór interpolowanych obserwacji nie zawiera oczywiście żadnych nowych informacji o zjawisku, które sieć neuronowa modeluje w procesie uczenia. Jego główną cecha jest zniwelowanie w nowym zestawie sztucznych danych, pojedynczych obserwacji o wartościach znacznie odbiegających od ogólnej trajektorii wyznaczanej przez dane empiryczne. Powyższy zabieg można porównać do obniżania znaczenia głównie obserwacji nietypowych, które mogą być zakwalifikowane w ten sposób, jako zawierające w sobie realizację składnika losowego wyjść o znacznej wartości.

Wykorzystanie sztucznych, interpolowanych obserwacji

Załóżmy, że w zbiorze danych uczących zawarte są obserwacje o bardzo zbliżonych wartościach wektorów wejść i znacznie różniących się od siebie wielkościach zmiennych wyjściowych. Stan taki może być albo przykładem występowania znacznych zaburzeń losowych w realizacji zmiennych endogenicznych, albo rzeczywistą, bardzo silną fluktuacją przybliżanej zależności. W pierwszym przypadku dokładne dopasowanie kształtu hiperpłaszczyzny odwzorowania realizowanego przez sieć neuronową jest niekorzystne, ponieważ prowadzi do efektu przeuczenia, a w drugim pożądane bowiem odzwierciedla faktyczne zależności modelowanego zjawiska. W takim kontekście, biorąc pod uwagę opisane wyżej obserwacje interpolowane, dokładne dopasowane sieci wydaję się być korzystne w obydwu przypadkach, ponieważ w pierwszym sztucznie wygenerowany wektor wejść i wyjść jest uśrednieniem dwóch należących do jego najbliższego sąsiedztwa punktów empirycznych, a w drugim kolejnym pośrednim punktem na trajektorii rzeczywistych obserwacji.

Trenowanie rozbudowanej sieci neuronowej metodą wstecznej propagacji błędu, korzystającą z niewielkiej ilości obserwacji, prawie na pewno doprowadzi do wystąpienia zjawiska nadmiernego dopasowanie jej wag do prezentowanych wektorów. Jeśli podczas uczenia korzystamy z danych empirycznych oznacza to przeuczenie sieci i brak zdolności do generalizacji, jeśli jednak zaprezentujemy jaj sztucznie dane, które są w pewnym sensie uśrednieniem obserwacji empirycznych, można to potraktować jako dopasowanie wag sieci neuronowej do punktów zbliżonych do warunkowych wartości oczekiwanych wektorów wyjść. Przyjmując niezbędne w takiej sytuacji dodatkowe założenie o ciągłości przybliżanej funkcji, wykorzystanie wyłącznie sztucznych danych interpolowanych powinno prowadzić do wyznaczenia pożądanego kształtu hiperpłaszczyzny odwzorowania realizowanego przez sieć, która nie uwzględnia w swojej trajektorii realizacji składnika losowego w poszczególnych punktach empirycznych.

Trenowanie sieci neuronowej to proces iteracyjnego modyfikowania startowych, wygenerowanych losowo wartości wag w neuronach. Oznacza to, że początkowa postać odwzorowania realizowanego przez strukturę neuronową ma dowolny kształt, który w miarę postępów uczenia zbliża się w sensie metryki Euklidesowej do prezentowanych obserwacji. Efekt końcowy oznacza zoptymalizowanie jej wag względem nauczonych wektorów wejść i wyjść, czyli węzłów. Jednocześnie nie posiadamy żadnych założeń odnośnie kształtu hiperpłaszczyzny na odcinkach pomiędzy węzłami, gdzie nadal może ona przybierać teoretycznie dowolny kształt. Ryzyko takiego efektu jest tym większe im bardziej złożona jest architektura sieci i im prostsze zależności zawarte z zbiorze danych, co może być ujęte jako nadmiar potencjału informacyjnego struktury neuronowej, którego wykorzystanie jest trudne do przewidzenia. Jako rozwiązanie tego problemu można zaproponować nieco inne wykorzystanie danych interpolowanych razem z metodą wczesnego stopu.

W pierwszym przypadku, gdy zakłada się że wielkość zaburzeń losowych wyjść jest znaczna lub nieznana, sieć wykorzystuje do modyfikowanie swoich wag dane interpolowane, podczas gdy do obliczania wartości funkcji celu, czyli błędu używany jest zbiór obserwacji empirycznych. Oznacza to, że proces uczenia ma na celu dopasowanie realizowanego przez sieć neuronową odwzorowania do punktów będących uśrednieniem par wektorów obserwacji empirycznych leżących w sąsiedztwie punktów interpolowanych, ale optymalizacja nie może odbywać się kosztem dopasowania analizowanej hiperpłaszczyzny do obserwacji empirycznych.

W drugim przypadku, jeśli możemy przyjąć, że zaburzenia losowe wyjść nie występują lub są nieistotne dla danego modelu, do modyfikacji wag sieci używa się danych empirycznych, a błąd obliczany jest z obserwacji interpolowanych. Struktura neuronowa dopasowuje wówczas swoje wagi do prezentowanych, empirycznych wektorów wejść i wyjść, nie dopuszczając jednocześnie by na odcinkach łączących węzły zbioru empirycznego doszło do pogorszenia jej dopasowania względem uśrednionych obserwacji sztucznych. Wygenerowane w procesie interpolacji wektory są zlokalizowane w połowie najkrótszego odcinka w wielowymiarowej przestrzeni Euklidesowej, łączącego dwa węzły empiryczne na podstawie których są obliczone i w ich sąsiedztwie nie występują żadne inne punkty zawierające informacje o postaci przybliżanego odwzorowania. Z braku dostatecznej liczby danych można więc założyć, że znajdują się one na trajektorii, która łączy odpowiednie węzły w sposób względnie najbardziej pozbawiony niepożądanych fluktuacji.

Podsumowanie

Cały wachlarz dostępnych metod uczenia wielowarstwowej sieci perceptronowej skłania do zastanowienia się nad wyborem najlepszego algorytmu trenowania oraz ustaleniem i uzasadnieniem postaci całego szeregu szczegółów i parametrów związanych z procesem optymalizacji. Powyższy wybór ma charakter decydujący dla jakości tworzonej struktury neuronowej i od jego trafności zależy, czy proces uczenia zamknie się w rozsądnym zakresie czasu oraz czy uniknie niebezpieczeństwa przetrenowania lub przedwczesnego zatrzymania się w płytkim minimum lokalnym funkcji celu.

Postacią bazową dla większości wykorzystywanych obecnie algorytmów trenowania sieci neuronowych jest momentowa metoda wstecznej propagacji błędu, należąca do grupy gradientowych metod optymalizacji. Jej popularność wiąże się ze względną prostotą działania, łatwością implementacji oraz uniwersalnym charakterem, co wszystko razem skutkuje dużą ilością odmian i modyfikacji. Analizowany algorytm wymaga określenia wartości przynajmniej dwóch parametrów decydujących o przebiegu procesu uczenia. Często dodatkowo do obliczeń wprowadza się współczynnik determinujący nachylenie najczęściej używanych funkcji aktywacji neuronu. Jak wykazano wyżej, w przypadku stosowania sigmoidalnej funkcji przejścia, parametr określający stromość sigmoidy można zastąpić odpowiednią modyfikacją wartości startowych wag oraz standardowego współczynnika uczenia algorytmu wstecznej propagacji błędu. Wspomniany współczynnik uczenia określany też jako długość kroku, determinuje wpływ kolejnych gradientów funkcji celu na wektor wag sieci. Drugi fundamentalny parametr algorytmu, czyli tzw. moment, określa z kolei wpływ jaki na bieżące modyfikacje wag posiadają poprawki pochodzące z wcześniejszych iteracji.

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 kosinusa 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.

Wykorzystanie efektywnej odmiany algorytmu trenowania nie chroni jednak przed zjawiskiem przeuczenia, pozbawiającym sieć zdolności do generalizowania i tym samym wszelkiej pożądanej funkcjonalności. Brak ograniczeń w zakresie postaci realizowanego przez strukturę neuronową odwzorowania, stwarza ryzyko dopasowania wag neuronów do zawartego w danych wyjściowych szumu losowego, zamiast do zależności modelowanego zjawiska. Skutecznym i sprawdzonym rozwiązaniem problemu przeuczenia jest rozszerzenie procesu trenowania o algorytm wczesnego stopu. Jego główną koncepcję można uznać za najlepsze rozwiązanie kwestii poszukiwania takiego kształtu hiperpłaszczyzny odwzorowania, który odpowiada warunkowej wartości oczekiwanej wyjść. Niestety wymaga on rozdzielenia próby przy zachowaniu jednocześnie warunku reprezentatywności dla każdego z podzbiorów, co w przypadku małej liczby danych jest najczęściej niemożliwe.

Uzyskanie sieci neuronowej posiadającej własność uniwersalnej aproksymacji wymaga przekazywania neuronom stałego sygnału wejściowego bias. W powyższych rozważaniach zwrócono uwagę na możliwość wyeliminowania obligatoryjnego obciążenia ze struktury neuronowej, przez wprowadzenie stałego wektora wyrazu wolnego do macierzy zmiennych wejściowych. Rozwiązanie takie dodaje systemowi neuronowemu elastyczności, nie pogarszając jednocześnie warunków numerycznych optymalizacji.

Wymuszenie ograniczeń w zakresie kształtu odwzorowania realizowanego przez sieć i uzyskanie trajektorii bardziej zbliżonej do warunkowej wartości oczekiwanej wyjść, można uzyskać także przy pomocy interpolowania nowych wektorów wejść i wzorców wyjść na podstawie punktów wyznaczanych przez obserwacje empiryczne. Nowy, uzyskany w ten sposób zbiór sztucznych danych, nie generuje oczywiście żadnej nowej informacji o postaci przybliżanej zależności, ale można go porównać do uśrednienia danych empirycznych, pozbawionego w ten sposób wpływu zaburzeń losowych. Uczenie sieci neuronowej na podstawie danych interpolowanych może być więc jedną szansą na unikniecie efektu przeuczenia i zabezpieczenie uczonej struktury neuronowej przed przybliżaniem losowych zaburzeń wektora wyjść.


Strona domowa
Spis treści
Dalej

Copyright © by Paweł Rośczak, 2003