Poznawanie wÅasnoÅci sieci neuronowych w Årodowisku MATLAB
Poznawanie wÅasnoÅci sieci neuronowych w Årodowisku MATLAB
Poznawanie wÅasnoÅci sieci neuronowych w Årodowisku MATLAB
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
3.1. Inicjalizacja <strong>sieci</strong> 27<br />
cych badany obiekt lub zjawisko, będziemy oznaczać przez X. Po rozszerzeniu o<br />
wejście zerowe x 0 = −1 stanie się on wektorem wejściowym pierwszej warstwy<br />
X (1) = [x 0 , x 1 , . . . , x S ] T , o wymiarze S + 1 × 1. Macierz wag pierwszej warstwy<br />
<strong>sieci</strong> jest zbudowana, podobnie, jak w przypadku <strong>sieci</strong> jednowarstwowej, z wektorów<br />
kolumnowych wag kolejnych neuronów. Tym razem jednak, pierwszy jej<br />
wiersz, indeksowany przez nas jako zerowy (drugi dolny indeks), zawiera wagi<br />
poszczególnych neuronów do wejścia progowego, czyli krótko ich biasy.<br />
[<br />
W (1) =<br />
W (1)<br />
1 W (1)<br />
2 · · · W 1 K 1<br />
]<br />
=<br />
⎡<br />
⎢<br />
⎣<br />
w (1)<br />
1,0 w (1)<br />
2,0 · · · w (1)<br />
K 1 ,0<br />
w (1)<br />
1,1 w (1)<br />
2,1 · · · w (1)<br />
K 1 ,1<br />
w (1)<br />
1,2 w (1)<br />
2,2 · · · w (1)<br />
K 1 ,2<br />
.<br />
. . .. .<br />
w (1)<br />
1,S<br />
w (1)<br />
2,S<br />
· · · w (1)<br />
K 1 ,S<br />
S+1×K 1<br />
(3.1)<br />
Przy implementacji następnych funkcji trzeba będzie pamiętać o tym, że program<br />
<strong>MATLAB</strong> indeksuje wiersze macierzy od 1, a nie on 0, jak np. język C++.<br />
Sieć dwuwarstwowa jest kaskadowym połączeniem warstwy pierwszej i drugiej.<br />
Pomimo tego, że jedną z głównych i podkreślanych zalet <strong>sieci</strong> <strong>neuronowych</strong> jest<br />
równoległe przetwarzanie danych, to jednak architekturę rozważanych właśnie<br />
wielowarstwowych <strong>sieci</strong> jednokierunkowych (Multi Layer Perceptron – MLP) możemy<br />
określić jako równoległo-szeregową. W jednej warstwie rzeczywiście sygnały<br />
przetwarzane są równolegle przez wszystkie neurony, jednak z jednej warstwy do<br />
kolejnej przesyłane są szeregowo. Zobaczymy później, że kolejne warstwy po kolei<br />
upraszczają zadanie, które ma do wykonania sieć. Wiele badań dowodzi, że jest<br />
to sposób działania zbliżony do procesów, zachodzących w naszym mózgu ([1]),<br />
szczególnie tych związanych z percepcją. W mózgu występuje jednak dodatkowo<br />
bardzo wiele połączeń zwrotnych. Sprawiają one, ze <strong>sieci</strong> <strong>sieci</strong> biologiczne są układami<br />
dynamicznymi o wielkich możliwościach przetwarzania i kojarzenia sygnałów.<br />
Sieci rekurencyjne wykraczają jednak daleko poza zakres niniejszej książki.<br />
Pełny model <strong>sieci</strong> dwuwarstwowej przedstawia rys. 3.3. Wektor wyjść warstwy<br />
pierwszej, po rozszerzeniu o wejście progowe, staje się wektorem wejść do warstwy<br />
drugiej. Macierz wag warstwy drugiej, konstruowana w analogiczny sposób, jak<br />
macierz wag warstwy pierwszej, ma wymiar K 1 + 1 × K 2 . Wszystkie wielkości<br />
odnoszące się do neuronów drugiej warstwy <strong>sieci</strong> oznaczamy indeksem górnym<br />
(2).<br />
Funkcja inicjująca sieć dwuwarstwową o S wejściach, K 1 neuronach w pierwszej<br />
i K 2 neuronach w drugiej warstwie zawiera zaledwie dwie linie kodu, w których<br />
⎤<br />
⎥<br />
⎦