23
Organizacja zajęć Powtórzenie z wykladu Zadania Wstęp do sieci neuronowych laboratorium 01 Organizacja zajęć. Perceptron prosty Jaroslaw Piersa Wydzial Matematyki i Informatyki, Uniwersytet Mikolaja Kopernika 2012-10-03 Projekt pn. „Wzmocnienie potencjalu dydaktycznego UMK w Toruniu w dziedzinach matematyczno-przyrodniczychrealizowany w ramach Poddzialania 4.1.1 Programu Operacyjnego Kapital Ludzki J. Piersa WSN 2011/2012 Laboratorium 01

Wstep do sieci neuronowych laboratorium 01 Organizacja ...piersaj/www/contents/teaching/wsn2012/...z ich zastosowaniem w problemach obliczeniowych. Dużo programowania (implementowanie

  • Upload
    vungoc

  • View
    214

  • Download
    0

Embed Size (px)

Citation preview

Organizacja zajęćPowtórzenie z wykładu

Zadania

Wstęp do sieci neuronowych laboratorium 01Organizacja zajęć. Perceptron prosty

Jarosław Piersa

Wydział Matematyki i Informatyki, Uniwersytet Mikołaja Kopernika

2012-10-03

Projekt pn. „Wzmocnienie potencjału dydaktycznego UMK w Toruniu w dziedzinach matematyczno-przyrodniczych”realizowany w ramach Poddziałania 4.1.1 Programu Operacyjnego Kapitał Ludzki

J. Piersa WSN 2011/2012 Laboratorium 01

Organizacja zajęćPowtórzenie z wykładu

Zadania

Program przedmiotuZaliczenieLitaratura

1 Organizacja zajęćProgram przedmiotuZaliczenieLitaratura

2 Powtórzenie z wykładuPerceptrony prostyUczenie perceptronu

3 ZadaniaZadania rachunkoweZadania programistyczne

J. Piersa WSN 2011/2012 Laboratorium 01

Organizacja zajęćPowtórzenie z wykładu

Zadania

Program przedmiotuZaliczenieLitaratura

O czym będzie

Sieci neuronowe — matematyczne i informatyczne modeledla biologicznych komórek nerwowych i całych sieci nerwowych wrazz ich zastosowaniem w problemach obliczeniowych.

Dużo programowania (implementowanie algorytmów),

Trochę matematyki,

Małe zadania do zaimplementowania na zajęciach (językdowolny, ściągawki będą w Matlabie / Octavie),

Programy zaliczeniowe pisane głównie w domu, prezentowanei omawiane na zajęciach,

J. Piersa WSN 2011/2012 Laboratorium 01

Organizacja zajęćPowtórzenie z wykładu

Zadania

Program przedmiotuZaliczenieLitaratura

Program zajęć

Pojedynczy neuron (model perceptronu prostego, maszynyliniowej, Adaline),

Sieci skierowane, algorytmy konstrukcyjne dla sieci skierowanych,

Algorytm wstecznej propagacji błędu (BEP),

Uczenie bez nauczyciela (samoorganizacja topologiczna, analizaskładowych głównych (PCA)),

Sieci rekurencyjne (sieć Hopfielda, maszyny Boltzmannai symulowane wyżarzanie),

(*) Wielowartościowe sieci neuronowe, sieci zespolone,

(*) Algorytmy genetyczne.

J. Piersa WSN 2011/2012 Laboratorium 01

Organizacja zajęćPowtórzenie z wykładu

Zadania

Program przedmiotuZaliczenieLitaratura

Zaliczenie

Zaliczenie laboratoriów na podstawie implementowaniaomawianych algorytmów,

Terminowość w oddawaniu zadań,

Obecność wymagana!

J. Piersa WSN 2011/2012 Laboratorium 01

Organizacja zajęćPowtórzenie z wykładu

Zadania

Program przedmiotuZaliczenieLitaratura

Zaliczenie

Każde zadanie jest punktowane za 1 punkt.

Dopuszczane są oceny wymierne (czyt. ułamkowe za brzydkonapisane zadania) oraz powyżej jednego punktu za wybitnieprogramy,

Podczas sprawdzania programów należy mieć kod źródłowy.

Lub prezentacja programu w trakcie zajęć (+0.2p).

ocena punktydst 3p.db 4p.bdb 5p.bdb+ 6p. lub więcej + następny slajd

J. Piersa WSN 2011/2012 Laboratorium 01

Organizacja zajęćPowtórzenie z wykładu

Zadania

Program przedmiotuZaliczenieLitaratura

Wymagania na ocenę BDB+

Na ocenę bdb+ wymagane są:

zadania z różnych działów,

przynajmniej jeden program do końca października,

przynajmniej dwa programy do końca listopada,

przynajmniej trzy programy do końca stycznia,

wszystkie programy przed egzaminem.

J. Piersa WSN 2011/2012 Laboratorium 01

Organizacja zajęćPowtórzenie z wykładu

Zadania

Program przedmiotuZaliczenieLitaratura

Literatura

R. Rojas Neural Networks, A Systematic Introduction, Springer1996,

P. Peretto, Introduction to Modeling Neural Networks,Cambridge University Press 1994,

T. Schreiber, Notatki do wykładu WSN,

E. Izhikevich, Dynamical Systems in Neuroscience, 2007Massachusetts Institute of Technology

C. Bishop, Neural Networks for Pattern Recognition, OxfordUniversity Press 1995.

J. Piersa WSN 2011/2012 Laboratorium 01

Organizacja zajęćPowtórzenie z wykładu

Zadania

Perceptrony prostyUczenie perceptronu

1 Organizacja zajęćProgram przedmiotuZaliczenieLitaratura

2 Powtórzenie z wykładuPerceptrony prostyUczenie perceptronu

3 ZadaniaZadania rachunkoweZadania programistyczne

J. Piersa WSN 2011/2012 Laboratorium 01

Organizacja zajęćPowtórzenie z wykładu

Zadania

Perceptrony prostyUczenie perceptronu

Dynamika perceptronu

Perceptron — układ składający się z

n wejść x1, .., xn, (argumenty do funkcji xi ∈ R),

n wag w1, ..,wn stowarzyszonych z wejściami wi ∈ R,

funkcji aktywacji f : R→ R (funkcja polarna z progiem θ)

f (s) =

{+1 s ≥ θ−1 s < θ

J. Piersa WSN 2011/2012 Laboratorium 01

Organizacja zajęćPowtórzenie z wykładu

Zadania

Perceptrony prostyUczenie perceptronu

Dynamika perceptronu

Dostając na wejściu x = (x1, .., xn), perceptron zwróci wartość:

O(x1, ..., xn) = f (n∑i=1

wixi ) =

{+1

∑ni=1 wixi ≥ θ

−1∑ni=1 wixi < θ

J. Piersa WSN 2011/2012 Laboratorium 01

Organizacja zajęćPowtórzenie z wykładu

Zadania

Perceptrony prostyUczenie perceptronu

Model perceptronu

out

J. Piersa WSN 2011/2012 Laboratorium 01

Organizacja zajęćPowtórzenie z wykładu

Zadania

Perceptrony prostyUczenie perceptronu

Zagadnienie uczenia perceptronu

Dane:

perceptron progowy o n wejściach, n nieznanych wagachw1, ..,wn i progu θ,

zbiór k przykładów uczących E (i) = (E (i)1 , ..., .E (i)

N ), i = 1..k ,

poprawne odpowiedzi {+1,−1} odpowiadające przykładomuczącym T (1), ..., .T (k),

Cel:

znaleźć zestaw wag w1, ..,wn i próg θ, takie aby perceptronklasyfikował poprawnie wszystkie przykłady uczące (lub możliwienajwięcej, gdy nie da się wszystkich)

J. Piersa WSN 2011/2012 Laboratorium 01

Organizacja zajęćPowtórzenie z wykładu

Zadania

Perceptrony prostyUczenie perceptronu

Simple Perceptron Learning Algorithm

Podstawowy algorytm uczenia:1 Losujemy wagi wi małe, blisko 0.

2 Wybieramy kolejny (lub losowy — zalecane) przykład E (j) i odpowiadającąmu poprawną odpowiedź T (j),

3 Obliczamy O — wynik działania sieci na E (j)

4 Obliczamy ERR = T (j) − O5 Jeżeli ERR = 0 (klasyfikacja jest poprawna), to wróć do 2,

6 W przeciwnym wypadku uaktualniamy wszystkie wagi zgodnie ze wzorem

wi = wi + η · ERR · E (j)i

θ = θ − ERRη > 0 jest stałą uczenia.

7 Jeżeli sieć klasyfikuje poprawnie wszystkie (większość) przykłady, tokończymy, wpw wracamy do 2.

J. Piersa WSN 2011/2012 Laboratorium 01

Organizacja zajęćPowtórzenie z wykładu

Zadania

Perceptrony prostyUczenie perceptronu

Pocket Learning Algorithm

1 Losujemy wagi i próg wokół 0, przypisujemy układowi wagzerowy czas życia i zapisujemy go w kieszonce jako rekordzistę,

2 Przebiegamy przykłady losując z listy,3 Dla wybranego przykładu E (j) sprawdzamy, czy E (j) jest dobrze

klasyfikowany (ERR = T (j) − O = 0),Jeśli tak, zwiększamy mu czas życia o jeden. Jeżeli jest to wyniklepszy niż u rekordzisty, zapominamy starego rekordzistęi zapisujemy w kieszonce nowy układ wag. Wracamy do 2.Jeśli nie, to korygujemy wagi i próg:

wi = wi + η · ERR · E (j)i

θ = θ − ERRNowemu układowi wag przypisujemy zerowy czas życia. Wracamydo 2.

4 Algorytm kończymy po przebiegnięciu odpowiedniej liczbyiteracji. Zwracamy najbardziej żywotny zestaw wag.

J. Piersa WSN 2011/2012 Laboratorium 01

Organizacja zajęćPowtórzenie z wykładu

Zadania

Perceptrony prostyUczenie perceptronu

Pocket Learning Algorithm with Ratchet

1 Losujemy wagi i próg wokół 0, przypisujemy układowi wagzerowy czas życia i zapisujemy go jako rekordzistę,

2 Przebiegamy przykłady losując z listy, oznaczmy go E (j),3 Sprawdzamy czy E (j) jest dobrze klasyfikowany ERR = T j − O,

Jeśli tak, zwiększamy mu czas życia o jeden. Jeżeli jest to wyniklepszy niż u rekordzisty i klasyfikuje on więcej przykładów niżrekordzista, to zapominamy starego rekordzistę i zapisujemynowy układ wag. Wracamy do 2.Jeśli nie, to korygujemy wagi i próg:

wi := wi + η · ERR · E (j)i

θ := θ − ERRNowemu układowi wag przypisujemy zerowy czas życia. Wracamydo 2.

4 Algorytm kończymy po przebiegnięciu odpowiedniej liczbyiteracji. Zwracamy najbardziej żywotny zestaw wag.

J. Piersa WSN 2011/2012 Laboratorium 01

Organizacja zajęćPowtórzenie z wykładu

Zadania

Zadania rachunkoweZadania programistyczne

1 Organizacja zajęćProgram przedmiotuZaliczenieLitaratura

2 Powtórzenie z wykładuPerceptrony prostyUczenie perceptronu

3 ZadaniaZadania rachunkoweZadania programistyczne

J. Piersa WSN 2011/2012 Laboratorium 01

Organizacja zajęćPowtórzenie z wykładu

Zadania

Zadania rachunkoweZadania programistyczne

Zadanie 1

Wagi perceptronu wynoszą w1 = +1, w2 = −0.5, w3 = −1.4.

Próg funkcji aktywującej wynosi θ = +1.5

Jaką odpowiedź zwróci perceptron dla wejścia x̄ = (3,−4, 5)?

J. Piersa WSN 2011/2012 Laboratorium 01

Organizacja zajęćPowtórzenie z wykładu

Zadania

Zadania rachunkoweZadania programistyczne

Zadanie 2

Pokaż, że definicje perceptronu progowego i z biasem są równoważne.

J. Piersa WSN 2011/2012 Laboratorium 01

Organizacja zajęćPowtórzenie z wykładu

Zadania

Zadania rachunkoweZadania programistyczne

Zadanie 3

σ(s) =1

1 + exp(−s)Pokaż, że

2σ(s)− 1 =1− exp(−s)1 + exp(−s)

orazσ′(s) = σ(s)(1− σ(s))

J. Piersa WSN 2011/2012 Laboratorium 01

Organizacja zajęćPowtórzenie z wykładu

Zadania

Zadania rachunkoweZadania programistyczne

Zadanie 1. Klasyfikacja punktów

Napisz program, który nauczy perceptron klasyfikacji na zadanej liścieprzykładów (wyklikanych lub z pliku).

Plik może być listą punktów (na R2,R3,R4) oraz poprawnąklasyfikacją punktu. Klasyfikacja binarna: 0 lub 1 (+1, -1),

Możliwość wczytania (lub wyklikania) parametrów innychpunktów (tj. z poza listy uczącej) i wyświetlenia ich wraz zoznaczeniem klasy,

Informacja o oczekiwanej (z listy) jak i faktycznej (tj. zwróconejprzez perceptron) klasyfikacji,

Podstawowe statystyki poprawności działania (np. procentpoprawnie klasyfikowanych przykładów),

Wykres prostej / płaszczyzny separującej.

J. Piersa WSN 2011/2012 Laboratorium 01

Organizacja zajęćPowtórzenie z wykładu

Zadania

Zadania rachunkoweZadania programistyczne

Zadanie 2. Rozpoznawanie cyfr / liter / obrazów

Napisz program, który wykorzystuje kilka (-naście) perceptronów(lub maszynę liniową) do rozpoznawania cyfr lub liter.Wskazówki:

Cyfry powinny być wyświetlane jako układy pikseli na matrycyo niewielkich wymiarach,

Program dodatkowo powinien mieć możliwość „wyklikania” cyfryi automatycznej klasyfikacji.

J. Piersa WSN 2011/2012 Laboratorium 01

Organizacja zajęćPowtórzenie z wykładu

Zadania

Zadania rachunkoweZadania programistyczne

Zadanie 3. Neuron Hodgkina-Huxleya

(dla ambitnych) Zapoznaj się z modelem komórki neuronowejopisanym w terminach układów dynamicznych. Informacje o modelumożna znaleźć w rozdziale drugim książki — E. Izhikevich DynamicalSystems in Neuroscience, 2007 MIT Press.

Napisz program symulujący dynamikę neuronu Hodgkina-Huxleya.

J. Piersa WSN 2011/2012 Laboratorium 01