5. Inne struktury sieci

5.2. Sieci RBF

Sieci RBF (ang. radial basis function) to sieć, w której jako funkcje aktywacji stosujemy radialne funkcje bazowe [Broomhead and Lowe, 1988]. Radialna funkcja bazowa to funkcja, której wartość zależy tylko od odległości od określonego punktu.

Wykres radialnej funkcji bazowej o kształcie dzwonu - funkcja eksponencjalna
(a)  \rho(r) = \exp(-\beta r^2)
Wykres radialnej funkcji bazowej o kształcie dzwonu - funkcja wymierna
(b)  \rho(r) = \frac{1}{1 + \beta r^2}
Rysunek 25: Przykłady radialnych funkcji bazowych

Przykłady radialnych funkcji bazowych zostały przedstawione na rysunku  25. Neurony o radialnych funkcjach aktywacji możemy interpretować jako sprawdzające jak blisko dane wejściowe są określonego punktu.

Sieci RBF możemy wykorzystywać w zadaniach regresji (aproksymacji funkcji) oraz klasyfikacji.

Ilustracja uczenia dyskryminacyjnego - liniowy podział przestrzeni danych
(a) Uczenie dyskryminacyjne
Ilustracja uczenia generacyjnego - okrągłe obszary w przestrzeni danych
(b) Uczenie generacyjne
Rysunek 26: Uczenie generacyjne a dyskryminacyjne

Możemy zauważyć, że w neuronach RBF mamy do czynienia z pewną zmianą paradygmatu w stosunku do perceptronu. Perceptron realizuje liniowy podział przestrzeni danych wejściowych (rysunek 26a), natomiast neuron RBF wybiera pewien podzbiór przestrzeni danych wejściowych ograniczony odległością do konkretnego punktu (rysunek 26b).

Schemat sieci RBF z warstwą wejściową, ukrytą z neuronami radialnymi i wyjściową liniową
Rysunek 27: Sieć RBF

Struktura całej sieci RBF została przedstawiona na rysunku 27. Zawiera ona tylko jedną warstwę ukrytą z neuronami o radialnych aktywacjach. Odpowiada to przekształceniu przestrzeni zmiennych wejściowych w inną przestrzeń (o większej liczbie wymiarów), z nadzieją, że w nowej przestrzeni uda się zrealizować dopasowanie liniowe. Jest to popularne podejście w uczeniu maszynowym (tzw. kernel trick).

Warstwa wyjściowa sieci realizuje dopasowanie liniowe (wzór 37):


y = \sum_{i=1}^N w_i \rho(\|x-c_i\|)

gdzie  c_i to punkt centralny dla neuronu  i .

Uczenie sieci RBF składa się z dwóch kroków. W pierwszym, w sposób nienadzorowany, dobierane są środki ci. Mogą być one wybrane losowo spośród punktów z danych uczących lub z wykorzystaniem algorytmów grupowania (np. k-średnich). Następnie wagi wi są uczone w sposób nadzorowany. Można tu wykorzystać dobrze już nam znane algorytmy gradientowe lub inne metody dopasowywania współczynników funkcji liniowej.

Sieci RBF zostały zaproponowane przed rozwojem uczenia głębokiego i najczęściej nie znajdziemy ich wprost w pakietach do uczenia głębokiego jak Keras. Jednak własna implementacja nie stanowi większego problemu ze względu na prostotę rozwiązania.

Literatura

[Broomhead and Lowe, 1988]
Broomhead, D. and Lowe, D. (1988). Multivariable functional interpolation and adaptive networks. Complex Syst., 2.