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