• Nie Znaleziono Wyników

2012-10-03 JarosławPiersa Wstępdosiecineuronowychlaboratorium01Organizacjazajęć.Perceptronprosty

N/A
N/A
Protected

Academic year: 2021

Share "2012-10-03 JarosławPiersa Wstępdosiecineuronowychlaboratorium01Organizacjazajęć.Perceptronprosty"

Copied!
23
0
0

Pełen tekst

(1)

Organizacja zajęć Powtórzenie z wykładu Zadania

Wstęp do sieci neuronowych laboratorium 01 Organizacja 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”

(2)

Organizacja zajęć Powtórzenie z wykładu Zadania

Program przedmiotu Zaliczenie Litaratura

1 Organizacja zajęć Program przedmiotu Zaliczenie

Litaratura

2 Powtórzenie z wykładu Perceptrony prosty Uczenie perceptronu

3 Zadania

Zadania rachunkowe Zadania programistyczne

(3)

Organizacja zajęć Powtórzenie z wykładu Zadania

Program przedmiotu Zaliczenie Litaratura

O czym będzie

Sieci neuronowe — matematyczne i informatyczne modele

dla biologicznych komórek nerwowych i całych sieci nerwowych wraz z ich zastosowaniem w problemach obliczeniowych.

Dużo programowania (implementowanie algorytmów), Trochę matematyki,

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

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

(4)

Organizacja zajęć Powtórzenie z wykładu Zadania

Program przedmiotu Zaliczenie Litaratura

Program zajęć

Pojedynczy neuron (model perceptronu prostego, maszyny liniowej, Adaline),

Sieci skierowane, algorytmy konstrukcyjne dla sieci skierowanych, Algorytm wstecznej propagacji błędu (BEP),

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

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

(*) Wielowartościowe sieci neuronowe, sieci zespolone, (*) Algorytmy genetyczne.

(5)

Organizacja zajęć Powtórzenie z wykładu Zadania

Program przedmiotu Zaliczenie Litaratura

Zaliczenie

Zaliczenie laboratoriów na podstawie implementowania omawianych algorytmów,

Terminowość w oddawaniu zadań, Obecność wymagana!

(6)

Organizacja zajęć Powtórzenie z wykładu Zadania

Program przedmiotu Zaliczenie Litaratura

Zaliczenie

Każde zadanie jest punktowane za 1 punkt.

Dopuszczane są oceny wymierne (czyt. ułamkowe za brzydko napisane zadania) oraz powyżej jednego punktu za wybitnie programy,

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

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

ocena punkty

dst 3p.

db 4p.

bdb 5p.

bdb+ 6p. lub więcej + następny slajd

(7)

Organizacja zajęć Powtórzenie z wykładu Zadania

Program przedmiotu Zaliczenie Litaratura

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.

(8)

Organizacja zajęć Powtórzenie z wykładu Zadania

Program przedmiotu Zaliczenie Litaratura

Literatura

R. Rojas Neural Networks, A Systematic Introduction, Springer 1996,

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

T. Schreiber, Notatki do wykładu WSN,

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

C. Bishop, Neural Networks for Pattern Recognition, Oxford University Press 1995.

(9)

Organizacja zajęć Powtórzenie z wykładu Zadania

Perceptrony prosty Uczenie perceptronu

1 Organizacja zajęć Program przedmiotu Zaliczenie

Litaratura

2 Powtórzenie z wykładu Perceptrony prosty Uczenie perceptronu

3 Zadania

Zadania rachunkowe Zadania programistyczne

(10)

Organizacja zajęć Powtórzenie z wykładu Zadania

Perceptrony prosty Uczenie 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 < θ

(11)

Organizacja zajęć Powtórzenie z wykładu Zadania

Perceptrony prosty Uczenie perceptronu

Dynamika perceptronu

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

O(x1, ..., xn) = f (

n

X

i =1

wixi) =

 +1 Pn

i =1wixi ≥ θ

−1 Pn

i =1wixi < θ

(12)

Organizacja zajęć Powtórzenie z wykładu Zadania

Perceptrony prosty Uczenie perceptronu

Model perceptronu

out

(13)

Organizacja zajęć Powtórzenie z wykładu Zadania

Perceptrony prosty Uczenie perceptronu

Zagadnienie uczenia perceptronu

Dane:

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

zbiór k przykładów uczących E(i )= (E1(i ), ..., .EN(i )), i = 1..k, poprawne odpowiedzi {+1, −1} odpowiadające przykładom uczącym T(1), ..., .T(k),

Cel:

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

(14)

Organizacja zajęć Powtórzenie z wykładu Zadania

Perceptrony prosty Uczenie 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 )− O

5 Jeżeli ERR = 0 (klasyfikacja jest poprawna), to wróć do 2,

6 W przeciwnym wypadku uaktualniamy wszystkie wagi zgodnie ze wzorem wi = wi+ η · ERR · Ei(j )

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

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

(15)

Organizacja zajęć Powtórzenie z wykładu Zadania

Perceptrony prosty Uczenie perceptronu

Pocket Learning Algorithm

1 Losujemy wagi i próg wokół 0, przypisujemy układowi wag zerowy 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 wynik lepszy 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 · Ei(j ) θ = θ − ERR

Nowemu układowi wag przypisujemy zerowy czas życia. Wracamy do 2.

(16)

Organizacja zajęć Powtórzenie z wykładu Zadania

Perceptrony prosty Uczenie perceptronu

Pocket Learning Algorithm with Ratchet

1 Losujemy wagi i próg wokół 0, przypisujemy układowi wag zerowy 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 = Tj− O, Jeśli tak, zwiększamy mu czas życia o jeden. Jeżeli jest to wynik lepszy niż u rekordzisty i klasyfikuje on więcej przykładów niż rekordzista, to zapominamy starego rekordzistę i zapisujemy nowy układ wag. Wracamy do 2.

Jeśli nie, to korygujemy wagi i próg:

wi:= wi+ η · ERR · Ei(j )

θ := θ − ERR

Nowemu układowi wag przypisujemy zerowy czas życia. Wracamy do 2.

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

(17)

Organizacja zajęć Powtórzenie z wykładu Zadania

Zadania rachunkowe Zadania programistyczne

1 Organizacja zajęć Program przedmiotu Zaliczenie

Litaratura

2 Powtórzenie z wykładu Perceptrony prosty Uczenie perceptronu

3 Zadania

Zadania rachunkowe Zadania programistyczne

(18)

Organizacja zajęć Powtórzenie z wykładu Zadania

Zadania rachunkowe Zadania 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)?

(19)

Organizacja zajęć Powtórzenie z wykładu Zadania

Zadania rachunkowe Zadania programistyczne

Zadanie 2

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

(20)

Organizacja zajęć Powtórzenie z wykładu Zadania

Zadania rachunkowe Zadania programistyczne

Zadanie 3

σ(s) = 1

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

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

σ0(s) = σ(s)(1 − σ(s))

(21)

Organizacja zajęć Powtórzenie z wykładu Zadania

Zadania rachunkowe Zadania programistyczne

Zadanie 1. Klasyfikacja punktów

Napisz program, który nauczy perceptron klasyfikacji na zadanej liście przykł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 innych punktów (tj. z poza listy uczącej) i wyświetlenia ich wraz z oznaczeniem klasy,

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

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

(22)

Organizacja zajęć Powtórzenie z wykładu Zadania

Zadania rachunkowe Zadania 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 matrycy o niewielkich wymiarach,

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

(23)

Organizacja zajęć Powtórzenie z wykładu Zadania

Zadania rachunkowe Zadania programistyczne

Zadanie 3. Neuron Hodgkina-Huxleya

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

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

Cytaty

Powiązane dokumenty

Organizacja zajęć Zakładanie konta w systemie WMiI System komputerowy WMiI Poczta WMiI Podsumowanie.. Wstęp do systemów wielozadaniowych laboratorium 01 —

2 Modelowanie funkcji logicznych za pomocą perceptronu Przypomnienie algebry boolowskiej?. Perceptron jako bramka logiczna

(*) Zapoznaj się i zaimplementuj algorytm szybkiej transformaty Fouriera (fast Fourier transform, FFT) w

2 Algorytmy konstrukcyjne Algorytm wieżowy Algorytm piramidalny Algorytm kafelkowy Algorytm upstart.. 3 Podsumowanie wykładu Zadania

mieć założone konto w systemie komputerowym lub przynajmniej wypełniony formularz zakładania konta znać obowiązujący regulamin (lub wiedzieć gdzie go

(Linux) Uruchom klienta poczty (Thunderbird, Evolution etc.) Skonfiguruj klienta aby obsługiwał serwis poczty WMiI. Wyślij wiadomość testową do osoby siedzącej po lewej

wykonać podstawowe operacje w systemie plików: wyświetlenie zawartości, zmiana katalogu, tworzenie, zmiana nazwy, usuwanie, przenoszenie,

Administrowanie kontem Pliki w UNIXie Praca z plikami tekstowymi Bezpieczne kopiowanie plików Podsumowanie.. Wstęp do systemów wielozadaniowych laboratorium 03 — Praca z