Mathematica jako narz¦dzie badawcze Cz¦±¢ dwunasta. Sieci

Transkrypt

Mathematica jako narz¦dzie badawcze Cz¦±¢ dwunasta. Sieci
Mathematica jako narz¦dzie badawcze
Cz¦±¢ dwunasta.
Sieci neuronowe
Nigdy nie ufaj niczemu i nikomu,
je±li nie wiesz, gdzie jest jego mózg.
Harry Potter i Komnata Tajemnic, J. K. Rowling
Celem zaj¦¢ b¦dzie analiza sztucznych sieci neuronowych. Sieci neuronowe
stanowi¡ komputerowy (albo matematyczny, w zale»no±ci od implementacji)
model ludzkiego mózgu. S¡ te» bardzo skutecznym narz¦dziem stosowanym
w ró»nych dziedzinach nauki i techniki (m. in. informatyka, zapami¦tywanie wzorców np. rozpoznawanie pisma, bezpiecze«stwo pracy, porównaj [1])
Zajmiemy si¦ sieciami Hopelda w przypadku dyskretnym. Zadania inspirowane s¡ przykªadami z ksi¡»ki [2].
Sugerowane jest, aby przed zaj¦ciami przypomnie¢/przyswoi¢ sobie nast¦puj¡ce zagadnienia:
•
denicje i podstawowe wªasno±ci sieci Hopelda - rozdziaª 5. w ksi¡»ce
[1].
Rozwa»ymy sieci neuronowe z tzw. reguª¡ zapami¦tywania Hebba (porównaj [1, 2]). Zaªó»my, »e mamy zestaw wzorców, które chcemy zapami¦ta¢
-
x1 , ..., xM ∈ {−1, 1}N .
Tworzymy na ich podstawie macierz
W =
M
1 X
M
xr xTr −
IN .
N
N
i=1
IN
to macierz jednostkowa wymiaru
N.
Dziaªanie sieci neuronowej (rozpoznawanie wzorca) zwi¡zane jest z dynamik¡
pewnego odwzorowania. Warunki pocz¡tkowe okre±lone s¡ nast¦puj¡co
xi (0) = yi , i = 1, ..., N,
1
gdzie
y ∈ RN
to obiekt, w którym chcemy rozpozna¢ poszukiwany wzorzec.
Dynamika okre±lona jest przez funkcj¦
xi (n + 1) = f˜ ([W x(n)]i ) , i = 1, ..., N,
gdzie funkcja zdeniowana jest jak poni»ej


1, vi (n) > 0
˜
f (vi (n)) = xi (n) vi (n) = 0


−1, vi (n) < 0,
gdzie
vi (n) =
PN
j=0 Wij xj (n). Iteracja ta zbiega do punktu staªego, którym
mog¡ by¢
•
Jeden z wyj±ciowych wzorców,
•
Kombinacja liniowa wzorców,
•
Tzw. stany szkªa spinowego, niezwi¡zane z »adnym z wzorców.
Oczywi±cie najgorsza z punktu widzenia zastosowa« jest sytuacja trzecia.
Zadanie 3.
Zastosuj pi¦cioneuronow¡ sie¢ Hopelda do rozpoznawania nast¦puj¡cych
wzorców
x1 = (1, 1, 1, 1, 1)T ,
x2 = (1, −1, −1, 1, −1)T ,
x3 = (−1, 1, −1, 1, 1)T .
Rozpoznaj nast¦puj¡ce wektory stworzon¡ sieci¡ neuronow¡
y1 = (1, −1, 1, 1, 1)T ,
y2 = (0, 1, −1, 1, 1)T ,
y3 = (−1, 1, 1, 1, −1)T .
Sprawd¹ jak zmiana wyj±ciowych wzorców i ich ilo±ci wpªywa na dziaªanie
sieci. Przeanalizuj inne wektory, »eby zbada¢ jak rozpozna je sie¢.
Zadanie 4.
Bazuj¡c na wynikach zadania 3. napisz sie¢ Hopelda zªo»on¡ z
zdoln¡ do rozpoznawania obrazków zapisanych w kwadracie
81 neuronów,
9 × 9 pikseli.
Zaproponuj dane pocz¡tkowe (np. inspirowane rysunkiem 1) i sprawd¹ jak
sie¢ rozpoznaje wzorce.
2
Rysunek 1: Przykªadowe wzorce do zadania 4.
Literatura
[1] R. A. Kosi«ski, Sztuczne sieci neuronowe. Dynamika nieliniowa i chaos,
Wydawnictwo Naukowo-Techniczne, Warszawa (2002).
[2] S. Lynch, Dynamical Systems with Applications using Mathematica, Birkhäuser, Boston, (2007).
3

Podobne dokumenty