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

Podobne dokumenty
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 laboratorium 01 Organizacja zajęć. Perceptron prosty

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 02 Perceptrony c.d. Maszyna liniowa.

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

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

Wprowadzenie do Sieci Neuronowych lista zadań 1

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

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

Uczenie sieci neuronowych i bayesowskich

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

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

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

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

Elementy inteligencji obliczeniowej

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

Sztuczna Inteligencja Tematy projektów Sieci Neuronowe

Podstawy Sztucznej Inteligencji (PSZT)

Wstęp do Sieci Neuronowych

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

Metody Sztucznej Inteligencji II

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

Zagadnienia optymalizacji i aproksymacji. Sieci neuronowe.

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

Wprowadzenie do Sieci Neuronowych Laboratorium 04 Algorytmy konstrukcyjne dla sieci skierowanych

Wstęp do sztucznych sieci neuronowych

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

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

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.

ID1SII4. Informatyka I stopień (I stopień / II stopień) ogólnoakademicki (ogólno akademicki / praktyczny) stacjonarne (stacjonarne / niestacjonarne)

Wprowadzenie do Sieci Neuronowych Laboratorium 02 Perceptron prosty cd

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

Wstęp do Sieci Neuronowych

Podstawy sztucznej inteligencji

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

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

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

Inteligentne systemy przeciw atakom sieciowym

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

1. Logika, funkcje logiczne, preceptron.

Sztuczne sieci neuronowe

wiedzy Sieci neuronowe

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

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

MODELOWANIE RZECZYWISTOŚCI

Wstęp do sieci neuronowych, wykład 09, Walidacja jakości uczenia. Metody statystyczne.

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

Wykład 1: Wprowadzenie do sieci neuronowych

Wprowadzenie do sieci neuronowych i zagadnień deep learning

OCENA DZIAŁANIA AE. METODY HEURYSTYCZNE wykład 4 LOSOWOŚĆ W AE KRZYWE ZBIEŻNOŚCI ANALIZA STATYSTYCZNA:

Wstęp do sieci neuronowych, wykład 15, Neuron Hodgkina-Huxleya

Zastosowania sieci neuronowych

SIECI NEURONOWE Wprowadzenie

Temat: Sieci neuronowe oraz technologia CUDA

Inteligentne systemy decyzyjne: Uczenie maszynowe sztuczne sieci neuronowe

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

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

Wstęp do sieci neuronowych, wykład 13-14, Walidacja jakości uczenia. Metody statystyczne.

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

Obliczenia Naturalne - Sztuczne sieci neuronowe

Wrocław University of Technology. Uczenie głębokie. Maciej Zięba

KARTA MODUŁU KSZTAŁCENIA

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

Wykład wprowadzający

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

Zastosowania sieci neuronowych

BIOCYBERNETYKA SIECI NEURONOWE. Akademia Górniczo-Hutnicza. Wydział Elektrotechniki, Automatyki, Informatyki i Inżynierii Biomedycznej.

Systemy Inteligentnego Przetwarzania wykład 1: sieci elementarne

Sztuczne sieci neuronowe

Sylabus modułu kształcenia na studiach wyższych. Nazwa Wydziału. Nazwa jednostki prowadzącej moduł Nazwa modułu kształcenia

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

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

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

Deep Learning na przykładzie Deep Belief Networks

Metody systemowe i decyzyjne w informatyce

Systemy agentowe. Sieci neuronowe. Jędrzej Potoniec

SIECI NEURONOWE Liniowe i nieliniowe sieci neuronowe

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

Metody systemowe i decyzyjne w informatyce

Sieci neuronowe do przetwarzania informacji / Stanisław Osowski. wyd. 3. Warszawa, Spis treści

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

ESI: Perceptrony proste i liniowe

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

Zastosowanie optymalizacji rojem cząstek (PSO) w procesie uczenia wielowarstwowej sieci neuronowej w problemie lokalizacyjnym

Optymalizacja systemów

Informatyka I stopień (I stopień / II stopień) ogólno akademicki (ogólno akademicki / praktyczny) kierunkowy (podstawowy / kierunkowy / inny HES)

PRZEWODNIK PO PRZEDMIOCIE

METODY INŻYNIERII WIEDZY

Sieci M. I. Jordana. Sieci rekurencyjne z parametrycznym biasem. Leszek Rybicki. 30 listopada Leszek Rybicki Sieci M. I.

PRZEWODNIK PO PRZEDMIOCIE

Systemy agentowe. Sieci neuronowe. Jędrzej Potoniec

ALGORYTMY SZTUCZNEJ INTELIGENCJI

Sztuczne sieci neuronowe. Krzysztof A. Cyran POLITECHNIKA ŚLĄSKA Instytut Informatyki, p. 335

PRZEWODNIK PO PRZEDMIOCIE

wiedzy Sieci neuronowe (c.d.)

Algorytmy wstecznej propagacji sieci neuronowych

Wstęp do sieci neuronowych, wykład 14 Maszyna Boltzmanna

Transkrypt:

Wstęp do sieci neuronowych, wykład 01 Neuron biologiczny. Model perceptronu prostego. M. Czoków, J. Piersa, A. Rutkowski Wydział Matematyki i Informatyki, Uniwersytet Mikołaja Kopernika 2017-10-04 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

In memoriam prof. dr hab. Tomasz Schreiber (1975-2010) Wikipedia: Tomasz Schreiber Wspomnienie o Tomku Schreiberze

Podziękowania Podziękowania dla Jarosława Piersy i Mai Czoków, którzy są autorami większości materiałów do poniższego wykładu.

1 Organizacja przedmiotu Organizacja przedmiotu 2 Neuron biologiczny Sztuczne sieci neuronowe Sztuczna inteligencja Organizacja przedmiotu 3 Model perceptronu prostego Postacie funkcji aktywującej geometryczna Przykłady 4

Zaliczenie Organizacja przedmiotu Organizacja przedmiotu Zaliczenie wykładu: egzamin pisemny wymagane jest zaliczenie laboratoriów przed podejściem do egzaminu

Zaliczenie Organizacja przedmiotu Organizacja przedmiotu Zaliczenie laboratoriów: implementacja programów (3 6 programów) ocena BDB+ z laboratorium zwalnia z egzaminu

Program przedmiotu Organizacja przedmiotu 1 Biologiczny model neuronu 2 Model perceptronu prostego 3 Inne modele pojedynczego neuronu: maszyna liniowa, Adaline 4 Sieci skierowane, algorytm wstecznej propagacji błędu (BEP) 5 Uczenie bez nauczyciela, samoorganizacja topologiczna 6 Analiza składowych głównych (PCA) 7 Sieci rekurencyjne, Sieć Hopfielda, Maszyny Boltzmanna i symulowane wyżarzanie 8 Splotowe sieci neuronowe (CNN) 9 Przegląd oprogramowania 10 Maszyny Wektorów Nośnych (SVM Support Vektor Machines)

Literatura Organizacja przedmiotu Organizacja przedmiotu R. Rojas Neural Networks, A Systematic Introduction, Springer 1996, P. Peretto, Introduction to Modeling Neural Networks, Cambridge University Press 1994, S. I. Gallant Neural Network Learning and Expert Systems, The MIT Press, 1993, L. Rutkowski, Metody i techniki sztucznej inteligencji, Wydawnictwo Naukowe PWN 2005,

Literatura Organizacja przedmiotu Organizacja przedmiotu T. Schreiber, Notatki do wykładu WSN, Ian Goodfellow, Yoshua Bengio, Aaron Courville, Deep Learning (on-line), J. Żurada, M. Barski, W. Jędruch, Sztuczne sieci neuronowe, Wydawnictwo Naukowe PWN 1996, E. Izhikevich, Dynamical Systems in Neuroscience, MIT 2007, C. Bishop, Neural Networks for Pattern Recognition, Oxford University Press 1995.

Literatura Organizacja przedmiotu Organizacja przedmiotu Słowa kluczowe: Artificial Nneural Network (ANN), Machine Learning (ML) https://www.reddit.com/r/machinelearning/ Scholarpedia: Computational Neuroscience

1 Organizacja przedmiotu Organizacja przedmiotu 2 Neuron biologiczny Sztuczne sieci neuronowe Sztuczna inteligencja Neuron biologiczny Sztuczne sieci neuronowe Sztuczna inteligencja 3 Model perceptronu prostego Postacie funkcji aktywującej geometryczna Przykłady 4

Mózg Organizacja przedmiotu Neuron biologiczny Sztuczne sieci neuronowe Sztuczna inteligencja Płat czołowy (Frontal lobe) Płat ciemieniowy (Parietal lobe) Płat potyliczny (Occipal lobe) Płat skroniowy (Temporal lobe) Rdzeń kręgowy (Spinal cord) Móżdżek (Cerebellum) Rysunek za http://en.wikipedia.org/wiki/cerebral_cortex, autor Henry Gray, public domain.

Mózg Organizacja przedmiotu Neuron biologiczny Sztuczne sieci neuronowe Sztuczna inteligencja Płat czołowy (Frontal lobe) Płat ciemieniowy (Parietal lobe) Płat potyliczny (Occipal lobe) Płat skroniowy (Temporal lobe) Rdzeń kręgowy (Spinal cord) Móżdżek (Cerebellum) Rysunek za http://en.wikipedia.org/wiki/cerebral_cortex, autor Henry Gray, public domain.

Komórka neuronowa Neuron biologiczny Sztuczne sieci neuronowe Sztuczna inteligencja Dendryty Jądro neuronu Ciało komórki Przewężenie Ranviera Komórka Schwanna Otoczka mielinowa Akson Zakończenia aksonów Rysunek za http://pl.wikipedia.org/w/index.php?title=plik:neuron-figure_pl.svg, Nicolas Rougier, 2007.

Możliwości obliczeniowe Neuron biologiczny Sztuczne sieci neuronowe Sztuczna inteligencja komputer grid 1 mózg człowieka CPU 1 64 CPU 10 7 10 11 neuronów Pojemność 10 10 B RAM, 1.3 10 15 B RAM 10 11 neuronów 10 13 B HDD 10 15 B?? 10 14 synaps Czas 1 cyklu 10 9 s 10 9 s 10 3 s FLOPS 10 12(13) 9.3 10 16 10 18?? moc 1kW 15371kW < 0.1kW 1 http://www.top500.org/, 2017-06

Notatka historyczna Neuron biologiczny Sztuczne sieci neuronowe Sztuczna inteligencja 1949, D. Hebb, postulat Hebba, 1958, F. Rosenblatt, model perceptronu, 1969, M. Minksky i S. Papert, sformułowanie ograniczeń perceptronu zob.: AI winter (wikipedia), 1974, P. Werbos et al., algorytm propagacji wstecznej, 1980, K. Fukushima, neocognitron - inspiracja dla splotowych sieci neuronowych 1982, J. Hopfield, sieci asocjacyjne, 1986, D. Rumelhart et al., zastosowanie BEP (ang. back error propagation) do uczenia sieci warstwowych, 1983-1987, G. Hinton, T. Sejnowski, maszyny Boltzmanna,

2016 Organizacja przedmiotu Neuron biologiczny Sztuczne sieci neuronowe Sztuczna inteligencja

AI i CI Organizacja przedmiotu Neuron biologiczny Sztuczne sieci neuronowe Sztuczna inteligencja Zob.: http://www.is.umk.pl/~duch/wyklady/ai/ai01.ppt

1 Organizacja przedmiotu Organizacja przedmiotu 2 Neuron biologiczny Sztuczne sieci neuronowe Sztuczna inteligencja Model perceptronu prostego Postacie funkcji aktywującej geometryczna Przykłady 3 Model perceptronu prostego Postacie funkcji aktywującej geometryczna Przykłady 4

Model perceptronu Model perceptronu prostego Postacie funkcji aktywującej geometryczna Przykłady

Model perceptronu Model perceptronu prostego Postacie funkcji aktywującej geometryczna Przykłady out

Model perceptronu Model perceptronu prostego Postacie funkcji aktywującej geometryczna Przykłady Perceptron research 1950-60.mp4 (YouTube)

Model perceptronu Model perceptronu prostego Postacie funkcji aktywującej geometryczna Przykłady Perceptron układ składający się z n wejść x 1,..., x n (argumenty do funkcji) n wag stowarzyszonych z wejściami w 1,..., w n R funkcji aktywacji f : R R.

Dynamika perceptronu Model perceptronu prostego Postacie funkcji aktywującej geometryczna Przykłady Na wejściu x = (x 1,..., x n ) perceptron zwróci wartość: n O(x 1,..., x n ) = f ( w i x i ) = f (w t x) i=1

Postacie funkcji aktywującej Model perceptronu prostego Postacie funkcji aktywującej geometryczna Przykłady Funkcja progowa f (x) = { 1 x < θ +1 x θ 1.5 1 0.5 0-0.5-1 -1.5-3 -2-1 0 1 2 3

Dynamika perceptronu progowego Model perceptronu prostego Postacie funkcji aktywującej geometryczna Przykłady Na wejściu x = (x 1,.., x n ) perceptron progowy zwróci wartość: { 1 n O(x 1,..., x n ) = i=1 w ix i < θ +1 n i=1 w ix i θ

Postacie funkcji aktywującej Model perceptronu prostego Postacie funkcji aktywującej geometryczna Przykłady Funkcja znakowa f (x) = { 1 x < 0 +1 x 0 1.5 1 0.5 0-0.5-1 -1.5-3 -2-1 0 1 2 3

Postacie funkcji aktywującej Model perceptronu prostego Postacie funkcji aktywującej geometryczna Przykłady Funkcja bipolarna (binarna) f (x) = { 0 x < 0 +1 x 0 1.5 1 0.5 0-0.5-1 -1.5-3 -2-1 0 1 2 3

Postacie funkcji aktywującej Model perceptronu prostego Postacie funkcji aktywującej geometryczna Przykłady Sigmoida f (x) = σ(x) = 1 1 + exp( βx) 1.5 =1 =2 =5 =10 1 0.5 0-0.5-3 -2-1 0 1 2 3

y Organizacja przedmiotu Postacie funkcji aktywującej Model perceptronu prostego Postacie funkcji aktywującej geometryczna Przykłady tangens hiperboliczny (symetryczna sigmoida) f (x) = tanh( 1 1 exp( βx) βx) = 2 1 + exp( βx) 1.5 beta = 1 beta = 3 beta = 10 1 0.5 0-0.5-1 -1.5-4 -2 0 2 4 x

Postacie funkcji aktywującej Model perceptronu prostego Postacie funkcji aktywującej geometryczna Przykłady Funkcja identycznościowa f (x) = x 3 2 1 0-1 -2-3 -3-2 -1 0 1 2 3

Postacie funkcji aktywującej Model perceptronu prostego Postacie funkcji aktywującej geometryczna Przykłady Funkcja afiniczna f (x) = ax + b 3 2 1 0-1 -2-3 -3-2 -1 0 1 2 3

Perceptron z biasem (obciążeniem) Model perceptronu prostego Postacie funkcji aktywującej geometryczna Przykłady n wejść x 1,..., x n, n + 1 wag w 0, w 1,..., x n, przyjmuje się dodatkowe, zawsze włączone wejście x 0 = +1 zwracana wartość { 1; n O(x 1,..., x n ) = i=0 w ix i < 0 +1; n i=0 w ix i 0, perceptron z biasem jest równoważny jednostce z progową funkcją aktywującą demo: Blender

Perceptron z biasem (obciążeniem) Model perceptronu prostego Postacie funkcji aktywującej geometryczna Przykłady out

Dynamika perceptronu Model perceptronu prostego Postacie funkcji aktywującej geometryczna Przykłady plik YouTube

Przykład Organizacja przedmiotu Model perceptronu prostego Postacie funkcji aktywującej geometryczna Przykłady Rozpoznawanie znaku: Każdy piksel jest jednym wejściem, Perceptron rozpoznaje czy piksele układają się w symbol. click

geometryczna Model perceptronu prostego Postacie funkcji aktywującej geometryczna Przykłady Rozważamy jednostkę z funkcją progową tj. { 1 n O(x 1,..., x n ) = i=1 w ix i < θ +1 n i=1 w ix i θ Jak wygląda brzeg rozdzielający obszary o różnych aktywacjach?

geometryczna Model perceptronu prostego Postacie funkcji aktywującej geometryczna Przykłady Prosty przypadek 1d jedno wejście x 1, jedna waga w 1 i próg θ { 1 w1 x O(x 1 ) = 1 < θ x 1 < θ/w 1 +1 w 1 x 1 θ x 1 θ/w 1 Brzeg rozdzielający jest punktem, który dzieli prostą rzeczywistą na dwie półproste.

geometryczna Model perceptronu prostego Postacie funkcji aktywującej geometryczna Przykłady W przypadku 1d brzeg rozdzielający jest punktem dzielącym prostą. 3 2 1 0-1 -2-3 -3-2 -1 0 1 2 3

geometryczna Model perceptronu prostego Postacie funkcji aktywującej geometryczna Przykłady Prosty przypadek 2d dwa wejścia x 1, x 2, dwie wagi w 1, w 2 i próg θ O(x 1 ) = Wygląda znajomo? 1 w 1 x 1 + w 2 x 2 < θ x 2 < w 1 w 2 x 1 + θ w 2 +1 w 1 x 1 + w 2 x 2 θ x 2 w 1 w 2 x 1 + θ w 2

geometryczna Model perceptronu prostego Postacie funkcji aktywującej geometryczna Przykłady Prosty przypadek 2d dwa wejścia x 1, x 2, dwie wagi w 1, w 2 i próg θ O(x 1 ) = Wygląda znajomo? 1 w 1 x 1 + w 2 x 2 < θ x 2 < w 1 w 2 x 1 + θ w 2 +1 w 1 x 1 + w 2 x 2 θ x 2 w 1 w 2 x 1 + θ w 2 A teraz? ax + by = c y = a b x + c b

geometryczna Model perceptronu prostego Postacie funkcji aktywującej geometryczna Przykłady W przypadku 2d brzeg rozdzielający jest prostą dzielącą płaszczyznę. 6 4 2 0-2 -4-6 -6-4 -2 0 2 4 6

geometryczna Model perceptronu prostego Postacie funkcji aktywującej geometryczna Przykłady W przypadku 3d trzy wejścia x 1, x 2, x 3, trzy wagi w 1, w 2, w 3 i próg θ { 1 w1 x O(x 1 ) = 1 + w 2 x 2 + w 3 x 3 < θ +1 w 1 x 1 + w 2 x 2 + w 3 x 3 θ Równanie ogólne płaszczyzny ax + by + cz + d = 0 Równanie kierunkowe z = a c x b c y d c

geometryczna Model perceptronu prostego Postacie funkcji aktywującej geometryczna Przykłady W przypadku 3d jest to płaszczyzna rozdzielająca przestrzeń. 15 10 5 0-5 -6-10 10 5 0-2 -4 0 2-5 4-106

Problem XOR Model perceptronu prostego Postacie funkcji aktywującej geometryczna Przykłady Prosty przykład dla którego pojedynczy perceptron nie będzie wstanie zwrócić stuprocentowej klasyfikacji 1.5 1 0.5 0-0.5-1 -1.5-1.5-1 -0.5 0 0.5 1 1.5

1 Organizacja przedmiotu Organizacja przedmiotu 2 Neuron biologiczny Sztuczne sieci neuronowe Sztuczna inteligencja 3 Model perceptronu prostego Postacie funkcji aktywującej geometryczna Przykłady 4

Problem uczenia perceptronu Daną mamy reprezentatywną próbkę danych z odpowiadającymi im klasami (binarnymi: tak lub nie) Chcemy znaleźć nieskomplikowaną regułę klasyfikacyjną, według której dane zostały poprzydzielane do klas Dodatkowo chcemy aby reguła sensownie działała na danych podobnych do próbki uczącej, ale których w trakcie uczenia nie widziała

Problem uczenia perceptronu Bardziej formalnie: Dane: Cel: perceptron progowy o n wejściach, n nieznanych wagach w 1,.., w n i progu θ, zbiór k przykładów uczących E i = (E (i) (i) 1,...,.E N ), i = 1..k, poprawne odpowiedzi (+1, 1) odpowiadające przykładom uczącym T (1),..., T (k), znaleźć zestaw wag w 1,.., w n i próg θ takie aby perceptron klasyfikował poprawnie wszystkie przykłady uczące (możliwie najwięcej)

Simple Perceptron Learning Algorithm (SPLA) Podstawowy algorytm uczenia: 1 Losujemy wagi w i 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 w i = w i + η ERR E j i θ = θ η ERR η > 0 jest stałą uczenia. 7 Jeżeli sieć klasyfikuje poprawnie wszystkie przykłady, to kończymy, wpw wracamy do 2.

Simple Perceptron Learning Algorithm (SPLA) Uwagi do algorytmu: dla nieseparowalnych danych zapętla się, wymuszenie zakończenia nie daje żadnej gwarancji jakości zwracanych wag.

Pocket Learning Algorithm (PLA) Algorytm uczenia z kieszonką Idea: Z każdym poprawnie klasyfikowanym przykładem zwiększamy wagom czas życia, Najlepszy (tj. najbardziej żywotny) zestaw wag przechowywany jest w kieszonce, aby nie został nadpisany przez przypadkowe zmiany, Po zakończeniu algorytmu zwracany jest rekordowy zestaw, Przy odpowiednio długim działaniu prawdopodobieństwo, że nieoptymalny zestaw przeżyje najdłużej zanika do zera.

Pocket Learning Algorithm (PLA) 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: w i = w i + η ERR E j i θ = θ η 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.

Pocket Learning Algorithm with Ratchet Algorytm uczenia z zapadką Idea: Podobnie jak w algorytmie kieszonkowym zapamiętujemy rekordowe wagi, Przed zapomnieniem poprzedniego zestawu wag upewniamy się, czy nowy zestaw klasyfikuje poprawnie więcej przykładów Po zakończeniu algorytmu zwracany jest rekordowy zestaw, Każdorazowe sprawdzanie wymaga więcej obliczeń, ale zmniejsza prawdopodobieństwo zwrócenia nieoptymalnego wyniku,

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 = T j 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: w i := w i + η ERR E j i θ := θ η 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.

Wstęp do twierdzenia Rozważamy separowalny zbiór (E i, T i ), Zamiast progu θ, użyjemy równoważny perceptron z biasem. Dla każdego k przyjmujemy E0 k = 1, wówczas perceptron zwraca: { O(E k 1; n ) = i=0 w iei k = w E k < 0 +1; n i=0 w iei k = w E k 0, Wektor wag w = [w 0, w 1,..., w n ], opisuje stan perceptronu

Podstawowy algorytm uczenia perceptronów 1 Ustawiamy w := [0,..., 0], 2 Wybieramy kolejny przykład uczący (E k, T k ) 3 Obliczamy O(E k ) = sgn(w E k ). Jeżeli otrzymana liczba jest różna od T k to: Uaktualniamy wagi: w := w + T k E k, 4 Jeżeli perceptron nie klasyfikuje dobrze wszystkich przykładów, to wracamy do punktu 2. Algorytm jest analogiczny do SPLA, ale nie ma losowości; stała uczenia ustawiona na η = 0.5.

Wstęp do twierdzenia - przygotowanie przykładów W każdym kroku algorytmu sprwadzamy, czy T k == sgn(w E k ), Zauważmy, że jest to równoważne sprawdzeniu: T k == sgn(w ( E k )), Dlatego można podmienić (E i, T i ) przykładem ( E i, T i ) w zbiorze uczącym, bez wpływu na przebieg algorytmu (znajdziemy taki sam perceptron),

Wstęp do twierdzenia - przygotowanie przykładów W każdym kroku algorytmu sprwadzamy, czy T k == sgn(w E k ), Zauważmy, że jest to równoważne sprawdzeniu: T k == sgn(w ( E k )), Dlatego można podmienić (E i, T i ) przykładem ( E i, T i ) w zbiorze uczącym, bez wpływu na przebieg algorytmu (znajdziemy taki sam perceptron), Możemy zatem przygotować zbiór uczący w ten sposób, że podmienimy wszystkie (E i, T i ), dla których T i == 1, przykładami ( E i, 1)

Wstęp do twierdzenia - przygotowanie przykładów W każdym kroku algorytmu sprwadzamy, czy T k == sgn(w E k ), Zauważmy, że jest to równoważne sprawdzeniu: T k == sgn(w ( E k )), Dlatego można podmienić (E i, T i ) przykładem ( E i, T i ) w zbiorze uczącym, bez wpływu na przebieg algorytmu (znajdziemy taki sam perceptron), Możemy zatem przygotować zbiór uczący w ten sposób, że podmienimy wszystkie (E i, T i ), dla których T i == 1, przykładami ( E i, 1) Dzięki temu krok uaktualnienia wag w := w + T k E k upraszcza się do: w := w + E k

Twierdzenie Rozważmy separowalny zbiór przykładów uczących E = (E i, T i ) (przygotowany jak wyżej). Wybieramy K takie, że wszystkie E i K, Bierzemy wektor wag w i liczbę δ > 0 takie, że w E i > δ, dla każdego E i ze zbioru E (bo jest separowalny), Wówczas podstawowy algorytm uczenia perceptronów zakończy się po mniej niż K 2 ( w 2 )/δ 2 krokach. Wniosek: Algorytm zatrzyma się po skończonej liczbie kroków i dostaniemy perceptron w separujący zbiór E.

Dowód Organizacja przedmiotu Przez w t oznaczamy stan wektora wag w po kroku t, t = 0, 1,.... Przyjmujemy w 0 = [0,..., 0] T. Porównajmy w t+1 z wektorem w.

Dowód Organizacja przedmiotu Przez w t oznaczamy stan wektora wag w po kroku t, t = 0, 1,.... Przyjmujemy w 0 = [0,..., 0] T. Porównajmy w t+1 z wektorem w. Sytuacja: w kroku t + 1 perceptron w t źle separuje pewien przykład E k. w w t+1 = w (w t + E k ) = w w t + w E k w w t + δ,

Dowód Organizacja przedmiotu Przez w t oznaczamy stan wektora wag w po kroku t, t = 0, 1,.... Przyjmujemy w 0 = [0,..., 0] T. Porównajmy w t+1 z wektorem w. Sytuacja: w kroku t + 1 perceptron w t źle separuje pewien przykład E k. w w t+1 = w (w t + E k ) = w w t + w E k w w t + δ, w w 0 = 0, w w 1 w w 0 + δ,... Przez indukcję dostajemy: w w t tδ. (*)

Dowód Organizacja przedmiotu Zbadajmy teraz jak w kolejnych krokach zmienia się długość wektora w t :

Dowód Organizacja przedmiotu Zbadajmy teraz jak w kolejnych krokach zmienia się długość wektora w t : w t+1 2 = w t+1 w t+1 = (w t + E k ) (w t + E k ) = w t w t + 2w t E k + E k E k w t 2 + K 2 (2w t E k 0, bo przykład E k jest źle klasyfikowany)

Dowód Organizacja przedmiotu Zbadajmy teraz jak w kolejnych krokach zmienia się długość wektora w t : w t+1 2 = w t+1 w t+1 = (w t + E k ) (w t + E k ) = w t w t + 2w t E k + E k E k w t 2 + K 2 (2w t E k 0, bo przykład E k jest źle klasyfikowany) w 0 2 = 0 Stąd, przez indukcję dostajemy: w t 2 tk 2. (**)

Dowód Organizacja przedmiotu Przywołujemy (*) i (**) (*): w w t tδ, (**): w t 2 tk 2,

Dowód Organizacja przedmiotu Przywołujemy (*) i (**) (*): w w t tδ, (**): w t 2 tk 2, stąd: tδ w w t = w w t cos(α), gdzie α to kąt między w i w t,

Dowód Organizacja przedmiotu Przywołujemy (*) i (**) (*): w w t tδ, (**): w t 2 tk 2, stąd: tδ w w t = w w t cos(α), gdzie α to kąt między w i w t, ale cos(α) 1, więc tδ w w t w K (t), dzięki (**),

Dowód Organizacja przedmiotu Przywołujemy (*) i (**) (*): w w t tδ, (**): w t 2 tk 2, stąd: tδ w w t = w w t cos(α), gdzie α to kąt między w i w t, ale cos(α) 1, więc tδ w w t w K (t), dzięki (**), po elementarnych przekształceniach dostajemy: t K 2 ( w 2 )/δ 2, co kończy uzasadnienie.

Zbiory nieseparowalne Okazuje się, że dla dowolnego (skończonego) E istnieje M takie, że w t w 0 + M. (dowód długi)

Zbiory nieseparowalne Okazuje się, że dla dowolnego (skończonego) E istnieje M takie, że w t w 0 + M. (dowód długi) Wniosek: jeżeli współrzędne wszystkich E k są całkowite, to zbiór wartości przyjmowanych przez w t w przebiegu algorytmu uczącego jest skończony (nawet jeżeli algorytm się zapętli)

Zbiory nieseparowalne Okazuje się, że dla dowolnego (skończonego) E istnieje M takie, że w t w 0 + M. (dowód długi) Wniosek: jeżeli współrzędne wszystkich E k są całkowite, to zbiór wartości przyjmowanych przez w t w przebiegu algorytmu uczącego jest skończony (nawet jeżeli algorytm się zapętli) Obserwując powtarzanie się w t dałoby się wykryć nieseparowalność w skończonym czasie. Nie jest to praktyczne; skończony czas niewiele nam mówi. Jeżeli dane są nieseparowalne, to wynik jest bezużyteczny

Zbiory nieseparowalne Okazuje się, że dla dowolnego (skończonego) E istnieje M takie, że w t w 0 + M. (dowód długi) Wniosek: jeżeli współrzędne wszystkich E k są całkowite, to zbiór wartości przyjmowanych przez w t w przebiegu algorytmu uczącego jest skończony (nawet jeżeli algorytm się zapętli) Obserwując powtarzanie się w t dałoby się wykryć nieseparowalność w skończonym czasie. Nie jest to praktyczne; skończony czas niewiele nam mówi. Jeżeli dane są nieseparowalne, to wynik jest bezużyteczny Algorytm kieszonkowy ma lepsze gwarancje i szybciej zbiega do optymalnego rozwiązania.

wektora wag Prosta oddzielająca jest prostopadła do wektora wag i przesunięta o θ w 6 4 2 0-2 -4-6 -6-4 -2 0 2 4 6

Zdefiniujmy funkcję błędu: ERR(w, θ) := {E j : O w,θ (E j ) T j } = liczba błędnie sklasyfikowanych przykładów W tej sytuacji uczenie jest zagadnieniem minimalizacji błędu na przestrzeni wag i progu

1.5 1 0.5 0-0.5-1 -1.5-1.5-1 -0.5 0 0.5 1 1.5 Organizacja przedmiotu Problem OR: 4 3.5 3 theta = -0.78 2.5 ERR 2 1.5 1 0.5 0-4 -2 w2 0 2 4 4 2 0-2 -4 w1

Problem OR: click

1.5 1 0.5 0-0.5-1 Organizacja przedmiotu -1.5-1.5-1 -0.5 0 0.5 1 1.5 Problem AND: theta = 3.62 4 3.5 ERR 3 2.5 2 1.5 1 0.5 4 0-4 2-2 0 0-2 w2 w1 2 4-4

Problem AND: click

1.5 1 0.5 0-0.5-1 Organizacja przedmiotu -1.5-1.5-1 -0.5 0 0.5 1 1.5 Problem XOR: theta = 3.62 4 3.5 ERR 3 2.5 2 1.5 1 0.5 4 0-4 2-2 0 0-2 w2 w1 2 4-4

Problem XOR: click

Po zajęciach powinienem umieć / wiedzieć: podać definicję oraz dynamikę perceptronu zaimplementować perceptron, dla mniejszych danych również przeprowadzić obliczenia na kartce sformułować problem uczenia perceptronu, zaimplementować algorytmy PLA lub RLA zastosować perceptron w praktycznych problemach obliczeniowych znać ograniczenia perceptronu, sformułować przykładowy problem przekraczający jego możliwości

Pytania kontrolne Co to jest perceptron, jakie są jego wewnętrzne i zewnętrzne parametry? Jaką odpowiedź da perceptron znakowy o wagach (w 0 = 1.5, w 1 = +1, w 2 = 1) na wejściu (x 1 = 1, x 2 = +1)? Dane są dwa przykłady uczące ( 1, 1) 1, (+1, +1) +1. Startowe wagi perceptronu wynoszą (w 0 = θ = +4, w 1 = 3, w 2 = 1). Przeprowadź kilka kroków algorytmu uczącego (może być SPLA). Podaj zestaw trzech danych na R 2, który nie jest liniowo separowalny.