© Kazimierz Duzinkiewicz, dr hab. inż. Katedra Inżynierii Systemów Sterowania Modelowanie i podstawy identyfikacji 2015/2016 Modele neuronowe – podstawy, wybrane struktury i uczenie 1 Modelowanie i podstawy identyfikacji - studia stacjonarne Wykład 13b – 14a 2015/2016 Kazimierz Duzinkiewicz, dr hab. Inż. Katedra Inżynierii Systemów Sterowania Modele neuronowe – podstawy, wybrane struktury, uczenie
© Kazimierz Duzinkiewicz, dr hab. inż. Katedra Inżynierii Systemów Sterowania Modelowanie i podstawy identyfikacji 2015/2016 Modele neuronowe – podstawy, wybrane struktury i uczenie 2 Model neuronowy - podstawy Czym jest model neuronowy? Model neuronowy jest siecią neuronową, o wybranej strukturze i ustalonych w procesie uczenia wartościach parametrów Sieć neuronowa jest siecią wielu prostych procesorów (przetworników informacji) zwanych neuronami, z których każdy dysponuje lokalną pamięcią w postaci wag jego połączeń z innymi neuronami. Przetwarzanie realizowane przez neuron ma całkowicie lokalny charakter – zależy ono tylko od wartości docierających do niego sygnałów oraz wartości przechowywanych w jego lokalnej pamięci wag : : : : Sieć jednokierunkowa wielowarstwowa
© Kazimierz Duzinkiewicz, dr hab. inż. Katedra Inżynierii Systemów Sterowania Modelowanie i podstawy identyfikacji 2015/2016 Modele neuronowe – podstawy, wybrane struktury i uczenie 3 Model neuronowy - podstawy Cechy charakteryzujące sieć neuronową – przez co definiujemy sieć neuronową? Sieć neuronowa jest charakteryzowana przez: 1. funkcje według których neuron przetwarza docierające do niego sygnały - 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.
© Kazimierz Duzinkiewicz, dr hab. inż. Katedra Inżynierii Systemów Sterowania Modelowanie i podstawy identyfikacji 2015/2016 Modele neuronowe – podstawy, wybrane struktury i uczenie 4 Model neuronowy – neuron statyczny 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
© Kazimierz Duzinkiewicz, dr hab. inż. Katedra Inżynierii Systemów Sterowania Modelowanie i podstawy identyfikacji 2015/2016 Modele neuronowe – podstawy, wybrane struktury i uczenie 5 Model neuronowy – neuron statyczny Uproszczone przedstawienie modelu neuronu statycznego o numerze k Opis matematyczny neuronu o numerze k: Pobudzenie neuronu o numerze k: Odpowiedź neuronu o numerze k:
© Kazimierz Duzinkiewicz, dr hab. inż. Katedra Inżynierii Systemów Sterowania Modelowanie i podstawy identyfikacji 2015/2016 Modele neuronowe – podstawy, wybrane struktury i uczenie 6 Model neuronowy – neuron statyczny – funkcje przetwarzania Funkcja pobudzania g(.) (k - numer neuronu, j - numer wejścia neuronu) 1. Funkcja sumy – prawie wyłącznie stosowana
© Kazimierz Duzinkiewicz, dr hab. inż. Katedra Inżynierii Systemów Sterowania Modelowanie i podstawy identyfikacji 2015/2016 Modele neuronowe – podstawy, wybrane struktury i uczenie 7 Model neuronowy – neuron statyczny – funkcje przetwarzania Funkcje aktywacji f(.) – pojedynczych neuronów - najpopularniejsze 1. Funkcja przekaźnikowa unipolarna (niesymetryczna) Przybornik Neural Network w środowisku MATLAB/Simulink
© Kazimierz Duzinkiewicz, dr hab. inż. Katedra Inżynierii Systemów Sterowania Modelowanie i podstawy identyfikacji 2015/2016 Modele neuronowe – podstawy, wybrane struktury i uczenie 8 Model neuronowy – neuron statyczny – funkcje przetwarzania 2. Funkcja przekaźnikowa bipolarna (symetryczna) Przybornik Neural Network w środowisku MATLAB/Simulink
© Kazimierz Duzinkiewicz, dr hab. inż. Katedra Inżynierii Systemów Sterowania Modelowanie i podstawy identyfikacji 2015/2016 Modele neuronowe – podstawy, wybrane struktury i uczenie 9 Model neuronowy – neuron statyczny – funkcje przetwarzania 3. Funkcja liniowa Przybornik Neural Network w środowisku MATLAB/Simulink
© Kazimierz Duzinkiewicz, dr hab. inż. Katedra Inżynierii Systemów Sterowania Modelowanie i podstawy identyfikacji 2015/2016 Modele neuronowe – podstawy, wybrane struktury i uczenie 10 Model neuronowy – neuron statyczny – funkcje przetwarzania 4. Funkcja sigmoidalna logarytmiczna unipolarna (niesymetryczna) Przybornik Neural Network w środowisku MATLAB/Simulink
© Kazimierz Duzinkiewicz, dr hab. inż. Katedra Inżynierii Systemów Sterowania Modelowanie i podstawy identyfikacji 2015/2016 Modele neuronowe – podstawy, wybrane struktury i uczenie 11 Model neuronowy – neuron statyczny – funkcje przetwarzania 5. Funkcja sigmoidalna tangensa hiperbolicznego bipolarna (symetryczna) Przybornik Neural Network w środowisku MATLAB/Simulink
© Kazimierz Duzinkiewicz, dr hab. inż. Katedra Inżynierii Systemów Sterowania Modelowanie i podstawy identyfikacji 2015/2016 Modele neuronowe – podstawy, wybrane struktury i uczenie 12 Model neuronowy – neuron statyczny – funkcje przetwarzania 6. Funkcja Gaussa (Radial Basis) Przybornik Neural Network w środowisku MATLAB/Simulink
© Kazimierz Duzinkiewicz, dr hab. inż. Katedra Inżynierii Systemów Sterowania Modelowanie i podstawy identyfikacji 2015/2016 Modele neuronowe – podstawy, wybrane struktury i uczenie 13 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) Model neuronowy – struktury b (l) k g w k1 w (l) k2 w (l) kj w (l) km 1 g g y (l-1) m k- ty neuron sieci l-tej warstwy y (l -1) 1 y (l -1) 2 y (l -1) j y (l) k
© Kazimierz Duzinkiewicz, dr hab. inż. Katedra Inżynierii Systemów Sterowania Modelowanie i podstawy identyfikacji 2015/2016 Modele neuronowe – podstawy, wybrane struktury i uczenie 14 (i) sieci jednokierunkowe (jedno lub wielowarstwowe) (a) jednowarstwowe (b) wielowarstwowe x y L x y L1L2 L3 przepływ sygnałów od źródeł do warstwy neuronów wyjściowych Model neuronowy – struktury
© Kazimierz Duzinkiewicz, dr hab. inż. Katedra Inżynierii Systemów Sterowania Modelowanie i podstawy identyfikacji 2015/2016 Modele neuronowe – podstawy, wybrane struktury i uczenie 15 (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 Model neuronowy – struktury
© Kazimierz Duzinkiewicz, dr hab. inż. Katedra Inżynierii Systemów Sterowania Modelowanie i podstawy identyfikacji 2015/2016 Modele neuronowe – podstawy, wybrane struktury i uczenie 16 Model neuronowy – struktury (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
© Kazimierz Duzinkiewicz, dr hab. inż. Katedra Inżynierii Systemów Sterowania Modelowanie i podstawy identyfikacji 2015/2016 Modele neuronowe – podstawy, wybrane struktury i uczenie 17 we 1 we 2 we R wy 1 wy 2 wy S : :: : Nazewnictwo i elementy sieci neuronowych (warstwowych) Połączenia neuronów z wagami Sygnały wejściowe Sygnały wyjściowe Warstwa wejściowa Warstwa ukryta neuronów pierwsza Warstwa ukryta neuronów druga Warstwa wyjściowa neuronów Sieć jednokierunkowa wielowarstwowa Model neuronowy – struktury i nazwy
© Kazimierz Duzinkiewicz, dr hab. inż. Katedra Inżynierii Systemów Sterowania Modelowanie i podstawy identyfikacji 2015/2016 Modele neuronowe – podstawy, wybrane struktury i uczenie 18 Model neuronowy – struktury i nazwy Jednowarstwowa sieć neuronowa z R sygnałami wejściowymi i S neuronami w warstwie Wektor wejść: Wektor wyjść:
© Kazimierz Duzinkiewicz, dr hab. inż. Katedra Inżynierii Systemów Sterowania Modelowanie i podstawy identyfikacji 2015/2016 Modele neuronowe – podstawy, wybrane struktury i uczenie 19 Jednowarstwowa sieć neuronowa z R sygnałami wejściowymi i S neuronami w warstwie Macierz wag: Wektor progów: Model neuronowy – struktury i nazwy
© Kazimierz Duzinkiewicz, dr hab. inż. Katedra Inżynierii Systemów Sterowania Modelowanie i podstawy identyfikacji 2015/2016 Modele neuronowe – podstawy, wybrane struktury i uczenie 20 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 Model neuronowy – uczenie sieci
© Kazimierz Duzinkiewicz, dr hab. inż. Katedra Inżynierii Systemów Sterowania Modelowanie i podstawy identyfikacji 2015/2016 Modele neuronowe – podstawy, wybrane struktury i uczenie 21 Podstawowy podział metod uczenia to rozróżnienie pomiędzy uczeniem z nadzorem (supervised learning) i bez nadzoru (unsupervised learning) Model neuronowy – uczenie sieci 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)
© Kazimierz Duzinkiewicz, dr hab. inż. Katedra Inżynierii Systemów Sterowania Modelowanie i podstawy identyfikacji 2015/2016 Modele neuronowe – podstawy, wybrane struktury i uczenie 22 Model neuronowy – uczenie sieci Proces uczenia z pełnym nadzorem Dane biorące udział w procesie uczenia we1 we2 we3 we4 n1 n2 n3 n4 wy1 wy2 wy3 wy4 Uczące wzorce wejściowe Uczące wzorce wyjściowe (docelowe) Wzorce wyjściowe (docelowe)
© Kazimierz Duzinkiewicz, dr hab. inż. Katedra Inżynierii Systemów Sterowania Modelowanie i podstawy identyfikacji 2015/2016 Modele neuronowe – podstawy, wybrane struktury i uczenie 23 Model neuronowy – uczenie sieci 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
© Kazimierz Duzinkiewicz, dr hab. inż. Katedra Inżynierii Systemów Sterowania Modelowanie i podstawy identyfikacji 2015/2016 Modele neuronowe – podstawy, wybrane struktury i uczenie 24 Model neuronowy – uczenie sieci 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
© Kazimierz Duzinkiewicz, dr hab. inż. Katedra Inżynierii Systemów Sterowania Modelowanie i podstawy identyfikacji 2015/2016 Modele neuronowe – podstawy, wybrane struktury i uczenie 25 Model neuronowy – sprawdzenie zdolności uogólniania 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
© Kazimierz Duzinkiewicz, dr hab. inż. Katedra Inżynierii Systemów Sterowania Modelowanie i podstawy identyfikacji 2015/2016 Modele neuronowe – podstawy, wybrane struktury i uczenie 26 Dziękuję za uwagę – koniec materiału prezentowanego podczas wykładu