60
4.6. Uczenie sieci nieliniowej
y(m = *SJ)-
Jako ciekawostkę warto odnotować fakt, że takie neurony „buforujące” sygnały wejściowe występują także w rzeczywistym systemie nerwowym, w szczególności w narządach zmysłów i w systemach percepcyjnych, gdzie są znane pod nazwą „komórek dwubiegunowych” (jako że mają dwa bieguny: jedno wejście i jedno wyjście). Bardziej szczegółowa dyskusja tego zagadnienia zawarta jest w pracy [Tade91a].
Jak z tego wynika wszystkie sygnały w rozważanej sieci mają postać i jedynie na podstawie numeru neuronu m można będzie rozróżnić, z jakim sygnałem (wejściowym, wyjściowym lub może jednym z sygnałów warstwy ukrytej) mamy w tym wypadku do czynienia. Dla skrócenia zapisów i zwiększenia czytelności dalszych rozważań wprowadzimy jednak wygodną notację opartą na wyróżnieniu w zbiorze numerów neuronów 9J?(V,n rn £ 9J?) następujących podzbiorów:
- zbiór numerów neuronów wejściowych do sieci;
VJt,j - zbiór numerów neuronów wyjściowych z sieci;
9KU - zbiór numerów neuronów warstwy ukrytej sieci;
- zbiór numerów neuronów dostarczających sygnałów wejściowych do konkretnego, rozważanego aktualnie neuronu;
9Jto - zbiór numerów neuronów do których dany, rozważany aktualnie neuron, wysyła swój sygnał wyjściowy.
Korzystając z tych oznaczeń możemy teraz wprowadzić zasadę, uczenia wielowarstwowej sieci z użyciem algortmu bnckpropagation. Zaczniemy od stwierdzenia, że w j-tym kroku procesu uczenia sygnał na wyjściu każdego m-tego neuronu sieci może być wyznaczony z zestawu zależności o ogólnej postaci
V ( Y. wi
gdzie przez ^ oznaczono wartość współczynnika wagowego synapsy łączącej wejście m-tego neuronu z wyjściem /-tego neuronu — oczywiście podczas j-tego kroku procesu uczenia. Podany wyżej wzór jest potencjalnie niejednoznaczny, ponieważ symbole typu występują w nim po lewej i po prawej stronie rozważanej formuły, można więc wyobrazić sobie sytuację, że dla pewnych /i i /o dla wyznaczenia y^ potrzebne będzie i z kolei dla obliczenia wartości yfj potrzebne będzie y\*\ Jest to jednak niejednoznaczność pozorna, gdyż przy sieciach heteroasocjacyjnyoh (fcedforward) zawsze można wyznaczyć taką kolejność obliczania wartości która gwarantuje, że w momencie wyliczania wartości t/m* dla kolejnego neuronu wszystkie wartości y^ dla i £ będą już znane. Sprawa nie jest specjalnie trudna, wystarczy tylko kolejność obliczeń związać z kolejnością przekazywania sygnałów z wejścia sieci do neuronów w kolejnych warstwach: najpierw oblicza się ) dla m £ M*, potem dla m £ (kolejno od wejścia w kierunku wyjścia), wreszcie na końcu obliczane są wartości dla m £ . Sprawa się oczywiście komplikuje, jeśli w sieci występują sprzężenia
zwrotne, jednak ten przypadek będzie rozważany osobno i chwilowo jest pominięty.
Określony porządek jest także wymagany przy znajdowaniu wartości poprawionych wag synaptycznych, z tym, że jest on przy metodzie backpropngation dokładnie przeciwny do tego, jaki jest wymagany przy obliczaniu wartości sygnałów w kolejnych elementach sieci.