2. Sieć perceptronu wielowarstwowego MLP

2.2. Struktura sieci wielowarstwowej MLP

Sieć wielowarstwową MLP tworzą neurony ułożone w warstwach połączonych kolejno między sobą, przy czym oprócz warstwy wejściowej i wyjściowej istnieje co najmniej jedna warstwa ukryta.


a)
b)

Rys. 2.1 a) Ogólny schemat sieci neuronowej sigmoidalnej o dwu warstwach ukrytych,  b) sieć o jednej warstwie ukrytej z oznaczeniem połączeń wagowych i polaryzacją

Na rys. 2.1b przedstawiono sieć o jednej warstwie ukrytej [46]. Połączenia międzyneuronowe występują jedynie między sąsiednimi warstwami (w kierunku od wejścia do wyjścia). Stosowane będą oznaczenia sygnałów i wag zgodnie z rysunkiem. Wagi neuronów warstwy ukrytej otrzymają wskaźnik górny (1), natomiast warstwy wyjściowej wskaźnik (2). Sygnały wyjściowe neuronów warstwy ukrytej oznaczone są symbolem \( v_j (j=1, 2, \ldots, K) \), a warstwy wyjściowej symbol \( y_j (j=1, 2, \ldots, M) \). Zakłada się, że funkcja aktywacji neuronów jest dana w postaci sigmoidalnej unipolarnej bądź bipolarnej. Dla uproszczenia oznaczeń przyjęte będzie rozszerzone oznaczenie wektora wejściowego \( \textbf{x} \) sieci w postaci \( \textbf{x}=[x_0, x_1, x_2, \ldots, x_N]^T \), w którym \( x_0=1 \) oznacza sygnał jednostkowy polaryzacji. Z wektorem \( \textbf{x} \) są związane dwa wektory wyjściowe sieci: wektor aktualny \( \textbf{y}=[y_1, y_2, \ldots, y_M]^T \) oraz wektor zadany \( \textbf{d}=[d_1, d_2, \ldots, d_M]^T \).

Celem uczenia jest określenie wartości wag \( w_{ij}^{(1)} \) oraz \( w_{ij}^{(2)} \) wszystkich warstw sieci w taki sposób, aby przy zadanym wektorze wejściowym \( \textbf{x} \) uzyskać na wyjściu wartości sygnałów wektora \( \textbf{y} \) odpowiadające z dostateczną dokładnością wartościom zadanym reprezentowanym przez wektor \( \textbf{d} \). Traktując jednostkowy sygnał polaryzujący jako jedną ze składowych wektora wejściowego \( \textbf{x} \), wagi polaryzacji można włączyć do wektora wag poszczególnych neuronów obu warstw. Przy takim oznaczeniu sygnał wyjściowy \( i \)-tego neuronu warstwy ukrytej daje się opisać wzorem

\( v_i=f\left(\sum_{j=0}^N w_{i j}^{(1)} x_j\right) \) (2.1)


w której wskaźnik \( j=0 \) odpowiada sygnałowi oraz wagom polaryzacji. W przypadku warstwy wyjściowej \( k\)-ty neuron wytwarza sygnał wyjściowy opisany następująco

\( y_k=f\left(\sum_{i=0}^K w_{k i}^{(2)} v_i\right)=f\left(\sum_{i=0}^K w_{k i}^{(2)} f\left(\sum_{j=0}^N w_{i j}^{(1)} x_j\right)\right) \) (2.2)


Powyższy wzór reprezentuje formułę tak zwanego uniwersalnego aproksymatora, gdyż definiuje jawną postać funkcji aproksymującej, realizowanej przez sieć. Jak wynika z zależności (2.2), na wartość sygnału wyjściowego mają wpływ wagi obu warstw, których właściwy dobór pozwala dopasować wartości funkcji aproksymującej do wielkości zadanych (\( \textbf{x} \), \( \textbf{d} ) \).