Automatyka - zastosowania, metody i narzędzia, perspektywy na studiach I stopnia specjalności: Automatyka i systemy sterowania Uczenie maszynowe (Machine Learning) dr inż. Michał Grochowski m.grochowski@eia.pg.gda.pl kiss.pg.mg@gmail.com tel: 58 347 29 04 Strona (tymczasowa): www.ely.pg.gda.pl/kiss/dydaktyka/automatyka2 -
Co to jest Uczenie maszynowe Uczenie maszynowe jest dziedziną nauki operującą na danych i jest częścią tzw. metod sztucznej inteligencji (ang. Artificial intelligence - AI) oraz metod inteligencji obliczeniowej (Computational Intelligence - CI). Celem uczenia maszynowego jest praktyczna realizacja koncepcji AI oraz CI, stworzenia systemu samouczącego, który jest w stanie się doskonalid na bazie doświadczenia, danych i wiedzy (data mining, data acquisition). źródło: http://gcn.com/articles/2013/03/26/siftscience-machine-learning-anti-fraud.aspx
Celem uczenia maszynowego jest odkrywanie (odnajdowanie) tego co jest w danych ukryte.
Celem uczenia maszynowego jest odkrywanie (odnajdowanie) tego co jest w danych ukryte. Separacja obrazów źródło: A. M. Bronstein, M. M. Bronstein, M. Zibulevsky, "On separation of semitransparent dynamic images from static background", Proc. Intl. Conf. on Independent Component Analysis and Blind Signal Separation, pp. 934-940, 2006.
Celem uczenia maszynowego jest odkrywanie (odnajdowanie) tego co jest w danych ukryte. Data Mining źródło: Lecture Notes: Applied Machine Learning. LASA Laboratory, EPFL CH-1015 Lausanne, Switzerland.
Uczenie maszynowe gwałtownie zyskuje popularnośd z powodu swoich zdolności do pracy w warunkach powodzi danych". Znajduje zastosowania tam gdzie duże rozmiary zbiorów danych uniemożliwiają ich ręczną analizę, tam gdzie system musi się w sposób dynamiczny i autonomiczny dostosowywad do zmieniających się warunków oraz tam gdzie problemy są na tyle złożone i skomplikowane że nie istnieją ich wiarygodne modele teoretyczne.
Uczenie maszynowe sprawdza się znakomicie w takich zagadnieniach jak: podejmowanie decyzji; pozyskiwanie wiedzy z danych i zachowao; inteligentne systemy wyszukiwania informacji; przetwarzanie i rozpoznawanie mowy; przetwarzanie i rozpoznawanie obrazów (w tym twarzy), zachowao, gestów; inteligentne systemy kompresji danych; widzenie komputerowe; autonomiczne sterowanie pojazdów bezzałogowych; systemy wieloagentowe; inteligentne systemy diagnostyczne; inteligentne systemy sterowania; prognozowanie i w wielu innych.
Ceny [zł] Uczenie maszynowe obejmuje takie zagadnienia jak: odkrywanie struktur/cech w danych; klasteryzacja; kompresja; klasyfikacja; regresja, aproksymacja, predykcja; separacja; identyfikacja; rozpoznawanie; optymalizacja; i 3000 2800 2600 2400 2200 2000 1800 WIG20 prognoza 40 60 80 100 120 140 160 Czas [tygodnie]
Najbardziej popularne narzędzia Uczenia maszynowego: Sztuczne sieci neuronowe (wielowarstwowe; radialne; dynamiczne; samoorganizujące; rozmyte; falkowe, neuro-genetyczne); Metody wielowymiarowej analizy statystycznej danych: Analiza Składników Podstawowych (Principal Component Analysis - PCA) oraz Analiza Składników Niezależnych (Independent Component Analysis - ICA); Metody kernelowe; Maszyny Wektorów Podtrzymujących (Support Vector Machines); Sied Kohonena
Najbardziej popularne narzędzia Uczenia maszynowego: k-means; c fuzzy means; Mixture of Gaussian Models; metody hierarchiczne; modele Markowa; algorytmy genetyczne, ewolucyjne; rojowe (Particie swarm optimisation), mrówkowe (Ant colony); Symulowane wyżarzanie (Simulated annealing); Artificial immune system.
Oczekiwania i ograniczenia wobec systemów uczących się: Oczekuje się, że systemy powinny uczyd się korzystając z wiedzy fragmentarycznej, doskonalid się w trakcie pracy, gromadzid doświadczenia, tworzyd nowe pojęcia, indukcyjnie wyciągad wnioski. Oczekiwane zadania systemów: formułowanie nowych pojęd, wykrywanie nieznanych prawidłowości w danych, tworzenie reguł decyzyjnych, przyswajanie nowych pojęd i struktur drogą uogólnienia i analogii, modyfikowanie, uogólnianie i precyzowanie danych, zdobywanie wiedzy poprzez kontakt z otoczeniem, generowanie wiedzy zrozumiałej dla człowieka, Na podstawie: Wykładu "Maszynowe uczenie sie" Jerzy Stefanowski, Instytut Informatyki, Politechnika Poznaoska 2009.
Ograniczenia systemów uczących się: Problemy wynikające z: wprowadzenia danych niekompletnych, wprowadzenia danych częściowo sprzecznych, niezdefiniowania ograniczeo dziedzinowych. Klasyfikacja metod maszynowego uczenia się: W ogólności system zmieniad się może w dwojaki sposób: system nabywa "nową wiedzę" z zewnętrznych źródeł, system modyfikuje się samodzielnie poprzez intensywne wykorzystywanie posiadanej już wiedzy w sposób bardziej efektywny. Podział ze względu na rodzaj informacji dostarczony w zbiorze przykładów: uczenie nadzorowane (ang. supervised learning, reinforcement learning), uczenie nienadzorowane (ang. unsupervised learning). Na podstawie: Wykładu "Maszynowe uczenie sie" Jerzy Stefanowski, Instytut Informatyki, Politechnika Poznaoska 2009.
Klasteryzacja danych
Motywacja Klasteryzacja danych rozwój technologii cyfrowej (informacje z czujników pomiarowych, zdjęcia, bazy danych, digitalizacja zbiorów bibliotecznych, badania genetyczne, przeszukiwanie internetu, obróbka dźwięku i wideo etc ) kreuje coraz większe zbiory danych; szacuje się że w 2011 roku przetwarzanych było ok. 3*10 20 B danych; Zdajemy sobie sprawę z tego że to dopiero początek.
Klasteryzacja danych Celem klasteryzacji powinno byd odnalezienie naturalnego grupowania wzorców, cech, obrazów, itp celem ich późniejszej łatwiejszej obróbki. 7 6 5 4 Klasteryzacja (grupowanie danych) jest jedną z metod nienadzorowanej analizy danych (w odróżnieniu odklasyfikacji). 3 2 1 5 4 3 2 4 5 6 7 8 Jej celem jest podział danych na klastry (grupy), tak aby każdy z nich zawierał możliwie podobne do siebie elementy (homogenicznośd w grupach), a jednocześnie, poszczególne klastry powinny byd jak najbardziej zróżnicowane pomiędzy sobą (heterogenicznośd pomiędzy grupami).
Klasteryzacja danych Podobieostwo grup danych może byd opisane na różne sposoby, w zależności odprzyjętej miary. Grupy danych mogą byd reprezentowane na różne sposoby, najczęściej poprzez centralny punkt w przestrzeni danych. W zależności od sposobu reprezentacji i przyjętej miary, grupy mogą wyglądad zupełnie inaczej. W procesie grupowania danych nie posiadamy danych wzorcowych tak więc proces ten jest uczeniem bez nauczyciela. Jain, A.K. Data clustering: 50 years beyond K-means. Pattern Recognition Lett. (2009),
Wprowadzenie Klasteryzacja danych W zagadnieniach klasyfikacji często operujemy pojęciami: obiekty np. wina, kwiaty, pacjenci, samochody, klienci banków, użytkownicy portali społecznościowych, teksty, obrazy, dźwięki, geny cechy np. kolor, woo, smak; długośd, kolor, długośd płatków kwiatowych; wyniki badao medycznych, parametry samochodów; upodobania ludzkie, rodzaje wykonywanych operacji finansowych; wzorce graficzne; słowa kluczowe
Wprowadzenie Klasteryzacja danych Przyjmujemy, że dane podlegające grupowaniu zapisywane są w postaci macierzy X zawierającej M obiektów, składających się z numerycznych wartości opisujących obiekty (każda po N cech). Zakładając że grupy danych reprezentowane są przez ich środki, celem algorytmu grupowania danych jest uzyskanie c wektorów v i = [v i1,, v in ], i=1,, c będących reprezentantami poszczególnych grup w przestrzeni danych. W problemie grupowania 100 obiektów do 5ciu różnych grup, mamy możliwośd podziału tych danych na 6.57 e 67 różnych sposobów!!!!!!! Celem jest zatem znalezienie efektywnego algorytmu grupowania danych pozwalającego na znalezienie optymalnego (suboptymalnego) podziału tych danych bez konieczności analizy wszystkich możliwych kombinacji.
Wprowadzenie Klasteryzacja danych Przy założeniu 1 mln obrazów i czasie porównywania pary obrazów ok. 10 ms., otrzymamy czas realizacji zapytania ok. 30 godzin; jednak aplikacje porównujące (wyszukujące) tekst działają znacznie szybciej: 10 miliardów dokumentów tekstowych jest przeszukiwana przez Google w ok. 0.1 sekundy!!! (a) a pair of similar images has 370 matching key points; (b) a pair of different images has 64 matching key points. The green lines show the matching key-points between the images (Lee et al., 2008). Jain, A.K. Data clustering: 50 years beyond K-means. Pattern Recognition Lett. (2009),
Metody klasteryzacji grupujące (ostre, rozmyte, posybilistyczne); hierarchiczne
Ostre grupowanie danych Celem ostrego grupowania danych jest podział danych na c grup A i, tak aby: Interpretacja: A i A j A i c i 1 A X, (1) zbiór wszystkich grup zawiera wszystkie wektory danych, a każdy obiekt należy dokładnie do jednej grupy; (2) grupy danych są rozłączne; (3) żadna z grup nie jest pusta ani nie zawiera całego zbioru danych X., Aby podzielid dane na c grup, wygodnie jest przyjąd macierz podziału U o wymiarach cxm, zawierającą stopnie przynależności ᴜ ik k-tej danej do i-tej grupy k=1,, M; i=1,, c. X i 1 1 i i j c c (1) (2) (3)
Cluster Membership Score 6 4 Ostre grupowanie danych Cluster 1 Cluster 2 6 4 Nieostre grupowanie danych Cluster 1 Cluster 2 2 2 0 0-2 -2-4 -4-6 -6-4 -2 0 2 4 6 8-6 -6-4 -2 0 2 4 6 8 1 0.9 Cluster 1 Score Cluster 2 Score 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0 0 50 100 150 200 250 300 Point Ranking
Miary odległości Niezmiernie istotnym czynnikiem wpływającym na wynik podziału danych jest sposób obliczania odległości pomiędzy obiektami zbioru danych. W przypadku grupowania danych mierzymy odległości w przestrzeni cech. Najczęściej stosowaną miarą odległości jest miara euklidesowa, interpretowana jako geometryczna odległośd między dwoma punktami w przestrzeni X. Rozważmy dwa punkty o współrzędnych x s =[x 1, x 2,, x m ] oraz x t =[x 1, x 2,, x m ] i policzmy odległości pomiędzy nimi zgodnie z normami: Euklidesowa; Euklidesowa ważona (odchyleniem standardowym); Manhattan (city block); Mahalanobis; Czebyszewa; Hamminga; Cosine. Miara Manhattan
Algorytmy grupowania danych Algorytm HCM (Hard k-means) Algorytm HCM dzieli jednoznacznie dane X na c grup. W trakcie realizacji algorytmu obliczamy odległośd pomiędzy każdym wektorem: i środkiem grupy: n xk R, k 1,, M v i, i 1,, c Środek grupy jest średnią położenia wszystkich obiektów należących do tej grupy. Przynależnośd do grupy opisujemy za pomocą macierzy: U [ ] ik Z H Elementami macierzy U są zera i jedynki określające przynależnośd obiektu x k do i-tej grupy. Inicjalizacja algorytmu polega na wyborze liczby grup c i ustaleniu początkowego położenia ich środków np. losowo.
Algorytmy grupowania danych Superpozycja k lokalnych modeli Gaussa Inne algorytmy: Algorytm HCM (Hard k-means); Algorytm FCM (Fuzzy C-Means), znany również jako Soft k-means; Algorytm PCM (Possibilistic C-Means); Gaussian Mixture Models (GMM).
Klasteryzacja hirarchiczna (hierarchical clustering)
Klasteryzacja hierarchiczna Klasteryzacja hierarchiczna jest metodą grupowania danych w różnej skali poprzez tworzenie drzewa klastrów zwanego dendrogramem. Drzewo nie jest zwyczajnym zbiorem klastrów a raczej wielopoziomową strukturą hierarchiczną, w której to klastry jednego poziomu tworzą (po połączeniu) klaster na poziomie wyższym. Dzięki temu możemy uzyskad odpowiedni do naszych potrzeb stopieo klasteryzacji. 2.5 2 1.5 1 4 5 1 3 2
Klasteryzacja hierarchiczna Można wyróżnid dwa sposoby klasteryzacji hierarchicznej: klasteryzacja skupiająca zaczynamy od pojedynczych elementów stanowiących klastry, a następnie w kolejnych krokach łączymy klastry na kolejnych poziomach, aż do uzyskania jednej grupy skupiającej wszystkie obiekty; klasteryzacja dzieląca zakładamy że wszystkie dane należą do jednego klastra, a w kolejnych krokach dokonujemy podziału klastra na kolejne, aż do momentu gdy każdy z elementów będzie stanowił pojedynczy klaster. 2.5 2 1.5 1 4 5 1 3 2
Klasteryzacja hierarchiczna źródło: Lecture Notes: Applied Machine Learning. LASA Laboratory, EPFL CH-1015 Lausanne, Switzerland.
Klasteryzacja hierarchiczna źródło: Lecture Notes: Applied Machine Learning. LASA Laboratory, EPFL CH-1015 Lausanne, Switzerland.
Klasteryzacja danych Przykład Sterowania Automatyka - zastosowania, metody i narzędzia, perspektywy
2 klastry
3 klastry
10 klastrów
20 klastrów
50 klastrów
70 klastrów
Sztuczne sieci neuronowe wprowadzenie (wybrane fragmenty materiału wykładowego p. Kazimierza Duzinkiewicza)
Sztuczne sieci neuronowe Geneza: Sieci neuronowe powstały dzięki obserwacjom i próbom naśladowania przetwarzania informacji w centralnym systemie nerwowym organizmów żywych Jakie mają cechy: Sieci neuronowe nie wymagają posiadania wyrazistej wiedzy dla ich stosowania Sieci neuronowe posiadają zdolność uczenia się złożonych zależności funkcyjnych z ograniczonej ilości danych uczących i następnie uogólniania dla danych innych niż dane uczące
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
Sztuczne sieci neuronowe Jakie mają cechy: Sieci neuronowe nie wymagają dla ich stosowania, posiadania wyrazistej wiedzy o mechanizmach przetwarzania, które chcemy z ich pomocą zrealizować Sieci neuronowe posiadają zdolność uczenia się złożonych zależności funkcyjnych z ograniczonej ilości danych uczących i następnie uogólniania dla danych innych niż dane uczące Jak mogą być wykorzystane: Sieci neuronowe mogą służyć jako modele black box systemów wielowymiarowych, nieliniowych, statycznych i dynamicznych uzyskiwane drogą uczenia w oparciu o dane z obserwacji wejścia wyjścia systemu
Krótki opis neuronu biologicznego Mózg składa się z 10 10-10 11 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 10 3 10 4 dendrytów Drzewko wyjściowe neuronu
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 Drzewko wyjściowe neuronu
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 Drzewko wyjściowe neuronu
Aspekty na których skupimy nasze zainteresowanie sztucznymi sieciami neuronowymi w tym przedmiocie Klasyfikacja obiektów Przestrzeń rozważań Wektor cech i wyznaczniki (etykiety) klas Sieć neuronowa z zadaniu klasyfikacji faza uczenia Projektowanie klasyfikatora Sieć neuronowa z zadaniu klasyfikacji faza uogólniania Przetwarzanie danych i ekstrakcja cech Obserwowane cechy Etykiety klas Klasyfikator 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
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 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) x 1 w k1 Próg b k Funkcja aktywacji Model neuronu statycznego o numerze k Sygnały wejściowe x 2. x j. x m w k2. w kj. w km Wagi g( ) Funkcja pobudzania (propagacji) n k ( ) Sygnał pobudzenia Sygnał odpowiedzi y k Wyjście
Funkcje aktywacji f(.) pojedynczych neuronów 1. Funkcja przekaźnikowa unipolarna (niesymetryczna) y 0 1 gdy gdy n n 0 0 2. Funkcja przekaźnikowa bipolarna (symetryczna) y 1 1 gdy gdy n n 0 0
3. Funkcja liniowa y n 4. Funkcja sigmoidalna logarytmiczna unipolarna (niesymetryczna) y 1 1 exp( ; n ) 0
5. Funkcja sigmoidalna tangensa hiperbolicznego bipolarna (symetryczna) y tanh( n ) exp( exp( n ) n ) exp( exp( n ) ; n ) 0 6. Funkcja Gaussa (Radial Basis) y exp 2 n 2
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 L y przepływ sygnałów od źródeł do warstwy neuronów wyjściowych (b) wielowarstwowe x L1 L2 L3 y
Struktury sieci neuronowych c.d. Przykłady i terminologia: (a) sieć jednowarstwowa (b) sieć wielowarstwowa we1 n1 we2 we1 n1 wy1 we3 we4 n2 n5 wy1 we2 n2 wy2 we5 we6 n3 n6 wy2 we3 we4 Warstwa wejściowa węzłów źródłowych n3 n4 wy3 wy4 Warstwa neuronów wyjściowych we7 we8 we9 we10 Warstwa wejściowa węzłów źródłowych n4 Warstwa neuronów ukrytych Warstwa neuronów wyjściowych
Struktury sieci neuronowych c.d. (ii) sieci ze sprzężeniem zwrotnym (rekurencyjne) + x L1 L2 y - 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
Przykłady i terminologia: Struktury sieci neuronowych c.d. Wyjścia Operator opóźnienia jednostkowego Operator opóźnienia jednostkowego Wejścia Wyjścia w sieci mogą występować pętle samo sprzężenia zwrotnego
Struktury sieci neuronowych c.d. (iii) sieci komórkowe N 1 N 4 N 7 N 10 regularnie rozmieszczone przestrzennie neurony zwane komórkami N 5 N 2 N 8 N 11 każda komórka powiązana bezpośrednio z wszystkimi komórkami swego najbliższego sąsiedztwa (przyległymi) N 3 N 6 N 9 N 12 powiązania pomiędzy komórkami są dwukierunkowe
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 realizować zadanie dla którego została zbudowana się 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 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.
Dodatek 3: Kto rozwijał sztuczne sieci neuronowe - ważniejsze fakty 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
Dodatek 3:Kto rozwijał sztuczne sieci neuronowe - ważniejsze fakty x = 1 0 x 1 x 2... x n Układ wprowadzania obrazu y Poprawne wyjście (dostarczane podczas uczenia) w 0 w 1 w 2 w n y... 1 gdy 0 gdy n i 1 n i 1 w x i w x i i i Matryca sensorów obrazu 0 0 Szafa modułów par silnik - potencjometr Tablica łączeniowa
Dodatek 3: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 3: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? Wejścia do sieci neuronowej: wektory 16 bitowe jedynek (1) i zer (0) T 1 0 0 1 0 1 1 0 0 1 1 0 1 0 0 1 T 1 0 0 1 0 1 1 0 0 1 1 0 1 0 0 1 T 1 1 1 1 0 0 0 1 0 0 0 1 0 1 1 1 Dodatek 3:Kto rozwijał sztuczne sieci neuronowe - ważniejsze fakty
Dodatek 3:Kto rozwijał sztuczne sieci neuronowe - ważniejsze fakty Zewnętrzny obraz rozwiązywania zadania
Sztuczne sieci neuronowe -Sieci samoorganizujące się (Self Organizing Maps)
Wstęp Sterowania Automatyka - zastosowania, metody i narzędzia, perspektywy Motywacja Organizacja neuronów kory mózgowej. Nasze czujniki dotyku, obrazu, dźwięku, smaku są odwzorowywane (grupują się) w różnych obszarach kory mózgowej. Ta mapa topologiczna neuronów stanowi podstawę funkcjonowania naszego układu nerwowego. http://antranik.org/wp-content/uploads/2011/11/ left-lateral-view-functional-areas-cerebral-cortex-motor-sensory-association-areas.jpg Neurony (grupy neuronów) stanowią swego rodzaju samodzielne mikro jednostki obliczeniowe, różniące się w niewielkim stopniu w swojej strukturze (wagi).
Wstęp Sterowania Automatyka - zastosowania, metody i narzędzia, perspektywy Abstrahując od mechanizmów uczenia, dużą rolę odgrywa nadmiarowośd danych uczących, stanowiąca klucz do uczenia bez nauczyciela. Wielokrotne pobudzanie sieci tymi samymi (podobnymi) wejściami, stanowi bazę wiedzy sieci, z której to następnie, po aktywacji sieci określonym wejściem wyciągane są na drodze skojarzeo konkluzje w postaci uaktywnienia odpowiedniego wyjścia. źródło: Ossowski, S. Sieci neuronowe do przetwarzania informacji. Oficyna wydawnicza Politechniki Warszawskiej, 2000.
Wstęp Sterowania Automatyka - zastosowania, metody i narzędzia, perspektywy Dwa podstawowe mechanizmy samoorganizacji to: mechanizm oparty o regułę asocjacji Hebba oraz mechanizm współzawodnictwa pomiędzy neuronami Kohonena. Reguła Hebba: "jeżeli akson komórki A bierze systematycznie udział w pobudzeniu komórki B powodującym jej aktywację, to wywołuje to zmianę metaboliczną w jednej lub obu komórkach, prowadzącą do wzrostu skuteczności pobudzania B przez A" (Hebb 1949)
Wstęp Sterowania Automatyka - zastosowania, metody i narzędzia, perspektywy Mechanizm współzawodnictwa: algorytm WTA (Winner Takes All) Zwycięzca bierze wszystko W algorytmie tym wszystkie neurony pobudzane są tymi samymi sygnałami wejściowymi, a neuron którego wyjście osiągnie najwyższy poziom staje się zwycięskim i tylko jego wagi podgalają adaptacji. algorytm WTM (Winner Takes Most) Zwycięzca bierze większośd W algorytmie tym wszystkie neurony pobudzane są tymi samymi sygnałami wejściowymi, a neuron którego wyjście osiągnie najwyższy poziom staje się zwycięskim. W algorytmie WTM oprócz neuronu zwycięskiego również wagi sąsiadujących z nim neuronów podlegają adaptacji.
Podstawowe procesy zachodzące w SOM 1. Współzawodnictwo Dla każdego wejścia neurony konkurują pomiędzy sobą. Neuron o największym sygnale wyjściowym wygrywa. 2. Kooperacja Zwycięski neuron determinuje sąsiedztwo topologiczne pobudzonych neuronów. 3. Adaptacja wag synaptycznych Wagi synaptyczne zwycięskiego neuronu oraz jego sąsiedztwa topologicznego zostają wzmocnione.
SOM w Matlabie Wejście
SOM w Matlabie Inicjalizacja wag sieci
SOM w Matlabie Wagi sieci po 1 epoce
SOM w Matlabie Wagi sieci po 2 epokach
SOM w Matlabie Wagi sieci po 5 epokach
SOM w Matlabie Wagi sieci po 50 epokach
SOM w Matlabie Wagi sieci po 5000 epokach
SOM w Matlabie Wagi sieci po 50000 epokach
SOM w Matlabie Wejście
SOM w Matlabie Inicjalizacja wag sieci
SOM w Matlabie Wagi sieci po 1 epoce
SOM w Matlabie Wagi sieci po 2 epokach
SOM w Matlabie Wagi sieci po 5 epokach
SOM w Matlabie Wagi sieci po 20 epokach
SOM w Matlabie Wagi sieci po 200 epokach
SOM w Matlabie Wagi sieci po 200000 epokach
Kompresja danych, wielowymiarowe metody statystyczne
Wielowymiarowa analiza statystyczna, Analiza Składników Podstawowych (Principal Components Analysis PCA)
Wprowadzenie do Analizy Składników Podstawowych: Zakładamy że mamy n pomiarów o rozmiarze m: X x x Kolejne pomiary 1,1 m,1 x x 1, n m, n zmienne m jest duże,, za duże Celem jest redukcja ilości zmiennych do np. l zmiennych. Jak to efektywnie zrobid?? ile danych odrzucid? które? aby nie utracid ważnych informacji o obiekcie
Wprowadzenie do Analizy Składników Podstawowych: Jeżeli odrzucamy któreś z danych, w opisie obiektu wprowadzamy jakiś błąd; Sztuka polega na tym aby wybrad dane najbardziej cenne z punktu widzenia ilości informacji o procesie i odrzucid takie dane (i tyle danych) aby błąd odwzorowania procesu był jak najmniejszy; Nie da się tego efektywnie zrobid w przestrzeni pomiarów, więc należy przetransformowad je do przestrzeni cech i tam spróbowad je jakoś wybrad; Przestrzeo danych x x 1 2 x m Transformacja Przestrzeo cech x x x 1 l m
Wprowadzenie do Analizy Składników Podstawowych: Wyobraźmy sobie wektor transformacji (również odwrotnej) T który dokona transformacji wektora pomiarów X do nowej przestrzeni w postaci wektora X new ; T X X new Transformacja powinna byd optymalna w sensie minimalizacji popełnianego błędu średniokwadratowego; Wektor X new powinien byd po transformacji T, np. tak zorganizowany aby pierwsze l punktów niosło najwięcej informacji o procesie. Pozostałe m-l można by zaniedbad. Przestrzeo danych x x 1 2 x m Transformacja Przestrzeo cech x x x 1 l m Rozmiary macierzy: T X X new [ m, m] [ m,1] [ m,1]
Sterowania Automatyka - zastosowania, metody i narzędzia, perspektywy Idea metody Analizy Składników Podstawowych: Najpopularniejszą metodą wielowymiarowej analizy statystycznej jest metoda Analizy Składników Głównych/Podstawowych PCA (Principal Components Analysis ); Ideą PCA jest dobór minimalnej ilości nowych zmiennych do możliwie dokładnego opisu wariancji (zmienności) danych wejściowych (np. pomiarowych), przy użyciu kombinacji liniowych oryginalnych zmiennych; Składniki główne są dobrane zgodnie z kierunkami opisującymi największą zmiennośd (wariancję) procesu x2 PC2 PCA PC1 x1
Sterowania Automatyka - zastosowania, metody i narzędzia, perspektywy Idea metody Analizy Składników Podstawowych: Tworzymy nowy układ współrzędnych oparty o nowe, nieskorelowane zmienne składniki główne (PCs); Kierunki te są do siebie ortogonalne; Dane podczas obróbki wstępnej są normalizowane i sprowadzane do wartości średniej równej 0; Analiza PCA ma sens jedynie wtedy gdy dane są ze sobą skorelowane!!! x2 PC2 PCA PC1 x1
Idea metody Analizy Składników Podstawowych: Tworzymy nowy układ współrzędnych oparty o nowe, nieskorelowane zmienne składniki główne (PCs); Kierunki te są do siebie ortogonalne; Dane podczas obróbki wstępnej są normalizowane i sprowadzane do wartości średniej równej 0; Analiza PCA ma sens jedynie wtedy gdy dane są ze sobą skorelowane!!! x2 PC2 PCA PC1 x1
Inne zastosowania PCA Kompresja obrazu Obraz oryginalny (512x512)
Inne zastosowania PCA Kompresja obrazu Kompresja 30 %
Inne zastosowania PCA Kompresja obrazu Kompresja 50 %
Inne zastosowania PCA Kompresja obrazu Kompresja 75 %
Inne zastosowania PCA Kompresja obrazu Kompresja 90 %
Inne zastosowania PCA Kompresja obrazu Kompresja 95 %
Inne zastosowania PCA Kompresja obrazu Kompresja 99 %
Inne zastosowania PCA Rozpoznawanie twarzy Metoda Eigenfaces
Sterowania Automatyka - zastosowania, metody i narzędzia, perspektywy Inne zastosowania PCA Rozpoznawanie twarzy PCA jest transformacją (mapowaniem) które jest niewrażliwe na skalę i obrót danych => cenne w rozpoznawaniu obiektów PC1 PC2
Dziękuję za uwagę