Sztuczne sieci neuronowe

Slides:



Advertisements
Podobne prezentacje
Sieć jednokierunkowa wielowarstwowa
Advertisements

Mechanizm wnioskowania rozmytego
SIECI NEURONOWE Sztuczne sieci neuronowe są to układy elektroniczne lub optyczne, złożone z jednostek przetwarzających, zwanych neuronami, połączonych.
SZTUCZNE SIECI NEURONOWE
SZTUCZNA INTELIGENCJA ARTIFICIAL INTELLIGENCE
Inteligencja Obliczeniowa Sieci dynamiczne cd.
Katedra Informatyki Stosowanej UMK
Katedra Informatyki Stosowanej UMK
Inteligencja Obliczeniowa Sieci dynamiczne.
Inteligencja Obliczeniowa Perceptrony o dużym marginesie błędu
Inteligencja Obliczeniowa Perceptrony
Sztuczne sieci neuronowe
Rozpoznawanie Twarzy i Systemy Biometryczne, 2005/2006
Metody Sztucznej Inteligencji w Sterowaniu 2009/2010Optymalizacja miary efektywności działania sztucznych sieci neuronowych Dr hab. inż. Kazimierz Duzinkiewicz,
Czy potrafimy obliczyć wartość wyjścia sieci znając wartości jej wejść? Tak, przy założeniu, że znamy aktualne wartości wag i progów dla poszczególnych.
Perceptrony proste liniowe - Adaline
Metody Sztucznej Inteligencji w Sterowaniu 2009/2010 Metoda propagacji wstecznej Dr hab. inż. Kazimierz Duzinkiewicz, Katedra Inżynierii Systemów Sterowania.
Systemy dynamiczne 2010/2011Systemy i sygnały - klasyfikacje Kazimierz Duzinkiewicz, dr hab. inż.Katedra Inżynierii Systemów Sterowania 1 Dlaczego taki.
Mirosław ŚWIERCZ Politechnika Białostocka, Wydział Elektryczny
Sieci Hopfielda.
Wstęp do interpretacji algorytmów
Sieci neuronowe jednokierunkowe wielowarstwowe
Sztuczne sieci neuronowe (SSN)
formalnie: Budowa i zasada funkcjonowania sztucznych sieci neuronowych
Systemy wspomagania decyzji
Podstawy układów logicznych
Sztuczne Sieci Neuronowe
Systemy Wspomagania Decyzji
AUTOMATYKA i ROBOTYKA (wykład 5)
Systemy Wspomagania Decyzji
Uczenie w Sieciach Rekurencyjnych
Systemy wspomagania decyzji
Modelowanie i Identyfikacja 2011/2012 Metoda propagacji wstecznej Dr hab. inż. Kazimierz Duzinkiewicz, Katedra Inżynierii Systemów Sterowania 1 Warstwowe.
Modelowanie i identyfikacja 2010/2011Optymalizacja miary efektywności działania sztucznych sieci neuronowych Dr hab. inż. Kazimierz Duzinkiewicz, Katedra.
Perceptrony proste liniowe - Adaline
Sterowanie – metody alokacji biegunów
SYSTEMY EKSPERTOWE I SZTUCZNA INTELIGENCJA
Do technik tych zalicza się: * sztuczne sieci neuronowe
Sieci neuronowe, falki jako przykłady metod analizy sygnałów
Algorytmy- Wprowadzenie do programowania
Warstwowe sieci jednokierunkowe – perceptrony wielowarstwowe
Metody Sztucznej Inteligencji – technologie rozmyte i neuronowe Wnioskowanie Mamdani’ego - rozwinięcia  Dr hab. inż. Kazimierz Duzinkiewicz, Katedra Inżynierii.
Metody Sztucznej Inteligencji – technologie rozmyte i neuronowe Sieci jednowarstwowe - perceptrony proste progowe  Dr hab. inż. Kazimierz Duzinkiewicz,
Wstęp do interpretacji algorytmów
Metody sztucznej inteligencji – technologie rozmyte i neuronoweReguła propagacji wstecznej  Dr hab. inż. Kazimierz Duzinkiewicz, Katedra Inżynierii Systemów.
SZTUCZNA INTELIGENCJA
 Dr hab. inż. Kazimierz Duzinkiewicz, Katedra Inżynierii Systemów Sterowania 1 Metody sztucznej inteligencji – Technologie rozmyte i neuronoweSystemy.
SZTUCZNA INTELIGENCJA
© Kazimierz Duzinkiewicz, dr hab. inż. Katedra Inżynierii Systemów Sterowania Modelowanie i podstawy identyfikacji 2015/2016 Modele neuronowe – podstawy,
Narzędzia AI Dominik Ślęzak, Pokój Wykład dostępny na:
GeneracjeTechnologia Architektura przetwarzania 0. Przekaźniki elektromechaniczne 1. Lampy elektronowe 2. Tranzystory 3. Układy scalone 3.5.Układy dużej.
© Kazimierz Duzinkiewicz, dr hab. inż. Katedra Inżynierii Systemów Sterowania 1 Metody sztucznej inteligencji - Technologie rozmyte i neuronowe 2015/2016.
Metody sztucznej inteligencji - Technologie rozmyte i neuronowe 2015/2016 Systemy rozmyte – wnioskowanie Mamdani’ego II © Kazimierz Duzinkiewicz, dr hab.
Metody sztucznej inteligencji - Technologie rozmyte i neuronowe 2015/2016 Perceptrony proste nieliniowe i wielowarstwowe © Kazimierz Duzinkiewicz, dr hab.
Metody sztucznej inteligencji - Technologie rozmyte i neuronowe 2015/2016 Systemy rozmyte – wnioskowanie formalne © Kazimierz Duzinkiewicz, dr hab. inż.
Belief Nets Autor: inż. 2013r źródło tła:
Inteligencja Obliczeniowa Perceptrony o dużym marginesie błędu
Modelowanie i podstawy identyfikacji
Systemy neuronowo – rozmyte
Teoria sterowania Wykład /2016
Podstawy automatyki I Wykład /2016
Kognitywne właściwości sieci neuronowych
Perceptrony o dużym marginesie błędu
Wstęp do Informatyki - Wykład 6
Metody sztucznej inteligencji
Perceptrony o dużym marginesie błędu
Systemy Ekspertowe i Sztuczna Inteligencja trudne pytania
Sterowanie procesami ciągłymi
Inteligencja Obliczeniowa Perceptrony
Zapis prezentacji:

Sztuczne sieci neuronowe Czym są obecnie: Sieci neuronowe są prostymi modelami naśladującymi funkcje biologicznego centralnego systemu nerwowego w zakresie przetwarzania informacji Parametry: wagi powiązań pomiędzy neuronami, progi pobudzeń neuronów Struktura: neurony, warstwy, powiązania W sieci neuronowej sposób przetwarzania informacji jest „zakodowany” strukturą sieci i jej parametrami nazywanymi wagami i progami

Krótki opis neuronu biologicznego Mózg składa się z 1010 - 1011 neuronów (komórek nerwowych) wielu różnych typów, bardzo mocno ze sobą powiązanych Centralnym elementem neuronu jest ciało komórki czyli soma, w którym znajduje się jądro. W ciele komórki realizowane są prawie wszystkie logiczne funkcje neuronu Z ciałem komórki połączonych jest bardzo dużo włókien Długie o nieregularnych kształtach włókna – dendryty (wejścia). Z ciałem komórki związanych jest zwykle 103 – 104 dendrytów

Dendryty łączą neuron z innymi neuronami Dendryty łączą neuron z innymi neuronami. Dendryty, albo otrzymują sygnały z innych neuronów albo są połączone z wyjściem macierzystego neuronu przez specjalne złącza zwane synapsami Połączone z ciałem komórki, jedno, długie włókno – akson (wyjście) Akson jest zwykle mocno rozgałęziony na mniejsze włókna tworzące drzewko wyjściowe aksonu. Początkowa część aksonu wzgórek aksonu, gdzie sygnał wytworzony przez neuron jest zamieniany na ciąg impulsów propagowanych bez osłabiania wzdłuż wszystkich gałęzi drzewka aksonu

Na końcach rozgałęzień aksonu znajdują się synapsy Na końcach rozgałęzień aksonu znajdują się synapsy. Synapsy spełniają rolę interfejsów łączących aksony neuronów z wypustkami wejściowymi dendrytów. Akson typowego neuronu może mieć kilka tysięcy synaps z innymi neuronami. Synapsy są zdolne zmieniać lokalny potencjał dendrytu w kierunku dodatnim lub ujemnym – mieć naturę pobudzającą lub tłumiącą Gromadzenie informacji w neuronie skoncentrowane jest w jego połączeniach synaptycznych – dokładnie w ich układzie i siłach

Więcej o biologicznym neuronie i centralnych systemach nerwowych: Dodatek 1

Cybernetyczny model neuronu Układ MISO

Porównanie komputera klasycznego (von Neumanna) i neuronowego: Dodatek 2

Jak postrzegane są sztuczne sieci neuronowe?  Narzędzie badania pojedynczych komórek nerwowych lub jej fragmentów, zwłaszcza synaps, aksonów i dendrytów.  Narzędzie służące wyjaśnieniu przy ich pomocy zasad funkcjonowania naturalnych fragmentów systemu nerwowego  Nowa technologia obliczeniowa (paradygmat obliczeniowy)  Struktura matematyczna (model), posiadająca zdolność uczenia się i wykorzystywania wyników uczenia

Aspekty na których skupimy nasze zainteresowanie sztucznymi sieciami neuronowymi w tym przedmiocie  Klasyfikacja obiektów (stanów, wzorców, ….) Przetwarzanie danych i ekstrakcja cech Przestrzeń rozważań Wektor cech i wyznaczniki (etykiety) klas Projektowanie klasyfikatora Sieć neuronowa z zadaniu klasyfikacji – faza uczenia Sieć neuronowa z zadaniu klasyfikacji – faza uogólniania Obserwowane cechy Klasyfikator Etykiety klas Dobra sieć: sieć, która dobrze uogólnia tzn. dobrze klasyfikuje wzorce, których nie widziała w procesie uczenia, a nie tylko dobrze klasyfikuje wzorce, które nauczyła się dobrze klasyfikować w procesie uczenia

 Modelowanie obiektów Dobra sieć: sieć, która dobrze uogólnia tzn. daje dobre wartości wyjść dla wartości wejść, na które nie odpowiadała w procesie uczenia, a nie tylko daje dobre wartości wyjść dla wartości wejść na które odpowiadała w procesie uczenia

Definicja sieci neuronowej (szersza wersja w Dodatek 3) Kiedy będziemy mówić o sieciach neuronowych, będziemy rozumieli, że mówimy o sztucznych sieciach neuronowych. Nie ma powszechnie akceptowanej definicji sieci neuronowych. Większość ludzi działających w tej dziedzinie jest w stanie zgodzić się, że: Sieć neuronowa jest siecią wielu prostych procesorów (jednostek, neuronów, …), z których każdy dysponuje lokalną pamięcią o małej pojemności. Procesory są powiązane kanałami komunikacyjnymi (połączeniami, …), które przenoszą dane, zakodowane w jakiś wybrany sposób. Procesor działa w oparciu tylko o swoje lokalne dane i sygnały wejściowe, jakie otrzymuje poprzez połączenia.

Kto rozwijał sztuczne sieci neuronowe ważniejsze fakty Patrz: Dodatek 4

Obszary zastosowań sieci neuronowych Patrz: Dodatek 5

Cechy charakteryzujące sieć neuronową – przez co definiujemy sieć neuronową Sieć neuronowa jest charakteryzowana przez: 1. funkcje według których neuron reaguje na docierające do niego pobudzenia, nazywane funkcjami pobudzania (propagacji) i funkcjami aktywacji; 2. strukturę połączeń pomiędzy neuronami, nazywaną architekturą sieci; 3. metodę określania wag tych połączeń, nazywaną algorytmem uczenia.

Model neuronu statycznego o numerze k Model pojedynczego neuronu Rozróżnimy dwa rodzaje neuronów:  neurony statyczne,  neurony dynamiczne, Model neuronu statycznego (stosowany w ciągłych i dyskretnych sieciach statycznych oraz w dyskretnych sieciach dynamicznych) Model neuronu statycznego o numerze k

Opis matematyczny neuronu o numerze k: Pobudzenie neuronu o numerze k: Odpowiedź neuronu o numerze k: Na przykład:

Inny model neuronu statycznego o numerze k (rozszerzona przestrzeń wejść i progów)

Opis matematyczny neuronu o numerze k: Pobudzenie neuronu o numerze k: Odpowiedź neuronu o numerze k: Na przykład:

Uproszczone przedstawienie modelu neuronu statycznego o numerze k lub

Używane są również inne symboliczne przedstawienia neuronu w postaci: Zwykła przestrzeń wejść i progów Rozszerzona przestrzeń wejść i progów

Model neuronu dynamicznego (stosowany w ciągłych sieciach dynamicznych) Sprzężenie zwrotne wewnętrzne (własne) Przedstawienie schematyczne Rekurencja wewnętrzna (własna) Rekurencja zewnętrzna Rekurencja wewnętrzna (własna) Przedstawienie symboliczne Rekurencja zewnętrzna

Więcej funkcji pobudzania – patrz: Dodatek 6 Funkcje pobudzania g(.) (k - numer neuronu, j - numer wejścia neuronu) 1. Funkcja sumy Więcej funkcji pobudzania – patrz: Dodatek 6

Funkcje aktywacji f(.) – pojedynczych neuronów 1. Funkcja przekaźnikowa unipolarna (niesymetryczna) 2. Funkcja przekaźnikowa bipolarna (symetryczna)

3. Funkcja liniowa 4. Funkcja sigmoidalna logarytmiczna unipolarna (niesymetryczna)

5. Funkcja sigmoidalna tangensa hiperbolicznego bipolarna (symetryczna) 6. Funkcja Gaussa (Radial Basis)

Więcej funkcji aktywacji patrz: Dodatek 7

Przybornik Neural Network w środowisku MATLAB/Simulink Neuron z pojedynczym wejściem bez progu Neuron z pojedynczym wejściem z progiem Funkcja pobudzania: zawsze funkcja sumy Funkcja aktywacji: mogą być różne

Neuron z wieloma wejściami Uproszczone przedstawienie neuronu z wieloma wejściami

Funkcje aktywacji dla pojedynczych neuronów Algorytm: >> n=1 n = 1 >> a = hardlim(n) a = >> Przykłady: >> n= -1 -1 >> a=hardlim(n) a) b)

Więcej funkcji aktywacji przybornika Neural Network – Dodatek 8

Warstwa neuronów Układ neuronów nie powiązanych ze sobą (wyjścia neuronów nie są połączone z wejściami innych neuronów warstwy) do których docierają sygnały z tych samych źródeł (neurony pracują równolegle) b (l) k g j w k1 k2 kj km 1 y (l - 1) m k- ty neuron sieci y(l -1)1 y(l -1)2 y(l -1)j y(l)k Przedstawienie I

S j Warstwa neuronów – c.d. najczęściej y b w – ty neuron sieci (l - 1) 1 b (l) k S j w k1 k2 kj km 2 m – ty neuron sieci najczęściej

Warstwa neuronów – c.d. Inne przedstawienie (II) (rozszerzona przestrzeń wejść i wag)

Warstwa neuronów – c.d. najczęściej

Przedstawienie I Opis matematyczny neuronu o numerze k w warstwie l: Pobudzenie neuronu o numerze k: Odpowiedź neuronu o numerze k: Najczęściej: Struktura opisu nie zmieniła się w stosunku do opisu pojedynczego neuronu

Przedstawienie II Opis matematyczny neuronu o numerze k w warstwie l: Pobudzenie neuronu o numerze k: Odpowiedź neuronu o numerze k: Najczęściej: Struktura opisu nie zmieniła się w stosunku do opisu pojedynczego neuronu

Przybornik Neural Network w środowisku MATLAB/Simulink Jednowarstwowa sieć neuronowa z R sygnałami wejściowymi i S neuronami w warstwie Macierz wag: Wektor progów:

Jednowarstwowa sieć neuronowa z R sygnałami wejściowymi i S neuronami w warstwie Wektor wejść: Wektor wyjść:

Jednowarstwowa sieć neuronowa z R sygnałami wejściowymi i S neuronami w warstwie – uproszczone przedstawienie

Funkcje aktywacji f(.) – warstwy neuronów 1. Funkcja współzawodnictwa

Przybornik Neural Network w środowisku MATLAB/Simulink a = compet(n) Algorytm: Przykłady: a) b) >> n=[0; 1; -0.5; 0.5] n = 1.0000 -0.5000 0.5000 >> a=compet(n) a = (2,1) 1 >> >> n=[1; 1; 1; 1;] 1 (1,1) 1

Więcej warstwowych funkcji aktywacji przybornika Neural Network – Dodatek 9

Struktury sieci neuronowych Architektury sztucznych sieci neuronowych mogą być ogólnie podzielone na trzy duże kategorie: (i) sieci jednokierunkowe (jedno lub wielowarstwowe) (ii) sieci ze sprzężeniem zwrotnym (rekurencyjne) (iii) sieci komórkowe

Struktury sieci neuronowych – c.d. (i) sieci jednokierunkowe (jedno lub wielowarstwowe) (a) jednowarstwowe x y L  przepływ sygnałów od źródeł do warstwy neuronów wyjściowych (b) wielowarstwowe x y L1 L2 L3

Struktury sieci neuronowych – c.d. Przykłady i terminologia: (b) sieć wielowarstwowa we1 we2 we3 we4 we5 we6 we7 we8 we9 we10 n1 n2 n3 n4 n5 n6 wy1 wy2 Warstwa neuronów ukrytych Warstwa neuronów wyjściowych Warstwa wejściowa węzłów źródłowych (a) sieć jednowarstwowa we1 we2 we3 we4 n1 n2 n3 n4 wy1 wy2 wy3 wy4 Warstwa wejściowa węzłów źródłowych Warstwa neuronów wyjściowych

Struktury sieci neuronowych – c.d. (ii) sieci ze sprzężeniem zwrotnym (rekurencyjne) x L1 y L2 L3 + -   w sieci występuje co najmniej jedna pętla sprzężenia zwrotnego – sygnał wyjściowy z warstwy dalszej jest kierowany do wejść tej samej lub wcześniejszych warstw

Struktury sieci neuronowych – c.d. Przykłady i terminologia: Wyjścia Wejścia Operator opóźnienia jednostkowego Operator opóźnienia jednostkowego Wyjścia  w sieci mogą występować pętle samo – sprzężenia zwrotnego

Struktury sieci neuronowych – c.d. (iii) sieci komórkowe  regularnie rozmieszczone przestrzennie neurony zwane komórkami  każda komórka powiązana bezpośrednio z wszystkimi komórkami swego najbliższego sąsiedztwa (przyległymi)  powiązania pomiędzy komórkami są dwukierunkowe

Przybornik Neural Network w środowisku MATLAB/Simulink Wejścia i warstwy  Warstwa węzłów źródłowych nazywa się wejściem sieci  Rozróżnia się macierze wag dla: połączeń wejścia i pierwszej warstwy neuronów – wagi wejść (IW), oraz połączeń miedzy warstwami neuronów – wagi warstw (LW)  W oznaczeniach macierzy wag używa się indeksów dla wskazania źródła – drugi indeks i celu – pierwszy indeks połączeń z którymi macierz jest związana

Przybornik Neural Network w środowisku MATLAB/Simulink Sieci wielowarstwowe  Sieć może mieć kilka warstw  Z każą warstwą związane są: macierz wag W, wektor progów b, oraz wektor wyjść a  Przyporządkowanie tych obiektów warstwom określone jest górnymi indeksami

Przybornik Neural Network w środowisku MATLAB/Simulink Sieci wielowarstwowe Pokazana sieć ma: R1 wejść, S1 neuronów w pierwszej warstwie, S2 neuronów w drugiej warstwie, S3 neuronów w trzeciej warstwie, Stałe wejście równe 1 jest przypisane progom dla każdego neuronu

Przybornik Neural Network w środowisku MATLAB/Simulink Sieci wielowarstwowe – c.d. Warstwa ukryta 1 Warstwa ukryta 2 Warstwa wyjściowa Warstwa wejściowa  Wyjście każdej warstwy jest wejściem warstwy następnej

Przybornik Neural Network w środowisku MATLAB/Simulink Sieci wielowarstwowe – c.d. Na przykład: warstwa 2 może być analizowana jako sieć jednowarstwowa z S1 wejściami, S2 neuronami (wyjściami) oraz macierzą wag W2 o wymiarach S2 x S1 i wektorem progów b2 o wymiarach S2 x 1, wejście do tej sieci określone jest wektorem a1, a jej wyjście stanowi wektor a2 Wyjście warstwy 3 – wyjście sieci: a3 = y

Sieci wielowarstwowe – bardziej złożone struktury  Identyfikacja warstwy przez: wspólny wektor sygnałów wejściowych neuronów, wspólną funkcję aktywacji

Metody uczenia sieci neuronowych W korzystaniu z sieci neuronowej można wyróżnić dwa etapy:  etap uczenia – w oparciu o przedstawiane sieci dane, sieć uczy się realizować zadanie dla którego została zbudowana  etap uogólniania – sieć realizuje zadanie dla którego została zbudowana dla danych które są jej przedstawiane Powinniśmy mieć miary oceny jakości każdego z tych etapów

Metody uczenia sieci neuronowych Ile istnieje metod uczenia dla sieci neuronowych? Jakie? Istnieje obecnie bardzo wiele metod uczenia sieci neuronowych. Nikt dokładnie nie wie ile. Można powiedzieć, że każdego tygodnia proponowane są nowe (lub co najmniej odmiany istniejących metod) Wiele ze znanych metod jest związanych z określonymi topologiami (klasami) sieci Podstawowy podział metod uczenia to rozróżnienie pomiędzy uczeniem z nadzorem (supervised learning) i bez nadzoru (unsupervised learning)

Metody uczenia sieci neuronowych – c.d.  W uczeniu z nadzorem występuje “nauczyciel”, który w fazie uczenia sieci, “mówi” sieci jak dobrze ona działa (uczenie z ukierunkowywaniem - reinforcement learning) lub jakie powinno być prawidłowe zachowanie sieci (uczenie z całkowitym nadzorem - fully supervised learning)  W uczeniu bez nadzoru sieć jest samodzielna (autonomiczna): Patrzy na dane, które są jej prezentowane, znajduje pewne cechy zbioru danych i uczy się odzwierciedlać te cechy na swoim wyjściu. Czym są dokładnie te cechy, które sieć może nauczyć się rozpoznawać zależy od konkretnego modelu sieci i metody uczenia. Zwykle, sieć uczy się pewnych zwięzłych reprezentacji danych.

Proces uczenia z pełnym nadzorem  Posiadany pewien zbiór wektorów (wzorców) wejściowych sieci o liczebności Q, które zamierzamy wykorzystać w procesie uczenia sieci realizacji zadania – wektory te będziemy nazywać uczącymi wzorcami wejściowymi. Możemy z posiadanych wektorów utworzyć macierz wzorców wejściowych uczących P(atterns)

Proces uczenia z pełnym nadzorem – c.d.  Dla każdego wzorca wejściowego uczącego posiadamy wektor wyjściowy sieci jakim powinna ona odpowiedzieć na dany wzorzec wejściowy - wektor ten nazywamy wzorcem wyjściowym docelowym. Z wektorów tych możemy utworzyć macierz wzorców wyjściowych docelowych T(argets) Macierze P oraz T nazywamy zbiorami uczącymi - ich elementami są kolumny wzorców wejściowych oraz wzorców wyjściowych docelowych.

Proces uczenia z pełnym nadzorem – c.d.  Faktycznie sieć na każdy z wzorców wejściowych odpowiada wektorem wyjściowym, który będziemy nazywać wzorcem wyjściowym rzeczywistym – z wektorów tych możemy utworzyć macierz wzorców rzeczywistych A(nswers)

Proces uczenia z pełnym nadzorem – c.d.  Wektory z wejściowego zbioru uczącego są przedstawiane sieci w pewnej kolejności  Jeżeli wyjście sieci jest poprawne, to znaczy wzorzec rzeczywisty jest równy wzorcowi docelowemu, nie dokonywane są żadne zmiany wartości wag i progów  Jeżeli wyjście sieci nie jest poprawne, to znaczy wzorzec rzeczywisty nie jest równy wzorcowi docelowemu, wagi i progi są modyfikowane przy użyciu odpowiedniej reguły uczenia w taki sposób, aby minimalizować występujące różnice Zmiany wag i progów dokonuje się na ogół przyrostowo, wprowadzając małe poprawki dla każdej pary uczącej z którą związana jest błędna odpowiedź Można zmiany wag i progów wykonywać grupowo, wprowadzając poprawki po pokazaniu sieci całego zestawu uczącego

Proces uczenia z pełnym nadzorem – c.d.  Pełne przejście przez wszystkie wzorce uczące nazywane jest epoką uczenia  Jeżeli takie pełne przejście zbioru uczącego zajdzie bez pojawienia się błędu lub pewna miara wszystkich pojawiających się błędów jest wystarczająco mała, uczenie uznaje się za zakończone - możemy wówczas powiedzieć, że zbiór uczący jest ,,znany" sieci lub "znany" z zadowalającą dokładnością  Jeżeli takie pełne przejście zbioru uczącego zajdzie z pojawieniem się błędu lub pewna miara wszystkich pojawiających się błędów nie jest wystarczająco mała, uczenie jest kontynuowane – rozpoczynamy kolejną epokę uczenia

Proces uczenia z pełnym nadzorem – c.d. Proces uczenia pod nadzorem można zawrzeć w następujących trzech fazach: FAZA 1 PREZENTACJI: Przedstawianie sieci kolejnych wzorców wejściowych uczących i obliczanie rzeczywistych wzorców wyjściowych sieci  FAZA 2 SPRAWDZENIA: Stwierdzenie, czy wszystkie rzeczywiste wzorce wyjściowe są równe odpowiednim wzorcom wyjściowym docelowym lub o ile, według pewnej miary, różnią się od nich - zakończenie procesu uczenia, jeżeli miara błędów odpowiedzi jest zadowalająco mała lub po przekroczeniu pewnej maksymalnej liczby epok  FAZA 3 UCZENIA: Modyfikacja wag i stałych progowych za pomocą odpowiedniej reguły uczenia perceptronu i powrót do fazy 1

Dwie podstawowe strategie uczenia 1. Podejście partiowe (wsadowe) (batch approach): Wagi i progi są modyfikowane po pokazaniu sieci całego zbioru uczącego (po kolejnych epokach) 2. Podejście przyrostowe) (incremental approach): Wagi i progi są modyfikowane po pokazaniu sieci każdego kolejnego wzorca uczącego

Sprawdzenie zdolności uogólniania sieci  Po zakończeniu procesu uczenia możemy podawać na wejście sieci wzorce nie pochodzące z uczącego zbioru wejściowego, to znaczy nie będące uczącym wzorcem wejściowym – w ten sposób możemy badać, czy sieć efektywnie uogólnia rozwiązywanie zadania, którego się uczyła na przykładach  Jeżeli tak, to na podany na wejście wzorzec powinna ona odpowiedzieć wzorcem wyjściowym równym lub bliskim wzorcowi docelowemu, który odpowiada wzorcowi wejściowemu bliskiemu podanemu  Jeżeli nie, to na podany na wejście wzorzec sieć odpowie wzorcem wyjściowym odległym od wzorca docelowego, który odpowiada wzorcowi wejściowemu bliskiemu podanemu

Koniec materiału prezentowanego podczas wykładu Dziękuję za uczestnictwo w wykładzie i uwagę

Centralny system nerwowy organizmów żywych i neuron biologiczny Dodatek 1 Centralny system nerwowy organizmów żywych i neuron biologiczny

Centralny system nerwowy Dodatek 1:Centralny system nerwowy i neuron biologiczny Otoczenie Centralny system nerwowy (neurony) Narządy sensoryczne Receptory Narządy motoryczne Efektory Wewnętrzne sprzężenia zwrotne Otoczenie Zewnętrzne sprzężenia zwrotne

Paradygmat przetwarzania neuronowego Dodatek 1:Centralny system nerwowy i neuron biologiczny Zalety biologicznych systemów nerwowych:  Odporność na uszkodzenia  Elastyczność – zdolność poprawiania jakości rozwiązywania zadań przez proces uczenia  Zdolność przetwarzania informacji rozmytej, zaszumionej, niespójnej, losowej  Nieduże wymiary, zwartość, małe zużycie energii  Równoległość przetwarzania Paradygmat przetwarzania neuronowego Paradygmat przetwarzania neuronowego pozostaje w opozycji do znanego paradygmatu przetwarzania klasycznych komputerów, wprowadzonego przez von Neumanna, opartego na sekwencyjnym wykonywaniu zaprogramowanych instrukcji, który jest do dzisiaj podstawą działania prawie wszystkich systemów komputerowych (liczących)

Krótki opis neuronu biologicznego Dodatek 1:Centralny system nerwowy i neuron biologiczny Krótki opis neuronu biologicznego Mózg składa się z 1010 - 1011 neuronów (komórek nerwowych) wielu różnych typów, bardzo mocno ze sobą powiązanych Centralnym elementem neuronu jest ciało komórki czyli soma, w którym znajduje się jądro. W ciele komórki realizowane są prawie wszystkie logiczne funkcje neuronu Z ciałem komórki połączonych jest bardzo dużo włókien Długie o nieregularnych kształtach włókna – dendryty (wejścia). Z ciałem komórki związanych jest zwykle 103 – 104 dendrytów

Połączone z ciałem komórki, jedno, długie włókno – akson (wyjście) Dodatek 1:Centralny system nerwowy i neuron biologiczny Dendryty łączą neuron z innymi neuronami. Dendryty, albo otrzymują sygnały z innych neuronów albo są połączone z wyjściem macierzystego neuronu przez specjalne złącza zwane synapsami Połączone z ciałem komórki, jedno, długie włókno – akson (wyjście) Akson jest zwykle mocno rozgałęziony na mniejsze włókna tworzące drzewko wyjściowe aksonu. Początkowa część aksonu wzgórek aksonu, gdzie sygnał wytworzony przez neuron jest zamieniany na ciąg impulsów propagowanych bez osłabiania wzdłuż wszystkich gałęzi drzewka aksonu

Dodatek 1:Centralny system nerwowy i neuron biologiczny Na końcach rozgałęzień aksonu znajdują się synapsy. Synapsy spełniają rolę interfejsów łączących aksony neuronów z wypustkami wejściowymi dendrytów. Akson typowego neuronu może mieć kilka tysięcy synaps z innymi neuronami. Synapsy są zdolne zmieniać lokalny potencjał dendrytu w kierunku dodatnim lub ujemnym – mieć naturę pobudzającą lub tłumiącą Gromadzenie informacji w neuronie skoncentrowane jest w jego połączeniach synaptycznych – dokładnie w ich układzie i siłach

Porównanie komputera klasycznego (von Neumann) i neuronowego Dodatek 2 Porównanie komputera klasycznego (von Neumann) i neuronowego

Porównanie przetwarzania klasycznego komputera i komputera neuronowego (neurokomputera) Przetwarzanie Cecha klasyczne neuronowe Postać danych wejściowych Cyfrowa Cyfrowa lub analogowa Przygotowanie przetwarzania Wybór architektury sieci i reprezentatywnych wzorców Opracowanie algorytmu Sposób wprowadzania wiedzy Przez programowanie Przez naukę Struktura przetwarzania Przetwarzanie sekwencyjne (szeregowe) Przetwarzanie równoległe Arytmetyka wysokiej dokładności Proste przekształcenia nieliniowe o niewielkiej dokładności Cechy obliczeń Przechowywanie algorytmu przetwarzania Zblokowane pamięci ROM i RAM Architektura sieci i rozproszone wartości wag i progów Przechowywanie danych Zblokowane pamięci RAM Sygnały w sieci

Porównanie przetwarzania komputerowego i neuronowego Element przetwarzaj-ący Rozmiar elementu Pobór mocy Prędkość przetwarza-nia Sposób przetwarza-nia Tolerancja uszkodzeń Uczenie Inteligencja 1014 synaps 10-6m 30W 100Hz równoległy tak zwykle 108 tranzystor-ów 109Hz szeregowy nie w małym stopniu (jeszcze) nie

Definicje sztucznych sieci neuronowych Dodatek 3: Definicje sztucznych sieci neuronowych

[Tadeusiewicz R. Sieci neuronowe, 1993] Dodatek 2: Definicje sieci neuronowych [Tadeusiewicz R. Sieci neuronowe, 1993] Sieć neuronowa jest bardzo uproszczonym modelem mózgu. Składa się ona z dużej liczby (od kilkuset do kilkudziesięciu tysięcy) elementów przetwarzających informację. Elementy te nazywane są neuronami, chociaż w stosunku do rzeczywistych komórek nerwowych ich funkcje są bardzo uproszczone, by nie powiedzieć - sprymityzowane. Neurony są powiązane w sieć za pomocą połączeń o parametrach (tak zwanych wagach) modyfikowanych w trakcie tak zwanego procesu uczenia. Topologia połączeń oraz ich parametry stanowią program działania sieci, zaś sygnały pojawiające się na jej wyjściach, w odpowiedzi na określone sygnały wejściowe, są rozwiązaniami stawianych jej zadań

[Hecht-Nielsen R. Neurocomputing, 1989] Dodatek 2: Definicje sieci neuronowych [Hecht-Nielsen R. Neurocomputing, 1989] Sieć neuronowa jest równoległą, rozproszoną strukturą przetwarzania informacji składającą się z elementów przetwarzających (które mogą posiadać lokalną pamięć i mogą wykonywać lokalne operacje przetwarzania informacji) wzajemnie powiązanych poprzez jednokierunkowe kanały sygnałowe zwane połączeniami. Każdy element przetwarzający posiada pojedyncze wyjście sygnałowe, które rozgałęzia się (“rozkłada się wachlarzem”) na tyle równorzędnych połączeń ile potrzeba; każde rozgałęzienie przenosi ten sam sygnał - sygnał wyjściowy elementu przetwarzającego. Sygnał wyjściowy elementu przetwarzającego może być jakiegokolwiek pożądanego matematycznego typu. Przetwarzanie informacji, które zachodzi w każdym elemencie przetwarzającym może być zdefiniowane arbitralnie z ograniczeniem, że musi być ono całkowicie lokalne; to znaczy musi ono zależeć tylko od bieżącej wartości sygnału wejściowego dochodzącego do elementu przetwarzającego przez oddziaływujące połączenia i od wartości przechowywanych w lokalnej pamięci elementu przetwarzającego

Inne definicje zaczerpnięte z literatury: Dodatek 2: Definicje sieci neuronowych Inne definicje zaczerpnięte z literatury: [Cichocki A. & Umbehauen R. Neural Networks for Optimization and Signal Processing, 1994] (...) sztuczna sieć neuronowa jest układem przetwarzania informacji lub sygnałów złożonym z dużej liczby prostych elementów przetwarzających, nazywanych sztucznymi neuronami lub prościej węzłami, które są wzajemnie połączone przez bezpośrednie powiązanie nazywane połączeniem i które współdziałają ze sobą realizując równoległe przetwarzanie rozproszone w celu rozwiązania pożądanego zadania obliczeniowego

[DARPA Neural Network Study, 1988] Dodatek 2: Definicje sieci neuronowych [DARPA Neural Network Study, 1988] (…) sieć neuronowa jest systemem złożonym w wielu prostych elementów przetwarzających działających równolegle i którego funkcja jest zdeterminowana przez strukturę sieci, siłę powiązań i przetwarzanie realizowane w elementach przetwarzających lub węzłach [Haykin, S., Neural Networks:A Comprehensive Foundation, 1994] Sieć neuronowa jest w pełni równoległym rozproszonym procesorem posiadającym naturalną zdolność do gromadzenia wiedzy eksperymentalnej i wykorzystywania jej. Przypomina on mózg pod dwoma względami: 1. Wiedza jest pozyskiwana przez sieć poprzez proces uczenia. 2. Siły połączeń międzyneuronowych, znane jako wagi synaptyczne są wykorzystywane do gromadzenia wiedzy

[Nigrin, A., Neural Networks for Pattern Recognition,1993] Dodatek 2: Definicje sieci neuronowych [Nigrin, A., Neural Networks for Pattern Recognition,1993] Sieć neuronowa jest obwodem złożonym w z bardzo dużej liczby prostych elementów przetwarzających wzorowanych na neuronach. Każdy element działa jedynie w oparciu o lokalną informację. Ponadto każdy element działa asynchronicznie; to znaczy nie ma ogólnosystemowego zegara [Zurada, J.M., Introduction to Artificial Neural Systems, 1992] Sztuczne sieci neuronowe albo sieci neuronowe są fizycznymi systemami komórkowymi, które mogą pozyskiwać, gromadzić i wykorzystywać wiedzę eksperymentalną

Kto rozwijał sztuczne sieci neuronowe Dodatek 4 Kto rozwijał sztuczne sieci neuronowe - ważniejsze fakty

 Lata 40 XX wieku: Początek sieci neuronowych Dodatek 4:Kto rozwijał sztuczne sieci neuronowe - ważniejsze fakty  Lata 40 XX wieku: Początek sieci neuronowych Sztuczne sieci neuronowe swój początek wywodzą z badań nad modelami matematycznymi działania biologicznej komórki nerwowej

 Neurony McCulloch’a-Pitts’a Dodatek 4:Kto rozwijał sztuczne sieci neuronowe - ważniejsze fakty  Neurony McCulloch’a-Pitts’a W roku 1943 Warren McCulloch i Walter Pitts zaproponowali pierwszy prosty model matematyczny neuronu w postaci dwuwartościowego elementu progowego. Neuron McCullocha i Pittsa oblicza sumę ważoną sygnałów wejściowych od innych neuronów i daje na wyjściu 1 (zapłon) lub 0 (spoczynek) w zależności od tego, czy suma ta jest większa, czy mniejsza od pewnej wartości progowej Schemat modelu neuronu McCullocha i Pittsa  Model działania neuronu McCullocha i Pittsa Funkcja aktywacji McCullocha i Pittsa

Dodatek 4:Kto rozwijał sztuczne sieci neuronowe - ważniejsze fakty  Reguła Hebba W roku 1949 Donald Hebb, psycholog, opierając się na dużej liczbie obserwacji sformułował regułę, którą uznaje się dzisiaj powszechnie za pierwszą regułę uczenia sztucznych sieci neuronowych. Reguła ta, dająca się w uproszczeniu sprowadzić do stwierdzenia, że jeżeli dwa neurony były aktywne jednocześnie to siła połączenia pomiędzy nimi powinna wzrosnąć, stanowi podstawę wielu używanych obecnie reguł uczenia sieci neuronowych

Dodatek 4:Kto rozwijał sztuczne sieci neuronowe - ważniejsze fakty

 Lata 50. i 60.: Pierwszy złoty wiek sieci nueronowych Dodatek 4: Kto rozwijał sztuczne sieci neuronowe - ważniejsze fakty  Lata 50. i 60.: Pierwszy złoty wiek sieci nueronowych Dzisiaj sieci neuronowe zwykło się postrzegać jako alternatywę (lub uzupełnienie) klasycznego przetwarzania opartego na zasadach sformułowanych przez John’a von Neumann’a. W latach 50. von Neumann był żywo zainteresowany problemami modelowania mózgu  Perceptron W latach 1957 i 1958 został opracowany i pomyślnie wykonany w Cornell Aeronautical Laboratory, przez Franka Rosenblatta i Charlesa Wightmana pierwszy neurokomputer - Mark I Perceptron. Od tej konstrukcji wzięta została nazwa sieci o odpowiadającej jej strukturze. Rosenblatt i Wightman wykorzystali model McCulloch’a-Pitts’a i zaproponowali metodę uczenia sieci złożonej z neuronów o progowych funkcjach aktywacji

„Poprawne” wyjście (dostarczane podczas uczenia) Dodatek 4:Kto rozwijał sztuczne sieci neuronowe - ważniejsze fakty Układ wprowadzania obrazu Matryca sensorów obrazu „Poprawne” wyjście (dostarczane podczas uczenia) Szafa modułów par silnik - potencjometr Tablica łączeniowa

Cel działania neurokomputera Mark I Perceptron Dodatek 4:Kto rozwijał sztuczne sieci neuronowe - ważniejsze fakty Cel działania neurokomputera Mark I Perceptron Neurokomputer Mark I Perceptron został zbudowany dla rozwiązywania zadania klasyfikacji: Czy wskazany element pewniej przestrzeni rozważań należy do pewnego zbioru, czy też nie należy? Przestrzeń rozważań U – zbiór wszystkich elementów, które znajdują się w kręgu naszych zainteresowań, np. zbiór wszystkich dużych liter drukowanych

Dodatek 4:Kto rozwijał sztuczne sieci neuronowe - ważniejsze fakty Przykład: interesuje nas czy pokazywana litera należy do zbioru liter „C”? – przykład klasyfikacji do dwóch zbiorów Niech: Litery „C” zapisywane w matrycach 4x4 – czy należą do zbioru liter „C”? ... TAK NIE TAK?

W jaki sposób pokazujemy sieci litery ze zbiorów C i nieC? Dodatek 4:Kto rozwijał sztuczne sieci neuronowe - ważniejsze fakty W jaki sposób pokazujemy sieci litery ze zbiorów C i nieC? Wejścia do sieci neuronowej: wektory 16 bitowe jedynek (1) i zer (0)  

Zewnętrzny obraz rozwiązywania zadania Dodatek 4:Kto rozwijał sztuczne sieci neuronowe - ważniejsze fakty Zewnętrzny obraz rozwiązywania zadania Sieć neuronowa Tak

Jak można opisać zadanie klasyfikacji? Dodatek 4:Kto rozwijał sztuczne sieci neuronowe - ważniejsze fakty Jak można opisać zadanie klasyfikacji? Badamy pewien zbiór obiektów (przestrzeń rozważań) – w naszym przykładzie: zbiór dużych liter drukowanych Każdy z obiektów zbioru charakteryzujemy za pomocą n atrybutów lub cech xi , takich jak na przykład ciężar, wysokość, gęstość czy częstotliwość – w naszym przykładzie: 16 atrybutów przyjmujących wartości ze zbioru {0,1} i określanych, czy pole o numerze k (k=1,2, ....., 16) w obszarze zapisu litery jest zajęte zapisem litery czy też nie x n x 1 Każdy z elementów przestrzeni rozważań X może być przedstawiony jako punkt n - wymiarowej przestrzeni tych atrybutów – w naszym przykładzie: jest to przestrzeń 16 wymiarowa

x n x 1 Jak można opisać zadanie klasyfikacji? – c.d. Klasa 0 Klasa 1 Dodatek 4:Kto rozwijał sztuczne sieci neuronowe - ważniejsze fakty Jak można opisać zadanie klasyfikacji? – c.d. Potrafimy (my ludzie) rozróżniać elementy różnych zbiorów przestrzeni rozważań – w naszym przykładzie potrafimy wskazać, które z pokazywanych liter należą do zbioru dużych liter C drukowanych (klasa 1) a które nie należą (klasa 0) x n x 1 Klasa 0 Potrafimy znaleźć w n – wymiarowej przestrzeni atrybutów obiektów rozważań hiperpłaszczyznę, która rozdziela interesujący nas zbiór i pozostałe elementy przestrzeni rozważań – w naszym przykładzie: potrafimy znaleźć hiperpłaszczyznę rozdzielającą zbiór dużych liter C drukowanych od innych liter Nie (Duże litery C) Klasa 1 Hiperpłaszczyzna rozdzielająca Duże litery C Równanie hiperpłaszczyzny rozdzielającej

Jak można opisać zadanie klasyfikacji? – c.d. Dodatek 4:Kto rozwijał sztuczne sieci neuronowe - ważniejsze fakty Jak można opisać zadanie klasyfikacji? – c.d. Hiperpłaszczyzna rozdzielająca – miejsce geometryczne punktów przestrzeni atrybutów obiektów przestrzeni rozważań dla którego: x n x 1 Klasa 1 Klasa 0 Możemy policzyć:  x1 w1 xn wn n y

Jak można opisać zadanie klasyfikacji? – c.d. Dodatek 4:Kto rozwijał sztuczne sieci neuronowe - ważniejsze fakty Jak można opisać zadanie klasyfikacji? – c.d. Zadanie klasyfikacji: znaleźć taki zbiór wag lub modyfikowalnych współczynników, że wyjście perceptronu jest 1, jeżeli wektor wzorca (sygnał wejściowy) należy do klasy 1, a 0, jeżeli wektor wzorca należy do klasy 0 W jaki sposób zadanie to realizowane jest za pomocą perceptronu? Wartości wag są pamiętane przez perceptron i modyfikowane przez niego zgodnie z regułą uczenia perceptronu. Reguła uczenia perceptronu działa podczas procesu uczenia, kiedy perceptronowi pokazywana jest sekwencja wektorów wzorców (kolejno po jednym). Każdorazowo, kiedy pokazywany jest perceptronowi wektor x (jako element zbioru uczącego), otrzymuje on również informację do której klasy on należy (do klasy 1 czy 0). W przebiegu każdego ciągu uczącego (nazywanego też epoką uczenia) reguła uczenia modyfikuje wektor wag w zgodnie z równaniem: We wzorze tym y jest prawidłowym numerem klasy wzorca wejściowego x, a y’ jest wyjściem perceptronu (numerem klasy)określonym przez aktualne wartości wag

Kilka danych o Mark I Perceptron Dodatek 4:Kto rozwijał sztuczne sieci neuronowe - ważniejsze fakty Kilka danych o Mark I Perceptron  8 komórek nerwowych, 512 połączeń (struktura połączeń zadawana była losowo),  szybkość działania – około 103 przełączeń na sekundę

Kilka danych o Madaline Dodatek 4:Kto rozwijał sztuczne sieci neuronowe - ważniejsze fakty  Adaline i Madaline Niewiele później po Mark I Perceptron, powstała ciekawa konstrukcja neurokomputera zbudowana jako sieć uczących się elementów elektro­chemicznych nazywanych Adaline od ADAptive LInear NEuron. Zbudowana została w 1960 roku przez Bernarda Widrowa i jego studenta Marciana (Teda) Hoffa z Uniwersytetu Stanforda. Cała sieć nazywana była od nazwy elementu Madaline (Many Adaline). Widrow i Hoff do uczenia zbudowanej sieci zastosowali nową metodę uczenia nazywaną od ich nazwisk metodą Widrow’a i Hoff’a lub metodą delty lub metodą LMS Bernard Widrow Marcian Hoff Kilka danych o Madaline 8 komórek nerwowych, 128 połączeń, szybkość działania – około 104 przełączeń na sekundę

Dodatek 4:Kto rozwijał sztuczne sieci neuronowe - ważniejsze fakty  Lata 70.: Lata ciszy Pomimo niewątpliwych sukcesów lat sześćdziesiątych nieznajomość efektywnych metod uczenia sieci o więcej niż jedna warstwie uniemożliwiała ich zastosowanie w bardziej złożonych zadaniach. W połowie lat sześćdziesiątych stało się jasne, że era pierwszych sukcesów w dziedzinie sieci neuronowych została zamknięta. W roku 1969 Marvin Minsky i Seymour Pappert - rzecznicy systemów ekspertowych - opublikowali książkę: Minsky M., Papert S., Perceptrons, MIT Press, Cambridge 1969 w której zaatakowali istniejący stan badań nad sieciami neuronowymi, określając go jako bezwartościowy. Minsky i Papert wykazali, że kilka elementarnych zadań nie można wykonać na jednowarstwowym perceptronie. Jednak wielu obecnych liderów w dziedzinie sztucznych sieci neuronowych nie zraziło się tą krytyką i dalej prowadziło badania

Dodatek 4:Kto rozwijał sztuczne sieci neuronowe - ważniejsze fakty  Kohonen We wczesnych latach siedemdziesiątych (1972) powstały pierwsze prace Teuvo Kohonen’a wykonane na Helsinki University of Technology dotyczące sieci neuronowych pamięci asocjacyjnych (skojarzeniowych). Rozwinięte później (lata osiemdziesiąte) w tzw. samo-organizujące się odwzorowania cech, były one wykorzystywane do rozpoznawania mowy (słowa fińskie i japońskie), rozwiązania problemu komiwojażera oraz komponowania muzyki  Anderson Prace nad sieciami pamięci asocjacyjnych prowadził też w tym czasie James Anderson w Brown University

Dodatek 4:Kto rozwijał sztuczne sieci neuronowe - ważniejsze fakty  Grossberg Bardzo aktywnym badaczem w tym czasie był Stephen Grossberg; w latach 1967-1988 opublikował on ze swoimi kolegami 146 prac z dziedziny sieci neuronowych. Są to głównie prace o charakterze matematyczno-biologicznym  Carpenter Wspólnie z Stephen’em Grossberg’iem Gail Carpenter rozwinęli na początku lat osiemdziesiątych (1985-1990) teorię samo-organizujących się sieci neuronowych nazywaną teorią rezonansu adaptacyjnego (Adaptive Resonance Theory - ART). Sieci teorii rezonansu adaptacyjnego dla wejść binarnych (ART1) oraz ciągłych są dziś jednymi z bardziej popularnych sieci

 Lata 80.: Ponowny entuzjazm i jego źródła Dodatek 3:Kto rozwijał sztuczne sieci neuronowe - ważniejsze fakty  Lata 80.: Ponowny entuzjazm i jego źródła Podstawowy powód zaniku szerszego zainteresowania sieciami neuronowymi - brak efektywnej metody uczenia sieci wielowarstwowych - zniknął w połowie lat osiemdziesiątych  Propagacja wsteczna Zaproponowana niezależnie przez Davida Parker’a (1985) i LeCun (1986) metoda nazwana została metodą propagacji wstecznej. Później okazało się, że metoda po raz pierwszy została zaproponowana znacznie wcześniej przez Werbos’a (1974, praca doktorska, Harward), ale nie została szerzej rozpowszechniona. Zrobili to w roku 1986 Rumehart i McClelland publikując pracę „Parallel Distributed Processing”

Dodatek 4:Kto rozwijał sztuczne sieci neuronowe - ważniejsze fakty  Sieci Hopfielda Nazwisko laureata Nagrody Nobla w dziedzinie fizyki John’a Hopfielda z California Institute of technology, wykazującego zainteresowanie sieciami neuronowymi i proponującego nowe sieci (1982-87) poszerza zainteresowanie sieciami neuronowymi  Neocognitron Kunihiko Fukushima i jego koledzy z NHK Laboratories w Tokio proponują szereg specjalizowanych sieci neuronowych do rozpoznawania znaków. Szerokie zainteresowanie wzbudzają tzw. neocognitron’y

Dodatek 4:Kto rozwijał sztuczne sieci neuronowe - ważniejsze fakty  Sieci Hopfielda Nazwisko laureata Nagrody Nobla w dziedzinie fizyki John’a Hopfielda z California Institute of technology, wykazującego zainteresowanie sieciami neuronowymi i proponującego nowe sieci (1982-87) poszerza zainteresowanie sieciami neuronowymi  Neocognitron Kunihiko Fukushima i jego koledzy z NHK Laboratories w Tokio proponują szereg specjalizowanych sieci neuronowych do rozpoznawania znaków. Szerokie zainteresowanie wzbudzają tzw. neocognitron’y

 Implementacje sprzętowe (hardware’owe) Dodatek 4:Kto rozwijał sztuczne sieci neuronowe - ważniejsze fakty  Maszyna Boltzmann’a Pojawiają się prace wskazujące na zainteresowanie niedeterministycznymi sieciami neuronowymi. Są to sieci, w których wagi i aktywacje są zmieniane w oparciu o funkcje gęstości prawdopodobieństwa. Sieci te wykorzystują takie znane idee jak symulowane wyżarzanie (maszyna Boltzmann’a) czy Bayesowską teorię decyzji  Implementacje sprzętowe (hardware’owe) Efektywne implementacje sprzętowe teoretycznych podstaw sieci neuronowych to inny powód powrotu szerokiego zainteresowania sieciami neuronowymi

Implementacje sprzętowe (hardware’owe) Dodatek 4:Kto rozwijał sztuczne sieci neuronowe - ważniejsze fakty Implementacje sprzętowe (hardware’owe) Od połowy lat 80. notuje się prawdziwy wyścig, którego uczestnikami są, obok laboratoriów badawczych, także firmy produkujące układy elektroniczne. Osiągnięciami liczącymi się w tym wyścigu są:  liczba elementów neuropodobnych umieszczonych w sieci,  liczba połączeń,  szybkość działania, wyrażana w liczbach przełączeń na sekundę

Dodatek 4: Kto rozwijał sztuczne sieci neuronowe - ważniejsze fakty Zestawienie ważniejszych realizacji hardware’owych sieci neuronowych z okresu pierwszej połowy lat 80 Nazwa neurokomputera Rok Liczba elementów Liczba połączeń Szybkość Twórca Mark III 1985 8103 4105 3105 R. Hecht‑Nielsen, TRW Neural Emulator Processor 4103 1.6104 4.9105 C. Cruz, IBM Mark IV 1986 2.5105 5106 Odyssey 2106 A. Penz, Tex. Inst. CRL Crossbar Chip 256 6.4104 6109 L. Jackel, AT&T Bell Labs Anza 1987 3104 5105 1.4105 R. Hecht‑Nielsen, Neurocomp. Corp. Parallon 9.1104 S. Bogoch, Human Dev. Anza plus 1988 106 1.5106 6106

Obszary zastosowań sieci neuronowych Dodatek 5 Obszary zastosowań sieci neuronowych

Dodatek 5: Obszary zastosowań sieci neuronowych   diagnostyka układów elektronicznych,   badania psychiatryczne,   prognozy giełdowe,   prognozowanie sprzedaży,   poszukiwania ropy naftowej,   interpretacja badań biologicznych,   prognozy cen,   analiza badań medycznych,   planowanie remontów maszyn,   prognozowanie postępów w nauce,   typowania na wyścigach konnych,   analiza problemów produkcyjnych,   optymalizacja działalności handlowej,   analiza spektralna,  optymalizacja utylizacji odpadów,  dobór surowców,  selekcja celów śledztwa w kryminalistyce,  dobór pracowników,  sterowanie procesów przemysłowych,

Zastosowania techniczne Dodatek 5: Obszary zastosowań sieci neuronowych Zastosowania techniczne  zagadnienia rozpoznawania, a zwłaszcza rozpoznawania kontekstowego i inwariantnego (w sensie niezależności od typowych transformacji),  zadania klasyfikacji oraz analizy obrazów i ich przetwarzania, Około 70% prac dotyczących sieci neuronowych odwołuje się bezpośrednio lub pośrednio do zagadnień rozpoznawania

Zastosowania techniczne – c.d. Dodatek 5: Obszary zastosowań sieci neuronowych Zastosowania techniczne – c.d. "klasyczne" zadania przetwarzania sygnałów, takie jak konwersje, filtracje i aproksymacje oraz inne odwzorowania i transformacje (zwłaszcza transformacja Fouriera),  zadania z zakresu robotyki, automatyki oraz teorii sterowania (zwłaszcza sterowania adaptacyjnego w układach samouczących się), w tym węższe problemy jak: identyfikacja systemów dynamicznych, sterowanie ruchem pojedynczego obiektu (najczęściej robota) lub ruchem zbiorowości pojazdów, percepcja ruchu i jego planowanie, koordynacja sensomotoryczna, Zastosowanie sieci neuronowych jako elementów sterujących wypada często zdecydowanie korzystniej niż stosowanie tradycyjnych urządzeń sterujących

Dodatek 5: Obszary zastosowań sieci neuronowych Zastosowania techniczne – c.d.  budowa pamięci asocjacyjnych, rozproszonych,  algorytmy automatycznego uczenia się maszyn oraz uogólniania nabywanych doświadczeń

Dodatek 5: Obszary zastosowań sieci neuronowych Wybrane zastosowania nietechniczne  predykcja; np. ocena zdolności kredytowej przedsiębiorstwa, prognozy rozwoju przedsiębiorstwa, prognozy zmian rynku, sterowanie obiektów ekonomicznych na podstawie przewidywania (predykcji) ich zachowań w odpowiedzi na określone sterowania,  klasyfikacja i rozpoznawanie podmiotów gospodarczych,  analiza i kojarzenie danych,

Funkcje pobudzania g(.) Dodatek 6 Funkcje pobudzania g(.)

(k - numer neuronu, j - numer wejścia neuronu) Funkcje pobudzania g(.) (k - numer neuronu, j - numer wejścia neuronu) 1. Funkcja sumy 2. Funkcja iloczynu 3. Funkcja maksimum

gdzie: 4. Funkcja minimum 5. Funkcja majoryzacji 6. Funkcja sumy kumulowanej gdzie: i- krok działania neuronu

Dodatek 7 Funkcje aktywacji f(.)

Funkcje aktywacji f(.) – pojedynczych neuronów 1. Funkcja przekaźnikowa unipolarna (niesymetryczna) 2. Funkcja przekaźnikowa bipolarna (symetryczna)

3. Funkcja liniowa 4. Funkcja liniowa dodatnia

5. Funkcja liniowa z nasyceniem niesymetryczna 6. Funkcja liniowa z nasyceniem symetryczna

7. Funkcja sigmoidalna logarytmiczna unipolarna (niesymetryczna) 8. Funkcja sigmoidalna logarytmiczna bipolarna (symetryczna)

9. Funkcja sigmoidalna tangensa hiperbolicznego unipolarna (niesymetryczna) 10. Funkcja sigmoidalna tangensa hiperbolicznego bipolarna (symetryczna)

11. Funkcja Gaussa (Radial Basis)

Przybornik Neural Network w środowisku MATLAB/Simulink Dodatek 8 Przybornik Neural Network w środowisku MATLAB/Simulink Funkcje aktywacji

Funkcje aktywacji dla pojedynczych neuronów Algorytm: >> n=1 n = 1 >> a = hardlim(n) a = >> Przykłady: >> n= -1 -1 >> a=hardlim(n) a) b)

Algorytm: Przykłady: a) b) >> n=1 >> n= -1 n = 1 -1 >> a=hardlims(n) a = >> a) b) >> n= -1 -1

Algorytm: Przykłady: a) c) d) b) >> n=-1 >> n=100 >> a=purelin(n) a = >> >> n=-1 -1 c) >> n=100 100 d) >> n=-100 -100

Algorytm: Przykłady: a) b) c) d) >> n=1 >> n=-1 >> a=poslin(n) a = >> >> n=-1 -1 >> n=100 100 >> n=-100 -100

Algorytm: Przykłady: a) b) c) d) >> n=0.5 n = 0.5000 >> a=satlin(n) a = >> >> n=-0.500 -0.5000 >> n=2 2 1 >> n=-2 -2

Algorytm: a) b) c) d) Przykłady: >> n=0.5 n = 0.5000 >> a=satlins(n) a = >> >> n=-0.5 -0.5000 >> n=2 2 1 >> n=-2 -2 -1 Przykłady:

Algorytm: Przykłady: a) b) c) d) >> n=-0.5 >> n=0.5 0.5000 >> a=logsig(n) a = 0.6225 >> >> n=-0.5 -0.5000 0.3775 >> n=2 2 0.8808 >> n=-2 -2 0.1192

Algorytm: a) b) c) d) Przykłady: >> n=0.5 >> n=-0.5 0.5000 >> a=tansig(n) a = 0.4621 >> >> n=-0.5 -0.5000 -0.4621 >> n=2 2 0.9640 >> n=-2 -2 -0.9640 Przykłady:

Algorytm: Przykłady: a) d) b) c) >> n= 0.5 n = 0.5000 >> a=radbas(n) a = 0.7788 >> >> n=-0.5 -0.5000 >> n=2 2 0.0183 >> n=-2 -2 Przykłady:

Algorytm: a) b) c) d) Przykłady: >> n=0.5 >> n=-2 0.5000 >> a=tribas(n) a = >> >> n=-0.5 -0.5000 >> n=2 2 >> n=-2 -2 Przykłady:

Przybornik Neural Network w środowisku MATLAB/Simulink Dodatek 9 Przybornik Neural Network w środowisku MATLAB/Simulink Warstwowe funkcje aktywacji

Algorytm: Przykłady: a) b) a = compet(n) >> n=[0; 1; -0.5; 0.5] 1.0000 -0.5000 0.5000 >> a=compet(n) a = (2,1) 1 >> >> n=[1; 1; 1; 1;] 1 (1,1) 1

Algorytm: Przykłady: a) b) d) c) >> n=[0; 1; -0.5; 0.5] n = 1.0000 -0.5000 0.5000 >> a=softmax(n) a = 0.1674 0.4551 0.1015 0.2760 >> n=[0; 1] 1 0.2689 0.7311 >> n=[1; 2] 2 c) >> n=[9; 10] 9 10 d) Przykłady: