Podręcznik

3. Zdolności generalizacyjne sieci neuronowych

3.5. Poprawa zdolności generalizacyjnych poprzez regularyzację

Decyzja co do wyboru ostatecznej postaci sieci może być podjęta dopiero po pełnym nauczeniu wielu struktur (redukcja błędu do poziomu uznanego za satysfakcjonujący) i wybraniu tej, która gwarantuje najlepsze działanie na danych testujących nie biorących udziału w uczeniu. Dodatkowym krokiem prowadzącym do poprawy zdolności generalizacyjnych może być regularyzacja sieci polegająca na obcinaniu wag lub redukcji liczby neuronów ukrytych. Zwykłe, bezpośrednie metody obcięcia wagi w trakcie uczenia, polegające na okresowym przypisaniu jej wartości zerowej i podjęciu decyzji o jej ponownym włączeniu w proces uczenia na podstawie obserwowanych zmian wartości funkcji celu (jeśli przyrost wartości funkcji celu po obcięciu wagi jest zbyt duży - należy włączyć wagę ponownie) są nie do przyjęcia w praktyce, ze względu na dużą złożoność obliczeniową takiego procesu.

Większość stosowanych obecnie algorytmów redukcji sieci dokonuje obcięcia wag po zakończeniu podstawowego etapu uczenia. Obcinanie wag w trakcie uczenia jest niewskazane, gdyż mała wrażliwość sieci na daną wagę może wynikać z chwilowej wartości tej wagi lub być spowodowana złym punktem startowym (np. utknięcie neuronu w głębokim nasyceniu).

3.5.1 Metody funkcji kary

Podstawowa technika redukcji sieci to obcięcie wag o najmniejszej wartości absolutnej. Mała wartość wagi oznacza słaby wpływ danego połączenia synaptycznego na wartość sygnałów wyjściowych sieci. Dla uzyskania efektywności redukcji wag należy tak zorganizować proces uczenia, aby wymusić samoczynne zmniejszanie się wartości wag prowadzące do ich obcięcia po zakończeniu procesu uczenia, gdy ich wartość spadnie poniżej pewnego progu. W metodach tych modyfikuje się zwykle definicję funkcji celu wprowadzając dodatkowy czynnik związany z wartościami wag. Najprostszą modyfikacją tej funkcji jest dodanie do niej składnika kary za duże wartości wag


 E=E_0+\gamma \sum_{i, j} w_{i j}^2 (3.8)

We wzorze tym  E_0  oznacza standardową definicję funkcji celu przyjętą na przykład w postaci normy euklidesowej wektora błędu, a  \gamma  jest współczynnikiem kary za osiągnięcie dużych wartości wag. Proces uczenia można wówczas rozdzielić w każdym cyklu na 2 etapy: minimalizacja wartości funkcji E0 standardową metodą optymalizacji i następnie korekcji wartości wag, wynikającej z czynnika modyfikującego. Jeśli przez  w_{i j}^0  oznaczy się wartość wagi  w_{i j}  po etapie pierwszym, to na etapie korekcji w danej iteracji waga ta zostanie zmodyfikowana według metody gradientowej największego spadku, zgodnie ze wzorem


 w_{i j}=w_{i j}^0(1-\eta \gamma) (3.9)


gdzie  \eta oznacza stałą uczenia. Tak zdefiniowana funkcja kary wymusza zmniejszenie wszystkich wartości wag, nawet wtedy, gdy ze względu na specyfikę problemu pewne wagi powinny przyjmować duże wartości. Poziom wartości, przy którym eliminuje się daną wagę, musi być tu starannie dobrany na podstawie wielu eksperymentów, wskazujących, przy jakim progu obcięcia proces uczenia sieci jest najmniej zakłócony.

Lepsze efekty, niepowodujące obniżenia poziomu wartości wszystkich wag, uzyskać można modyfikując definicję funkcji celu do postaci


 E=E_0+\frac{1}{2} \gamma \sum_{i, j} \frac{w_{i j}^2}{1+\sum_k w_{i k}^2} (3.10)


Minimalizacja tej funkcji powoduje nie tylko redukcję powiązań międzyneuronowych, ale może prowadzić również do eliminacji tych neuronów, dla których  \sum_{k} w_{i k}^2

   jest bliska zeru. Przy małych wartościach wag  w_{i k}  prowadzących do  i -tego neuronu w kolejnych iteracjach następuje dalsze zmniejszenie ich wartości, co prowadzi do redukcji sygnału wyjściowego tego neuronu i w efekcie (przy wartości bliskiej zeru) eliminację danego neuronu z sieci. Przy dużych wartościach wag prowadzących do i-tego neuronu, część korekcyjna ma wartość pomijalnie małą i w bardzo niewielkim stopniu wpływa na redukcję wag. W wyniku usunięcia wielu połączeń wagowych neuronu może zdarzyć się całkowita jego eliminacja .

3.5.2 Metody wrażliwościowe redukcji

Najbardziej efektywna metoda redukcji polega na badaniu wrażliwości funkcji celu na usunięcie wagi lub neuronu dla wytrenowanej sieci. Wagi o najmniejszej wrażliwości, mające najmniej widoczny wpływ na wartość funkcji celu, są usuwane, a proces uczenia kontynuowany na tak zredukowanej sieci. Takie podejście pozwala usunąć nawet wagi o większych wartościach, mających mały wpływ na zmianę funkcji celu.

Podejście to jest uzasadnione rozwinięciem Taylora funkcji celu. Zgodnie z tym rozwinięciem, zmianę wartości funkcji celu spowodowaną perturbacją wag można wyrazić wzorem


 \Delta E=\sum_{i=1}^n g_i \Delta w_i+\frac{1}{2} \sum_{i=1}^n h_{i i}\left[\Delta w_{i i}\right]^2+\frac{1}{2} \sum_{i \neq j}^n h_{i j}\left[\Delta w_i \Delta w_j\right]+\ldots (3.11)

w którym  \Delta w_i   oznacza perturbację wagi i-tej,  g_i jest i-tym składnikiem wektora gradientu względem tej wagi, a  h_{ij} - elementem hesjanu  h_{i j}=\frac{\partial^2 E}{\partial w_i \partial w_j} . Obcięcie wag (regularyzacja sieci) następuje dopiero po zakończeniu procesu uczenia, gdy wszystkie neurony osiągną swoje wartości ustalone. To wyklucza zastosowanie gradientu jako wskaźnika wrażliwości, gdyż minimum funkcji celu charakteryzuje się gradientem równym zero. Pozostaje zatem wybór drugich pochodnych funkcji celu (elementów hesjanu) jako wskaźnika ważności danej wagi.

Jednym z rozwiązań jest metoda OBD (ang. Optimal Brain Damage) zaproponowana przez LeCunna. Wobec dodatniej określoności hesjanu, macierz  \mathbf{H}  jest diagonalnie dominująca. W metodzie OBD uwzględniane są jedynie składniki diagonalne  h_{ij} z pominięciem wszystkich pozostałych. Miarą ważności i-tej wagi w OBD jest współczynnik S_i zdefiniowany w postaci


 S_i=\frac{1}{2} h_{i i} w_i^2 (3.12)


Wagi o najmniejszej wartości współczynnika  S_i mogą ulec obcięciu bez istotnego zaburzenia działania sieci. Procedurę OBD redukcji sieci można przedstawić w następującej postaci:

  • Pełne wytrenowanie wstępnie wyselekcjonowanej struktury sieci przy użyciu dowolnej metody uczenia.

  • Określenie elementów diagonalnych hesjanu  h_{ii} odpowiadających każdej wadze i obliczenie wartości odpowiedniego współczynnika asymetrii S_i  określającego znaczenie danego połączenia synaptycznego dla działania sieci.

  • Posortowanie wag według przypisanych im wartości współczynników S_i  i obcięcie tych, których wartości są najmniejsze.

  • Powtórne douczenie zredukowanej sieci i powrót do punktu pierwszego aż do pozbycia się wszystkich wag o znacząco małym wpływie na wartość funkcji celu.

Metoda OBD jest uważana za jedną z najlepszych metod redukcji sieci spośród metod wrażliwościowych. Przy jej zastosowaniu uzyskuje się dobre własności generalizacji sieci.

Rozwinięciem procedury OBD jest tak zwana metoda OBS (ang. Optimal Brain Surgeon). Punktem wyjścia w tej metodzie, podobnie jak w OBD, jest rozwinięcie (3.11) funkcji celu w szereg Taylora i pominięcie składowych pierwszego rzędu. W metodzie tej (w odróżnieniu od OBD) uwzględnia się wszystkie składowe hesjanu, a współczynnik ważności wagi definiuje się w postaci


 S_i=\frac{1}{2} \frac{w_i^2}{\left[\mathbf{H}^{-1}\right]_{i i}} (3.13)


w której  \left[\mathbf{H}^{-1}\right]_{i i}  oznacza  i-ty diagonalny element macierzy odwrotnej hesjanu. Obcięciu ulega waga o najmniejszej wartości S_i . Dodatkowym rezultatem tego podejścia jest prosty wzór korekcyjny wszystkich pozostałych wag, sprowadzający z powrotem stan sieci do minimum funkcji celu mimo obcięcia wagi (be potrzeby powtórnego douczania zredukowanej sieci). Korekta pozostałych (nie obciętych) wag tworzących wektor  \mathbf{w}  zachodzi według wzoru


 \Delta \mathbf{w}=\frac{w_i}{\left[\mathbf{H}^{-1}\right]_{i i}} \mathbf{H}^{-1} \mathbf{e}_i (3.14)


w którym \mathbf{e}_i  oznacza wektor jednostkowy z jedynką na  i-tej pozycji i zerami na pozostałych. Korekta wag jest przeprowadzana po każdorazowym obcięciu wagi i zastępuje powtórne douczenie sieci, które jest wymagane w metodzie OBD. Należy podkreślić, że jakkolwiek w metodzie OBS nie wymaga się powtórnego douczania zredukowanej sieci to jej złożoność obliczeniowa jest znacznie większa niż w metodzie OBD ze względu na konieczność określania wszystkich elementów hesjanu i obliczania macierzy odwrotnej  \mathbf{H}^{-1}  .