Podręcznik

2. Sieć perceptronu wielowarstwowego MLP

2.7. Metody heurystyczne uczenia sieci

Oprócz algorytmów uczących implementujących wypróbowane metody optymalizacji nieliniowej funkcji celu, takie jak metoda zmiennej metryki, metoda Levenberga-Marquardta czy metoda gradientów sprzężonych, opracowano pewną liczbę algorytmów typu heurystycznego, stanowiących modyfikację metody największego spadku bądź metody gradientów sprzężonych. Modyfikacje takie, opierające się na algorytmach powszechnie znanych, wprowadzają do nich pewne poprawki, przyspieszające (zdaniem autorów) działanie algorytmu. Nie mają one najczęściej ścisłego uzasadnienia teoretycznego, zwłaszcza przy doborze wartości parametrów sterujących działaniem poprawki, ale uwzględnione są w nich doświadczenia różnych autorów z zakresu prac nad sieciami neuronowymi. Do najbardziej znanych algorytmów heurystycznych należą Quickprop S. Fahlmana oraz RPROP R. Riedmillera i H. Brauna, zaimplementowany w programie SNNS oraz w Matlabie. Tutaj ograniczymy się do przedstawienia jedynie algorytmu RPROP (skrót od angielskiej nazwy Resilient backPROPagation) [54]

W algorytmie tym przy zmianie wag uwzględnia się jedynie znak składowej gradientu, ignorując jej wartość. W efekcie w każdej iteracji algorytmu uczącego określa się zmianę wektora wagowego według prostego wzoru


 \Delta w_{i j}(k)=-\eta_{i j}(k) \operatorname{sgn}\left(\frac{\partial E}{\partial w_{i j}}\right) (2.24)

Współczynnik uczenia dobierany jest indywidualnie dla każdej wagi  \textbf{w}_{ij}  na podstawie zmian wartości gradientu


 f(u)= \begin{cases} { \begin{matrix}
                \min \left(a \eta_{i j}(k-1), \eta_{\max }\right) && \textrm{ dla } g_{i j}(k) g_{i j}(k-1)>0 \\
                \max \left(b \eta_{i j}(k-1), \eta_{\min }\right) && \textrm{ dla } g_{i j}(k) g_{i j}(k-1) < 0 \\
                \eta_{i j}(k-1) && \textrm{ dla } g_{i j}(k) g_{i j}(k-1)=0 \end{matrix} } \end{cases} (2.25)

W równaniu tym  \textbf{g}_{ij}(k)=\frac{\partial E}{\partial \textbf{w}_{ij}} oznacza wartość składową gradientu funkcji celu w  k -tej iteracji,  a i  b są współczynnikami liczbowymi ( a=1.2 ,  b=0.5 ), natomiast  \eta_{\min} i  \eta_{\max} oznaczają odpowiednio minimalną i maksymalną wartość współczynnika uczenia, równą w algorytmie RPROP odpowiednio 10-6 oraz 50. Funkcja sgn oznacza znak argumentu (+1 lub -1). Zgodnie ze strategią doboru wag zakłada się ciągły wzrost współczynnika uczenia, jeśli w dwu kolejnych krokach znak gradientu jest taki sam, natomiast jego redukcję, gdy ten znak jest różny. Algorytm RPROP, ignorujący informację o wartości gradientu, pozwala na znaczne przyspieszenie procesu uczenia w tych obszarach, w których nachylenie funkcji celu jest niewielkie.