Wprowadzene do Sec Neuronowych Algorytm wstecznej propagacj błędu Maja Czoków, Jarosław Persa --6 Powtórzene. Perceptron sgmodalny Funkcja sgmodalna: σ(x) = + exp( c (x p)) Parametr c odpowada za nachylene funkcj jest zazwyczaj ustalony (c = ). Parametr p odpowada za progowane. Zazwyczaj jest pomjany, a w jego mejsce dodawane jest sztuczne wejśce zawsze równe + z dodatkową wagą w, która jest objęta uczenem. Perceptron sgmodalny o wagach w na wejścach x zwraca wartość N out = σ( w x ) () Alternatywne można wartość progu ustalć p =, do sec dodać N + -sze wejśce, które zawsze jest równe + oraz stowarzyszoną z nm wagę w n+, która przejme funkcję progu. Dzałane neuronu jest dentyczne. Sgmoda jest funkcją cągłą różnczkowalną. = σ (x) = σ(x)( σ(x)) () Podobne jak w przypadku neuronów progowych, perceptrony z sgmodalną funkcją aktywującą można łączyć w sec. Ze względu na cągłą ( różnczkowalną!) zależność wyjśca od danych można stosować bardzej wyrafnowane (ale wymagające!) algorytmy uczena (alg. spadku gradentowego, ang. gradent descent).. Wsteczna propagacja błędu / backerror propagaton Dane: Seć warstwowa perceptronów o sogmodalnej funkcj aktywacj, zakładamy, że wszystke perceptrony w obrębe jednej warstwy mają take same lośc wejść są to wszystke wyjśca z warstwy poprzednej. Ponadto dany jest zestaw uczący zbór przykładowych danych E oczekwanych odpowedz C. ().....8.6. -.. - -. - - (a) Jeden wymar parametry c =, c =, c = - - - (b) Sgmoda określona na sume ważonej dwóch zmennych. - Rysunek : Wykres sgmody σ(x) = +exp( c(x))
w = [ -.. -.. -. -. * * -.].... - - - - (a) Portret błędu sec z progową funkcją aktywacj..... - - (b) Portret błędu sec z sgmodalną funkcją aktywacj. Rysunek : Portret błędu dla problemu XOR. Wynk: Wartośc wag. Funkcja błędu, określa jak bardzo nedostosowana jest seć do zestawu uczącego ERR = (out(e ) C ) () Naturalna nterpretacja m mnejsza wartość funkcj błędu tym lepej nauczona seć. Wnosek algorytm powenen poszukwać mnmum funkcj ERR na przestrzen wszystkch możlwych konfguracj wag sec (już sam wymar przestrzen może być ggantyczny, a do tego wag są lczbam rzeczywstym!). Oznaczena: η > stała uczena, w j wag σ() funkcja sgmodalna o, I,j wyjśce z neuronu, wejśce numer do neuronu numer j w następnej warstwe, są to te same wartośc (choć mogą występować w różnych kontekstach), wejścam do warstwy perwszej są dane uczące I, = E j. E j, C j zestaw uczący odpowadający mu poprawny wynk, Ej [..] węc dane z poza tego przedzału należy znormalzować. Podobne wynkowa odpowedź C (...9). UWAGA! Poneważ sgmoda ne osąga wartośc an ne należy stosować skrajnych wartośc odpowedz. Algorytm:. Wyberz losowo (!!) przykład uczący E z lsty przykładów odpowadający mu poprawny wynk C.. Oblcz wynk dzałana sec na E, zapamętaj go, zapamętaj równeż wynk w warstwach pośrednch o j, sumy ważone n j (wynk przed zaaplkowanem funkcj aktywującej) wejśca do neuronów w danej warstwe I k,j (wejścem do warstwy perwszej jest przykład, dla warstw wyższych j są nm wynk z warstwy poprzednej k). Dla wszystkch jednostek w zewnętrznej warstwe sec: Oblcz błąd err = C o Oblcz = err σ (n ) Uaktualnj wag do jednostk w j, = w j, + η I j, = w j, + η o j err f (n ). Dla wszystkch jednostek j w kolejnych warstwach sec (schodząc warstwam od przedostatnej do perwszej):
-6 - - 6 8 Rysunek : Interpretacja pochodnych cząstkowych. Oblcz błąd err j = l w j,l l Oblcz Uaktualnj wag do jednostk j. Wróć do. j = σ (n j ) err j w k,j = w k,j + η I k,j j 6. Zakończ po wykonanu określonej lczby kroków lub osągnęcu zadowalającego pozomu błędu. Algorytm spadku grdentowego Dana nech będze funkcja f : R n R cągła różnczkowalna (stneją pochodne cząstkowe f x... f x n ). Chcemy wyznaczyć mnmum (lokalne) funkcj tj. x R n, take że dla f(x) f(y) dla y należących do pewnego otoczena x. Dodatkowo dany nech będze pewen punkt startowy a R n. Przypomnjmy defncję pochodnych cząstowych f f(x,.., x, x + h, x +,...x n ) f(x,..., x n ) (x,..., x n ) = lm x h h () f Zastanówmy sę czym jest x (a )? Intucyjne jest to kerunek, w którą stronę funkcja rośne zmenając perwszą współrzędną, przy pozostałych ustalonych. Mając cały zestaw pochodnych cząstkowych (gradent) mamy dokładny kerunek, w którym funkcja najszybcej rośne. Szukając mnmum należy zatem wybrać zwrot przecwny... udać sę w jego kerunku.. Rozpocznj w losowym / wybranym a (). Dla każdej współrzędnej =..n. Powtarzaj krok a (k+) = a (k) η f x (a (k) ) Uwag: W przykładach rozważana jest parabola funkcja posada dokładne jedno mnmum lokalne ( bardzo ładne wzory do jego analtycznego oblczena jej celem jest lustrowane dzałana algorytmu). Jeżel funkcja rozbega do (mnus) neskończonośc algorytm może sę zapętlć. Trajektora poszukwana mnmum zależy od punktu startowego. Wybór złego może powodować utknęce w mnmum lokalnym. Zazwyczaj ne ma możlwośc stwerdzena, że jest to mnmum lokalne. W takej sytuacj jednym z sensownejszych pomysłów jest ponowne uruchomene algorytmu z nnym / losowym punktem startowym.
6 - - - -6-6 - - 6-6 (a) f(x) = x (b) f(x, y) = x + y - 6 Rysunek : Postęp GDA do oblczana mnmum funkcj. Sugerowane warunk stopu: gdy zmany będą bardzo małe (ponżej ustalonego progu względnego lub bezwzględnego), po wykonanu ustalonej lczby teracj, po osągnęcu zadowalającej wartośc. Parametr η > jest stałą uczena. Zbyt duża wartość unemożlw osągnęce mnmum (kolejne punkty zaczną przeskakwać mnmum na drugą stronę ), zbyt mały spowoduje powolne dzałane. Wartość η można uzmennć zmnejszać wraz z postępem oblczeń. (Jeżel ktoś jeszcze ne spostrzegł...) Wstecza propagacja błędu jest algorytmem spadku gradentowego. Mnmalzowane jest funkcja błędu (neujemna!). ERR = (out(e ) C ) Dzedzną funkcj jest przestrzeń wszystkch wartośc wag. Każda waga jest rzeczywsta. Przy x wejścach, trzech warstwach lczących kolejno j,k,l neuronów cała przestrzeń ma wymar xj + jk + kl (tu już trudnej o gotowe analtyczne wzory dla każdej z wag). Zadana Inne pomysły są jak najbardzej mle wdzane.. Zadane 6 Ramę robota składa sę z pary sztywnych odcnków (ustalonej długośc) połączonych ze sobą regulowanym zawasem o rozwartośc od do 8 stopn tj. (..π). Punkt mocowana ramena jest ustalony, ale można obracać ramę równeż w tym punkce. Ramenem steruje seć neuronowa, jej wejścam są współrzędne punktu na płaszczyźne, w które należy sęgnąć dłoną (para lczb znormalzowanych od [..]). Wyjścem są wartośc rozwarca obu zawasów (ponowne znormalzowane do [...9]). Seć należy nauczyć na wygenerowanych danych (np. wylosować pary kątów analtyczne przelczyć punkt, w który dłoń traf). Welkość sec, lość warstw ukrytych, długość ramon, lość teracj, sposób reprezentacj... zależna od autora.. Zadane 7a Napsz seć neuronową sterującą graczem komputerowym w grze Pong / Arkanod. Danym do sec mogą być np. współrzędne płk, kerunek zwrot ruchu, prędkość, położene paletk przecwnka. Danym wyjścowm nformacje czy przesunąć własną paletkę w górę, czy w dół (lewo / prawo arkanod).
. Zadane 7b Napsz seć neuronową sterującą graczem komputerowym w grze Tanks / Worms. Danym do sec mogą być np. współrzędne strzelającego dzała, współrzędne celu, grawtacja, watr (ewentualne równeż topografa terenu). Danym wyjścowm są kerunek (kąt) oraz sła (prędkość początkowa) strzału.. Zadane 7c Napsz seć neuronową sterującą graczem komputerowym w grze Space Invaders / Galaxan. Danym do sec mogą być np. współrzędne statku kosmcznego, współrzędne celów (ewentualne pocsków lecących na nasz statek). Danym wyjścowm mogą być zmana położena (lewo, prawo, góra, dół, bez zman) oraz decyzja czy strzelać.