Podręcznik

1. Sieci radialne RBF

1.2. Sieć radialna RBF

Najprostsza sieć neuronowa typu radialnego o jednym wyjściu działa na zasadzie wielowymiarowej aproksymacji, której zadaniem jest odwzorowanie  p różnych wektorów wejściowych  \mathbf{x}_i z przestrzeni wejściowej  N -wymiarowej w zbiór  p liczb rzeczywistych  y_i odpowiadających wartościom zadanym  d_i . Interpolacja odpowiada tu przyjęciu  p neuronów ukrytych typu radialnego o centrach w wektorach  \mathbf{x}_i   i określeniu takiej funkcji odwzorowania  F(\mathbf{x}) , dla której spełnione są warunki


 F\left(\mathbf{x}_i\right)=d_i+\varepsilon_i (4.3)

gdzie  \varepsilon_i reprezentuje akceptowalny błąd dopasowania. Przy ograniczeniu się do  K funkcji bazowych o różnych położeniach centrów  \mathbf{c}_i rozwiązanie aproksymujące można przedstawić w postaci [24, 46]


 F(\mathbf{x})=\sum_{i=1}^K w_i \varphi\left(\mathbf{x}-\mathbf{c}_i\right) (4.4)

gdzie  K < p , wektory  \mathbf{c}_i są jest zbiorem centrów, które będą podlegać wyznaczaniu w procesie uczenia.

Rozwiązanie wyrażające funkcję aproksymującą w przestrzeni wielowymiarowej jako sumę wagową lokalnych funkcji bazowych  \varphi\left(\mathbf{x}-\mathbf{c}_i\right) typu radialnego (wzór 4.4) może być zinterpretowany w postaci sieci neuronowej radialnej przedstawionej na rys. 4.1, gdzie przyjęto strukturę o  M wyjściach realizujących odwzorowanie  y(\mathbf{x}) = F(\mathbf{x}) . Jest to struktura sieci dwuwarstwowej, w której jedynie warstwa ukryta reprezentuje odwzorowanie nieliniowe realizowane przez neurony o radialnej funkcji bazowej. Neuron wyjściowy jest zwykle liniowy, a jego rolą jest sumowanie wagowe sygnałów pochodzących od neuronów warstwy ukrytej. Waga w_0 , podobnie jak w przypadku funkcji sigmoidalnych, reprezentuje polaryzację, wprowadzającą składnik stałego przesunięcia funkcji.


Rys. 4.1 Ogólna postać sieci radialnej RBF


Uzyskana architektura sieci radialnych ma strukturę analogiczną do struktury wielowarstwowej sieci sigmoidalnej o jednej warstwie ukrytej. Rolę neuronów ukrytych pełnią tu radialne funkcje bazowe, różniące się kształtem od funkcji sigmoidalnych. Mimo podobieństwa istnieją również istotne różnice między obu typami sieci. Sieć radialna ma strukturę ustaloną o jednej warstwie ukrytej podczas gdy sieć sigmoidalna może mieć różną liczbę warstw, a neurony wyjściowe mogą być zarówno liniowe, jak i nieliniowe. Funkcja nieliniowa radialna jest zwykle typu gaussowskiego. Dla każdego neuronu ukrytego w sieci radialnej przyjmuje ona inne wartości parametrów  \mathbf{c}_i  oraz  \mathbf{\sigma}_i , natomiast w sieci sigmoidalnej stosuje się identyczne funkcje aktywacji. Ponadto zauważmy, że argumentem funkcji radialnej jest euklidesowa odległość danego wektora   \mathbf{x} od wektora centrum   \mathbf{c}_i , podczas gdy w sieci sigmoidalnej jest to iloczyn skalarny wektorów  \mathbf{w} oraz  \mathbf{x} .

Dalsze rozważania, dla uproszczenia, przedstawione będą dla sieci z jednym wyjściem.

Zadanie aproksymacji polega na dobraniu odpowiedniej liczby oraz parametrów funkcji radialnych  \varphi\left(\mathbf{x}-\mathbf{c}_i\right) i takim doborze wag  \mathbf{w}_i aby rozwiązanie (4.4) najlepiej przybliżało rozwiązanie dokładne. Problem doboru parametrów funkcji radialnych oraz wartości wag  \mathbf{w}_i sieci w problemie regresji można zatem sprowadzić do minimalizacji funkcji celu, którą przy wykorzystaniu normy euklidesowej daje się zapisać w postaci


 \min E=\sum_{i=1}^p\left[\sum_{j=0}^K w_j \varphi\left(\mathbf{x}_i-\mathbf{c}_j\right)-d_i\right]^2 (4.5)

W równaniu tym  K reprezentuje liczbę neuronów radialnych, natomiast  p liczbę par uczących  \left(\mathbf{x}_i, d_i\right) , gdzie  \mathbf{x}_i  jest wektorem wejściowym, a  d_i  - odpowiadającą mu wielkością zadaną na wyjściu. Oznaczmy przez \mathbf{d} = [ d_0, d_1, \ldots, d_p]^T  wektor wielkości zadanych, przez  \mathbf{w} = [ w_0, w_1, \ldots, w_K]^T   wektor wag sieci z uwzględnieniem polaryzacji (wartość  w_0 ), a przez  \mathbf{G}  - macierz radialną, zwaną macierzą Greena


 \mathbf{G}=\left[\begin{array}{cccc} \varphi\left(\mathbf{x}_1-\mathbf{c}_1\right) & \varphi\left(\mathbf{x}_1-\mathbf{c}_2\right) & \cdots & \varphi\left(\mathbf{x}_1-\mathbf{c}_K\right) \\ \varphi\left(\mathbf{x}_2-\mathbf{c}_1\right) & \varphi\left(\mathbf{x}_2-\mathbf{c}_2\right) & \cdots & \varphi\left(\mathbf{x}_2-\mathbf{c}_K\right) \\ \cdots & \cdots & \cdots & \cdots \\ \varphi\left(\mathbf{x}_p-\mathbf{c}_1\right) & \varphi\left(\mathbf{x}_p-\mathbf{c}_2\right) & \cdots & \varphi\left(\mathbf{x}_p-\mathbf{c}_K\right) \end{array}\right]
(4.6)

Przy ograniczeniu liczby funkcji bazowych do  K , macierz   \mathbf{G}  jest macierzą prostokątną o liczbie wierszy zwykle dużo większej niż liczba kolumn (p \gg K) . Przy założeniu znajomości parametrów funkcji radialnych macierz Greena jest ściśle określoną macierzą liczbową, a problem optymalizacyjny (4.6) sprowadza się do rozwiązania układu równań liniowych


 [ \mathbf{1} \; \mathbf{G}]{\mathbf{w}}=\mathbf{d} (4.7)


względem wektora wagowego  \mathbf{w} , a \mathbf{1}   jest wektorem jednostkowym związanym z wagą polaryzacji  w_0 . Wobec prostokątności macierzy \mathbf{G}  wektor wag \mathbf{w}  wyznacza się, wykorzystując pojęcie pseudoinwersji macierzy \mathbf{G} , to jest


 \mathbf{w}=[ \mathbf{1} \; \mathbf{G}]^{+}\mathbf{d} (4.8)

gdzie znak  ^{+} oznacza pseudoinwersję macierzy prostokątnej. W praktyce numerycznej pseudoinwersja jest obliczana zwykle przy wykorzystaniu dekompozycji SVD [4,16].