3. Zdolności generalizacyjne sieci neuronowych

3.1. Wprowadzenie pojęcia zdolności generalizacyjnych sieci

Pod pojęciem generalizacji rozumieć będziemy umiejętność generowania właściwej odpowiedzi sieci przy określonym pobudzeniu nie biorącym udziału w procesie uczenia. Zauważmy, że jakkolwiek dobór wag w procesie uczenia odbywa się na zbiorze uczącym, główne działanie sieci to tryb odtwarzania, w którym po zamrożeniu wartości wytrenowanych wag, podaje się na wejście sieci jedynie sygnały wejściowe  \mathbf{x}
  nie wchodzące w skład zbioru uczącego, dla których w danej chwili nieznane są właściwe odpowiedzi, jak to miało miejsce w trybie uczenia.

Należy zdać sobie sprawę, że głównym celem uczenia sieci jest taka adaptacja wag, aby na podstawie zbioru próbek uczących charakterystycznych dla danego procesu sieć była w stanie nauczyć się cech charakterystycznych danego procesu (mechanizmu tworzenia danych we-wy procesu), a nie dostosować się jedynie do wartości zadanych próbek uczących. Sieć wytrenowana na określonym zbiorze wzorców uczących przenosi więc swoją wiedzę na zbiory tzw. testujące (walidacyjne), które nie uczestniczyły w uczeniu. Aby uzyskać dobrą generalizację, proces uczenia musi spełniać pewne podstawowe warunki.

  • Dane uczące powinny być reprezentatywne dla modelowanego procesu i odzwierciedlać jego główne cechy statystyczne. Sieć powinna dopasować swoje wagi w taki sposób, aby móc dobrze odtwarzać te cechy a nie dopasowywać się do indywidualnych wartości zadanych.

  • Aby to uzyskać liczba danych uczących powinna być zatem znacznie większa od liczby dobieranych parametrów (wag) sieci. Umożliwi to dopasowanie wartości wag do statystyki reprezentowanej przez dane uczące, uniemożliwiając adaptację wag do dokładnych wartości konkretnych par wektorów uczących.

  • Struktura sieci powinna być z kolei o możliwie najmniejszej liczbie wag (zwiększy to relację liczby danych uczących do liczby wag), umożliwiającej jednak uzyskanie akceptowalnego poziomu błędu odwzorowania na zbiorze danych uczących.

  • Proces uczenia powinien być prowadzony przy zastosowaniu efektywnego algorytmu uczącego i nie powinien ciągnąć się w nieskończoność, ale zakończony w momencie uzyskania minimum błędu na zbiorze sprawdzającym (zbiór walidacyjny różny od uczącego).

Teoria generalizacji sieci neuronowych bazuje bezpośrednio na zależnościach statystycznych. Błąd średni  E  odtworzenia danych na zbiorze danych  (\mathbf{x}, \mathbf{d})  , dla którego znane są wartości zadane (wektor  \mathbf{d}  ) może być zinterpretowany jako wartość oczekiwana różnicy między wartością aktualną funkcji  y_i(\mathbf{x})  dla poszczególnych wyjść sieci a odpowiadającą im wartością zadaną  d_i . Może być on rozdzielony na część odpowiadającą obciążeniu  B_i  (ang. bias) oraz wariancji  V_i , przy czym  E_i^2=B_i^2+V_i [24]. Obciążenie  B_i  wyraża niezdolność sieci do dokładnej aproksymacji funkcji zadanej  d_i(\mathbf{x})  i może być uważane za błąd aproksymacji (w praktyce utożsamiany jest z błędem uczenia).

Składnik  V_i  jest wariancją funkcji aproksymującej mierzoną na zbiorze danych  (x_i, d_i) . Wyraża sobą nieadekwatność informacji zawartej w zbiorze danych uczących w stosunku do rzeczywistej funkcji  d_i  i może być uważana za błąd estymacji. W praktyce za miarę wariancji przyjmuje się błąd sieci na danych testujących. Przy określonej wartości błędu średniokwadratowego małe obciążenie musi być okupione zwiększoną wariancją. Jedynie przy nieskończonej liczbie danych uczących można mieć nadzieję na minimalizację błędu średniokwadratowego prowadzącą do jednoczesnej minimalizacji zarówno obciążenia jak i wariancji.