Wprowadzenie do Sieci Neuronowych Laboratorium 01 Organizacja zajęć. Perceptron.

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

Wprowadzenie do Sieci Neuronowych lista zadań 1

Wprowadzenie do Sieci Neuronowych Laboratorium 01 Organizacja zajęć. Perceptron.

Wstęp do sieci neuronowych, wykład 01 Neuron biologiczny. Model perceptronu prostego.

Wstęp do sieci neuronowych, wykład 01 Neuron biologiczny. Model perceptronu prostego.

Wstęp do sieci neuronowych, wykład 02 Perceptrony c.d. Maszyna liniowa.

Wstęp do sieci neuronowych, wykład 02 Perceptrony c.d. Maszyna liniowa.

Wstęp do sieci neuronowych, wykład 02 Perceptrony c.d. Maszyna liniowa.

Wstęp do sieci neuronowych, wykład 01 Neuron biologiczny. Model perceptronu prostego.

Uczenie sieci neuronowych i bayesowskich

Wstęp do sieci neuronowych, wykład 03 Warstwy RBF, jednostka Adaline.

Wprowadzenie do Sieci Neuronowych Laboratorium 02 Perceptron prosty cd

Wstęp do sieci neuronowych, wykład 04. Skierowane sieci neuronowe. Algorytmy konstrukcyjne dla sieci skierowanych

1. Historia 2. Podstawy neurobiologii 3. Definicje i inne kłamstwa 4. Sztuczny neuron i zasady działania SSN. Agenda

Wstęp do sieci neuronowych, wykład 03 Warstwy RBF, jednostka ADALINE.

Sztuczna Inteligencja Tematy projektów Sieci Neuronowe

Zagadnienia optymalizacji i aproksymacji. Sieci neuronowe.

Wprowadzenie do Sieci Neuronowych Laboratorium 05 Algorytm wstecznej propagacji błędu

Wstęp do sieci neuronowych, wykład 02 Perceptrony c.d. Maszyna liniowa.

Wprowadzenie do Sieci Neuronowych Laboratorium 04 Algorytmy konstrukcyjne dla sieci skierowanych

8. Neuron z ciągłą funkcją aktywacji.

Wstęp do sieci neuronowych, wykład 6 Wsteczna propagacja błędu - cz. 3

synaptycznych wszystko to waży 1.5 kg i zajmuje objętość około 1.5 litra. A zużywa mniej energii niż lampka nocna.

Uczenie się pojedynczego neuronu. Jeśli zastosowana zostanie funkcja bipolarna s y: y=-1 gdy z<0 y=1 gdy z>=0. Wówczas: W 1 x 1 + w 2 x 2 + = 0

Optymalizacja systemów

Metody systemowe i decyzyjne w informatyce

Wstęp do sieci neuronowych, wykład 10 Sieci rekurencyjne. Autoasocjator Hopfielda

Metody systemowe i decyzyjne w informatyce

IMPLEMENTACJA SIECI NEURONOWYCH MLP Z WALIDACJĄ KRZYŻOWĄ

Wstęp do sieci neuronowych, wykład 12 Wykorzystanie sieci rekurencyjnych w optymalizacji grafowej

Wstęp do sztucznych sieci neuronowych

Zastosowania sieci neuronowych

Wstęp do Sieci Neuronowych

Wstęp do sieci neuronowych, wykład 10 Sieci rekurencyjne. Autoasocjator Hopfielda

Elektroniczne materiały dydaktyczne do przedmiotu Wstęp do Sieci Neuronowych

wiedzy Sieci neuronowe

Wstęp do sieci neuronowych, wykład 8 Uczenie nienadzorowane.

KARTA MODUŁU KSZTAŁCENIA

Wstęp do teorii sztucznej inteligencji Wykład III. Modele sieci neuronowych.

Metody Sztucznej Inteligencji II

Wstęp do sieci neuronowych, wykład 12 Łańcuchy Markowa

Elementy inteligencji obliczeniowej

Temat: Sztuczne Sieci Neuronowe. Instrukcja do ćwiczeń przedmiotu INŻYNIERIA WIEDZY I SYSTEMY EKSPERTOWE

Wstęp do sieci neuronowych, wykład 9 Sieci rekurencyjne. Autoasocjator Hopfielda

Zastosowania sieci neuronowych

Zapisywanie algorytmów w języku programowania

Podstawy Sztucznej Inteligencji (PSZT)

Inteligentne systemy decyzyjne: Uczenie maszynowe sztuczne sieci neuronowe

Literatura. Sztuczne sieci neuronowe. Przepływ informacji w systemie nerwowym. Budowa i działanie mózgu

Temat: Sieci neuronowe oraz technologia CUDA

Instytut Fizyki Politechniki Łódzkiej Laboratorium Metod Analizy Danych Doświadczalnych Ćwiczenie 3 Generator liczb losowych o rozkładzie Rayleigha.

Programowanie w języku C++ Grażyna Koba

Wstęp do sieci neuronowych, wykład 11 Łańcuchy Markova

Systemy uczące się Lab 4

Wstęp do sieci neuronowych, wykład 07 Uczenie nienadzorowane cd.

Uczenie sieci typu MLP

Oprogramowanie Systemów Obrazowania SIECI NEURONOWE

Wstęp do sieci neuronowych, wykład 9 Sieci rekurencyjne. Autoasocjator Hopfielda

Wstęp do sieci neuronowych, wykład 03 Warstwy RBF, jednostka Adaline.

Programowanie i techniki algorytmiczne

Sieci neuronowe i algorytmy uczenia Czyli co i jak andrzej.rusiecki.staff.iiar.pwr.wroc.pl s.

Wstęp do teorii sztucznej inteligencji Wykład II. Uczenie sztucznych neuronów.

Algorytmy stochastyczne, wykład 01 Podstawowy algorytm genetyczny

Sieci neuronowe i ich ciekawe zastosowania. Autor: Wojciech Jamrozy III rok SMP / Informatyka

Temat: ANFIS + TS w zadaniach. Instrukcja do ćwiczeń przedmiotu INŻYNIERIA WIEDZY I SYSTEMY EKSPERTOWE

Najprostsze modele sieci z rekurencją. sieci Hopfielda; sieci uczone regułą Hebba; sieć Hamminga;

sieci jednowarstwowe w MATLABie LABORKA Piotr Ciskowski

WYMAGANIA EDUKACYJNE Z MATEMATYKI W KLASIE DRUGIEJ LICEUM

Wprowadzenie do Sieci Neuronowych Laboratorium 06 Algorytm wstecznej propagacji błędu

Przedmiotowe Ocenianie Z Matematyki Liceum Ogólnokształcące obowiązuje w roku szkolnym 2016 / 2017

PRZEWODNIK PO PRZEDMIOCIE

EGZAMIN MATURALNY W ROKU SZKOLNYM 2014/2015

Optymalizacja ciągła

Wymagania edukacyjne na poszczególne oceny To się liczy! Branżowa Szkoła I stopnia, klasa 1 po szkole podstawowej

Rok akademicki: 2012/2013 Kod: JFM s Punkty ECTS: 3. Poziom studiów: Studia I stopnia Forma i tryb studiów: Stacjonarne

Metody numeryczne Technika obliczeniowa i symulacyjna Sem. 2, EiT, 2014/2015

ALGORYTMY SZTUCZNEJ INTELIGENCJI

WYKORZYSTANIE SIECI NEURONOWEJ DO BADANIA WPŁYWU WYDOBYCIA NA SEJSMICZNOŚĆ W KOPALNIACH WĘGLA KAMIENNEGO. Stanisław Kowalik (Poland, Gliwice)

Rozdział 1 Sztuczne sieci neuronowe. Materiały do zajęć dydaktycznych - na podstawie dokumentacji programu Matlab opracował Dariusz Grzesiak

Zadania z rysowania i dopasowania funkcji

Sztuczne sieci neuronowe

Programowanie w języku Python. Grażyna Koba

Podstawy Informatyki. Algorytmy i ich poprawność

Sieć Hopfielda. Sieci rekurencyjne. Ewa Adamus. ZUT Wydział Informatyki Instytut Sztucznej Inteligencji i Metod Matematycznych.

Sieci neuronowe w Statistica

1. Logika, funkcje logiczne, preceptron.

Algorytmy decyzyjne będące alternatywą dla sieci neuronowych

Inteligentne systemy informacyjne

Wstęp do sieci neuronowych, wykład 07 Uczenie nienadzorowane.

Laboratorium nr 1. i 2.

2. Graficzna prezentacja algorytmów

Wstęp do Sieci Neuronowych

Algorytmy sztucznej inteligencji

Układy równań i nierówności liniowych

Metody Numeryczne (Matematyka) Politechnika Warszawska

AKADEMIA MORSKA W SZCZECINIE WI-ET / IIT / ZTT. Instrukcja do zajęc laboratoryjnych nr 3 AUTOMATYKA

KARTA KURSU. Kod Punktacja ECTS* 1

Sztuczne sieci neuronowe Ćwiczenia. Piotr Fulmański, Marta Grzanek

Rozpoznawanie obrazów

Podstawy sztucznej inteligencji

Transkrypt:

Wprowadzenie do Sieci Neuronowych Laboratorium Organizacja zajęć. Perceptron. Jarosław Piersa --3 Organizacja zajęć. Co będzie Dużo programowania (pisanie programó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 na zajęciach, Obecność wymagana.. Zaliczenie Zaliczenie laboratoriów na podstawie implementowania omawianych algorytmów. Każde zadanie jest punktowane za punkt. Dopuszczane są oceny wymierne (czyt. ułamkowe za brzydko napisane zadania) oraz powyżej jednego punktu za wybitnie napisane zadania. Bonus za oddawanie zadań w ciągu jednego tygodnia oraz za prezentowanie na forum grupy. Punktacja ocena punkty dst 3p. db 4p. bdb 5p. bdb+ 6p. lub więcej Dodatkowo na ocenę bdb+ wymagane jest oddanie zadań z różnych działów: modele pojedynczych neuronów (perceptrony, maszyny liniowe, adaline), wsteczna propagacja błędu, uczenie bez nauczyciela (samoorganizacja topologiczna, PCA), sieci rekurencyjne (autoasocjator Hopfielda, optymalizacja grafowa, maszyny Boltzmanna).

Wymagana jest terminowość: przynajmniej jeden program (z działu perceptron) do końca października, przynajmniej dwa programy do końca listopada, przynajmniej trzy programy do końca stycznia, wszystkie programy przed egzaminem..3 Wskazówki Na co należy zwrócić uwagę pisząc programy: (Zależnie od autora) zadania mogą być prezentowane na forum grupy ćwiczeniowej. Do wykorzystania projektor w sali laboratoryjnej. Prezentacja powinna trwać 5 do minut. W trakcie prezentacji należy przedstawić funkcjonalności programu, zastosowane rozwiązanie, wykorzystaną technologię, zaakcentować rzeczy, którymi autor chciałby się pochwalić. Prezentację może kończyć krótka dyskusja. Bonus do oceny za prezentowanie programu: +. do +. p. (Jeżeli autor nie chce prezentować publicznie) Zadania będą sprawdzane z autorem siedzącym obok, w trakcie laboratorium lub na konsultacjach. Zadania nie będą sprawdzane zaocznie. Zadania powinny być napisane tak, aby umożliwić prostą i szybką ocenę poprawności działania po efektach (ocena poprawności poprzez wypisanie -nastu stron liczb na stdout nie jest ani prosta ani szybka!) Program w zależności od autora będzie uruchamiany na laptopie (może być to laptop autora) bądź komputerze w sali laboratoryjnej. Prosimy upewnić się, że mają Państwo pod ręką wszystkie wymagane środowiska lub/i biblioteki (dotnet framework, jdk, interpreter pythona, karta graficzna obsługująca Cuda etc). Podczas sprawdzania należy mieć kod źródłowy programu (oraz edytor podświetlający składnię). Fragmentem zaliczenia może być dodatkowe pytanie o algorytm, sposób implementacji, zagadnienia teoretyczne powiązane z zadaniem. Może być to dopisanie dodatkowej funkcjonalności w trakcie sprawdzania. Im później oddawane zadanie tym większa liczba dodatkowych pytań. Programy korzystające z gotowych bibliotek do sieci neuronowych nie będą akceptowane. Teoretycznie dopuszczane są programy z tekstowym interfejsem użytkownika. Jeżeli jednak autor nie jest mistrzem ascii-artu, to gorąco rekomendowane jest zrobienie interfejsu graficzny..4 Program zajęć Pojedynczy neuron, model perceptronu prostego, maszyny liniowej, Adaline, Sieci skierowane, 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.

Literatura [] R. Rojas Neural Networks, A Systematic Introduction, Springer 996, [] P. Peretto, Introduction to Modeling Neural Networks, Cambridge University Press 994, [3] T. Schreiber, Notatki do wykładu WSN, [4] E. Izhikevich, Dynamical Systems in Neuroscience, 7 Massachusetts Institute of Technology [5] C. Bishop, Neural Networks for Pattern Recognition, Oxford University Press 995. Powtórzenie. Model Perceptronu Perceptronem nazywamy następujący model składający się z: określonej liczby wejść n, wagi stowarzyszonej z każdym wejściem wi, i =..n funkcji aktywującej f Dynamika perceptronu. Mając n wejść x...xn liczbowych perceptron zwraca wartość n X O = f( xi wi ) () i= Zakładając progową postać funkcji, perceptron działa jak klasyfikator, dla danych x,.., xn zwraca całkowitą liczbę będącą klasą, do której dane należą. out Rysunek : Schemat działania perceptronu 3

. Postacie funkcji aktywującej Identyczność f (s) = s taka jednostka liczy po prostu sumę ważoną wejść, Funkcja progowa (bipolarna) f (s) = s<p s p Wartość p może być dodatkowym parametrem opisującym perceptron. Ten typ funkcji modeluje wysyłanie impulsu po przekroczeniu pewnego progu, które to zachowanie z pewnym przybliżeniem charakteryzuje komórki neuronowe. funkcja polarna. Jest to funkcja zalecana do używania w implementacji. s<p f (s) = + s p Funkcja podobna do poprzedniej z tą różnicą, że wartość nie jest elementem neutralnym dodawania i odpowiedź negatywna może mieć pewien wpływ. Sigmoida f (s) = σ(s) = + exp( s).5 = = =5 =.5 -.5-3 - - 3 Rysunek : Funkcja sigmoidalna z parametrami β =, β = 3, β =. Funkcja sigmoidalna może tu dziwić. Wymaga dzielenia i potęgowania, czyli więcej obliczeń, co nie powinno być wskazane przy wielokrotnym wykonywaniu. Jednakże jest ciągła i różniczkowalna, co ma zasadnicze znaczenie przy algorytmach uczenia i przybliża funkcją bipolarną. Ponadto zachodzi σ (s) = σ(s) ( σ(s)) Symetryczna sigmoida (tangens hiperboliczny) f (s) = σ(s) = exp( s) + exp( s) s = tanh( ) 4

.5 beta = beta = 3 beta = y.5 -.5 - -.5-4 - 4 x Rysunek 3: Symetryczna sigmoidalna..3 Perceptron progowy W praktyce będziemy korzystać z jednostki z polarną funkcją aktywacji. Tj. neuron ma wagi w,.., wn, próg θ oraz zwraca: P Pi wi xi < θ O(x) = + i w i xi θ.4 Perceptron z obciążeniem (biasem) Alternatywnie będziemy korzystać z modelu składającego się z: n + wag w, w,..., wn. Waga w jest stowarzyszona ze sztucznym n + szym wejściem x, które zawsze jest równe +. Perceptron zwraca wartość Pn wi xi < Pi= O(x) = n + i= wi xi.5 Uczenie perceptronu (i) (i) Dany niech będzie zestaw k przykładów E = E ()...E (k), gdzie E (i) = (e,..., en ) RN i odpowiadające im poprawne wyniki T ()...T (k). Dany też mamy perceptron o N wejściach i jednym wyjściu. Rozważmy przykład E j i odpowiadającą mu poprawną odpowiedź T j, niech sieć z bieżącym zestawem wag zwróci wartość O. Rozważmy błąd: ERR = T j O Jeżeli jest dodatni to musimy zwiększyć O, jeżeli wejście eji >, to zwiększenie wagi wi zwiększy O, jeżeli eji < to zmniejszenie wi zwiększy O. Jeżeli błąd ERR jest ujemny to musimy zmniejszyć O. Podobnie rozumując musimy zmniejszyć wagi wi jeśli wejście eji > i zwiększyć wi w przeciwnym wypadku tj. eji <. Podsumowując te rozważania otrzymujemy algorytm:. Losujemy wagi wi małe, blisko. 5

. 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 = (klasyfikacja jest poprawna), to wróć do, 6. W przeciwnym wypadku uaktualniamy wszystkie wagi zgodnie ze wzorem wi := wi + η ERR Eij θ := θ ERR η > jest stałą uczenia. 7. Jeżeli sieć klasyfikuje poprawnie wszystkie (większość) przykłady to kończymy, wpw wracamy do kroku. UWAGA: Powyższego algorytmu nie należy stosować w implementacjach! UWAGA: W 969 matematycy Minsky oraz Papert udowodnili, że pojedynczy perceptron jest w stanie poprawnie klasyfikować wyłącznie problemy liniowo separowalne. 6.5 4.5 - -.5-4 - -6-6 -4-4 (a) Problem separowalny liniowo. 6 -.5 -.5 - -.5.5.5 (b) Problem nieseparowalny. Rysunek 4: Problem liniowo separowalny (po lewej) i nieseparowalny (po prawej) Algorytm sformułowany powyżej nie zatrzyma się, jeżeli nie istnieją wagi, dla których przykłady uczące są poprawnie klasyfikowane. A nawet jeżeli (zostanie to wymuszone ograniczeniem ilości iteracji), to nie gwarantuje, że zwrócone wagi będą optymalne..6 Algorytm Uczenia Kieszonkowego / Pocket Learning Algorithm Dane: Perceptron o n wejściach, k przykładów uczących E...E k wraz z poprawnymi odpowiedziami T...T k. Zakładamy, że funkcja aktywująca ma postać polarną. W tej sytuacji dodatkowym parametrem uczącym jest wartość progu p. Wynik: Wartości wag wi oraz progu p które dają optymalną klasyfikację. 6

. Losujemy wagi i próg wokół,. Przypisujemy układowi wag zerowy czas życia i zapisujemy go w kieszonce jako rekordzistę, 3. Przebiegamy przykłady losując z listy, 4. Dla wybranego przykładu E j sprawdzamy, czy E j jest dobrze klasyfikowany, 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 3. Jeśli nie, to korygujemy wagi i próg: wi := wi + η ERR Eij θ := θ ERR Nowemu układowi wag przypisujemy zerowy czas życia. Wracamy do 3. 5. Algorytm kończymy po przebiegnięciu odpowiedniej liczby iteracji. Zwracamy najbardziej żywotny zestaw wag..7 Algorytm Uczenia z Zapadką / Ratchet Learning Algorithm Dane i wyjście jak wyżej.. Losujemy wagi i próg wokół, przypisujemy układowi wag zerowy czas życia i zapisujemy go jako rekordzistę,. Przebiegamy przykłady losując z listy, oznaczmy wylosowany przykład jako E j, 3. Sprawdzamy czy E j jest dobrze klasyfikowany (ERR = T j O = ), Jeśli tak, to 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. Jeśli nie, to korygujemy wagi i próg: wi := wi + η ERR Eij θ := θ ERR Nowemu układowi wag przypisujemy zerowy czas życia. Wracamy do. 4. Algorytm kończymy po przebiegnięciu odpowiedniej liczby iteracji. Zwracamy najbardziej żywotny zestaw wag. 3 Zadania na zajęcia Zadania przeznaczone na laboratoria. 3. Zadanie Zaimplementuj pojedynczy perceptron progowy. Tj. dane P są wagi (w, w, w ) i niech x = +. Dla zadanego wejścia (x, x ) zwraca klasyfikację + jeżeli i xi wi i w przeciwnym wypadku. Język programowania dowolny, zalecany z szybkimi bibliotekami / frontendem do generowania wykresów: Matlab, Octave, Maple, R. 7

3. Zadanie Napisz program, który dla zadanych wag perceptronu wyświetli klasyfikację na fragmencie płaszczyzny {x, x + d, x + d,..., x } {y, y + d, y + d,..., y }. 3.3 Zadanie 3 Wyznacz kanoniczną postać prostej separującej dane dla perceptronu z zadania (lub napisz program, który ją wyznacza). Wyświetl ją na wykresie w programie. Postać kanoniczna prostej: y = ax + b gdzie a, b R. 3.4 Zadanie 4 (Rachunkowe) Pokaż, że definicje perceptronu progowego i z biasem są równoważne. 3.5 Zadanie 5 (Rachunkowe) σ(s) = + exp( s) Pokaż, że σ(s) = exp( s) + exp( s) 4 Zadania programistyczne (do wyboru) 4. Zadanie. Uczenie klasyfikacji punktów Dany jest plik (kilka plików) z listą punktów na płaszczyźnie oraz poprawną klasyfikacją punktu. Klasyfikacja jest binarna: lub (+, -). # komentarze, informacje o pliku, itp # (ewentualnie wymiar przestrzeni i liczba przykładów uczących) x y o x y o... Napisz program, który nauczy perceptron klasyfikacji na zadanej liście przykładów. Dodatkowo program powinien mieć możliwość wczytać (lub odczytać z kliknięcia myszką) parametry innych punktów (tj. z poza listy uczącej) i wyświetlić je na płaszczyźnie wraz z oznaczeniem klasy. Ponadto dla przykładów z listy uczącej powinno być oznaczenie zarówno o oczekiwanej (z listy) jak i faktycznej (tj. zwróconej przez perceptron) klasyfikacji, np. oczekiwana klasyfikacja poprzez kształt, faktyczna poprzez kolor. Program powinien wyświetlić przynajmniej odsetek poprawnie klasyfikowanych przykładów oraz prostą / płaszczyznę separującą. Pomysły na rozbudowanie programu: analogiczne zadanie dla punktów w R 3, własne pliki uczące, możliwość wyklikania danych uczących w programie, klasyfikacja, która nie jest binarna (3 klasy, 4 klasy...), 8

statystyki dla danych wejściowych oraz wyników uczenia (moda, mediana, odchylenie standardowe), automatyczny zapis wyników do pliku, zapis wykresu do pliku ps, pdf, svg, png... (*) analogiczne zadanie dla R 4, 4. Zadanie. Rozpoznawanie cyfr / liter / obrazów Napisz program, który wykorzystuje maszynę liniową lub kilka (naście) perceptronów do rozpoznawania cyfr (lub liter uwaga na liczbę mnogą! program powinien rozpoznawać kilka cyfr). Cyfry powinny być wyświetlane jako układy pikseli na matrycy o niewielkich wymiarach (max. pikseli, oczywiście mowa tu o pikselach na cyfrę, wyświetlanie może być z dużym powiększeniem). Program dodatkowo powinien mieć możliwość wyklikania cyfry (lub czegoś cyfro-podobnego) i automatycznej klasyfikacji. Pomysły na rozbudowanie programu: Wejścia uczące można zaburzać (tj. odwracać piksel z niewielkim prawdopodobieństwem niezależnie dla danego piksela). Można w ten sposób uzyskać częściową odporność na szumy, Aby uzyskać rozpoznawanie niezmiennicze ze względu na przesunięcia można wykorzystać dyskretną transformatę Fouriera. Wartości transformaty są traktowane jako dodatkowe wejścia do perceptronu, Rozpoznawanie liczb w systemie szesnastkowym, Rozpoznawanie liter (wymaga większej matrycy!), Rozpoznawanie kształtów (okrąg, kwadrat, linia, domek itd), Rozpoznawanie symboliczne http://en.akinator.com/ Rozpoznawanie tekstu pisanego (np. całych liczb) za pomocą myszki na matrycy w programie. 4.3 Zadanie 3*. Neuron Hodgkina-Huxleya (dla chętnych) Zapoznaj się z modelem komórki neuronowej opisanym w terminach układów dynamicznych. Zaimplementuj model Hodgkina-Huxleya. Informacje o modelu można znaleźć w rozdziale drugim książki E. Izhikevich Dynamical Systems in Neuroscience, 7 MIT Press. 9