Ewolucja sieci Sztuczna inteligencja i uczenie maszynowe dr hab. inż. Piotr Chołda Katedra Telekomunikacji AGH 27 marca 2019 r.
Plan prezentacji 1 O co chodzi? 2 Podstawowe definicje 3 Przegląd metod Ewolucja sieci: AI/ML 2/61
Plan prezentacji 1 O co chodzi? 2 Podstawowe definicje 3 Przegląd metod Ewolucja sieci: AI/ML 3/61
Jakieś skojarzenia ze sztuczną inteligencją lub uczeniem maszynowym? Ewolucja sieci: AI/ML 4/61
No a co to jest ta inteligencja? Ewolucja sieci: AI/ML 5/61
Inteligencja Orientacja w rzeczywistości. Rozumowanie w celu (trafnego) rozwiązywania problemów. Użycie: pamięci, wiedzy, doświadczenia. Uczenie się. Adaptacja do nowych sytuacji. Ewolucja sieci: AI/ML 6/61
Rodzaje inteligencji Językowa. Matematyczna, czasem nazywana logiczno-matematyczną (ale tu kontrowersje). Przestrzenna. Muzyczna. Cielesno-kinestetyczna. Interpersonalna/emocjonalna. Wewnątrzosobowa/introspektywna Ewolucja sieci: AI/ML 7/61
Plan prezentacji 1 O co chodzi? 2 Podstawowe definicje 3 Przegląd metod Ewolucja sieci: AI/ML 8/61
Podstawowa klasyfikacja AI, Artificial intelligence Symboliczna sztuczna inteligencja. Sztuczna inteligencja obliczeniowa. Możliwe podejścia hybrydowe, chociaż występuje raczej specjalizacja w każdej z tych grup. Ewolucja sieci: AI/ML 9/61
Symboliczna sztuczna inteligencja Raczej kojarzona z inteligencją językową Model reprezentujący inteligentny system jest zadawany wprost. Wiedza jest reprezentowana w sposób symboliczny (np. pojęcia, zdania). Operacje kognitywne mogą zostać opisane z użyciem aparatu formalnego (np. logika zdań, logika predykatów, gramatyki formalne), wykonującego operacje na symbolicznej reprezentacji wiedzy. Często utożsamiana z podejściem typu top-down. Wcześniejsze podejście do sztucznej inteligencji, oczywiście ciągle żywe. Ewolucja sieci: AI/ML 10/61
Symboliczna sztuczna inteligencja Sieci semantyczne i grafy Sieć semantyczna: jeden z pierwszych modeli grafowych oparty na założeniach charakterystycznych dla symbolicznej sztucznej inteligencji. Wierzchołki sieci reprezentują obiekty lub pojęcia (klasy abstrakcji, kategorie), zaś krawędzie reprezentują relacje między nimi. Rysunek: Przykład sieci semantycznej Ewolucja sieci: AI/ML 11/61
Sztuczna inteligencja obliczeniowa Raczej kojarzona z inteligencją matematyczną Wiedza jest zasadniczo reprezentowana liczbowo. Przetwarzanie wiedzy polega głównie na prowadzeniu operacji numerycznych. Bardzo często wiedza nie jest reprezentowana wprost (tj. np. brak efektywnego, zrozumiałego lub wiarygodnego modelu opisu sytuacji), stąd zagadnienia BigData kojarzymy raczej z tym rodzajem AI. Często utożsamiana z podejściem typu bottom-up. Bliższe inżynierom nie-informatykom, częściej utożsamiane z uczeniem maszynowym (np. w zastosowaniach tele-). Ewolucja sieci: AI/ML 12/61
Obszary w zakresie sztucznej inteligencji Wnioskowanie oparte na logice. Systemy regułowe, w tym systemy ekspertowe. Wnioskowanie na podstawie wiedzy niedoskonałej. Wnioskowanie oparte na zbiorach rozmytych. Obliczenia ewolucyjne. Rozpoznawanie obrazów (wzorców). Sztuczne sieci neuronowe. Ewolucja sieci: AI/ML 13/61
Uczenie maszynowe ML, Machine learning Uczenie maszynowe to dział informatyki (stosowanej) odnoszący się do możliwości uczenia się (w praktyce: podnoszenia efektywności w rozwiązywaniu pewnego rodzaju zadań) maszyn na podstawie danych, mimo braku zaprogramowania na rozwiązywanie problemów w określony sposób. Uczenie maszynowe jest poddziedziną sztucznej inteligencji, ale np. są sytemy AI, które niekoniecznie się uczą (niektóre systemy ekspertowe). Ewolucja sieci: AI/ML 14/61
e or she ture. es clastake as of each mputer w data. be a set an innt bad. ion, the appliemploy n trees, andom tworks ANNs wn; we ter. edict a Uczenie maszynowe Klasyfikacja podejść Classification Logic regression Classification trees Support vector machines Random forests Artificial neural networks Supervised learning Regression Linear regression Decision trees Bayesian networks Fuzzy classification Artificial neural networks Machine learning Clustering k-means clustering Hierarchical clustering Gaussian mixture models Genetic algorithms Artificial neural networks Unsupervised learning Dimension reduction Principal component analysis Tensor decomposition Multidimensional statistics Random projection Artificial neural networks Ewolucja sieci: AI/ML 15/61
Uczenie nadzorowane (z nauczycielem) Supervised Learning Komputerowi podaje się dane wejściowe i oczekiwane dane wyjściowe (np. znaczymy dane). Ma się nauczyć generować jedne z drugich. Dane: sekwencja ucząca (treningowa), sekwencja walidacyjna, sekwencje testowe. Ewolucja sieci: AI/ML 16/61
Uczenie nadzorowane Ewolucja sieci: AI/ML 17/61
Klasyfikacja Ewolucja sieci: AI/ML 18/61
Regresja Najpopularniejsza: regresja liniowa Ewolucja sieci: AI/ML 19/61
Regresja nieliniowa Ewolucja sieci: AI/ML 20/61
Niebezpieczeństwo przeuczenia Przykład regresji: nadmierne dopasowanie danych (overfitting) Ewolucja sieci: AI/ML 21/61
Uczenie nienadzorowane (bez nauczyciela) Unsupervised Learning Zadane są dane wejściowe, ale nie są one znaczone. Oczekuje się, że komputer sam wyciągnie wnioski (np. wykryje ukryte wzorce/struktury, pogrupuje dane). Najbardziej popularna metoda analiza skupisk. Trudność: wprowadzenie odpowiedniej miary podobieństwa. Ewolucja sieci: AI/ML 22/61
Analiza skupisk Grupowanie, klasteryzacja (clustering) Ewolucja sieci: AI/ML 23/61
Redukcja wymiarów Przekleństwo wielowymiarowości (the curse of dimensionality). Niepotrzebnie zbyt dużo danych. Problem zmniejszenia liczby wymiarów opisujących dane, żeby nie utracić zbyt dużo informacji. Efekt: zwiększenie efektywności uczenia się, zmniejszenie niebezpieczeństwa nadmiernego dopasowania. Ewolucja sieci: AI/ML 24/61
SOFTWARE TECHNOLOGY Uczenie maszynowe Narzędzia programistyczne TABLE 1 Some popular machine-learning tools. Tool Python R Spark Matlab TensorFlow License Open source Open source Open source Proprietary Open source Distributed No No Yes No No Visualization Yes Yes No Yes No Neural nets Yes Yes Multilayer perceptron classifier Yes Yes Supported languages Python R Scala, Java, Python, and R Matlab Python and C++ Variety of machinelearning models Suitability as a generalpurpose tool High High Medium High Low High Medium Medium High Low Maturity High Very high Medium Very high Low statistics, Python has extensive libraries puter s main memory. If that s not Julia programming language for for numerical computing (NumPy), Ewolucja sieci: AI/ML possible, you must use a distributed technical computing, which aims at 25/61
Uczenie częściowo nadzorowane Semi-Supervised Learning Niepełny zestaw danych w sekwencji treningowej: często brakuje oznaczenia danych. Normalna sytuacja, np. praca z danymi historycznymi, których już nie można uzupełnić. Ewolucja sieci: AI/ML 26/61
Uczenie ze wzmocnieniem Reinforcement Learning Sekwencja treningowa to (niekoniecznie dobierane z jakimś zamysłem, a raczej generowane spontanicznie, zależnie od sytuacji) nagrody i kary służące jako sprzężenie zwrotne ze środowiska w zależności od tego, jak zmienia się praca algorytmu. Analogia: gra z przeciwnikiem (szachy, go), jazda samochodem z różnym oporem terenu w zależności od sposobu prowadzenia.a. Ewolucja sieci: AI/ML 27/61
Podstawowe zastosowania Z naszego punktu widzenia... Klasyfikacja. Regresja. Optymalizacja. Przykłady w zakresie tele-? Ewolucja sieci: AI/ML 28/61
Plan prezentacji 1 O co chodzi? 2 Podstawowe definicje 3 Przegląd metod Ewolucja sieci: AI/ML 29/61
Strukturalna reprezentacja wiedzy Automat akceptujący zdania prawdziwe Ewolucja sieci: AI/ML 30/61
Strukturalna reprezentacja wiedzy Składowe i reprezentacja strukturalna przebiegów EKG Ewolucja sieci: AI/ML 31/61
Obliczenia ewolucyjne Ewolucja sieci: AI/ML 32/61
Obliczenia ewolucyjne Algorytmy genetyczne. Strategie ewolucyjne. Programowanie ewolucyjne. Programowanie genetyczne. Ewolucja sieci: AI/ML 33/61
Algorytmy genetyczne Ewolucja sieci: AI/ML 34/61
Algorytmy genetyczne Ewolucja sieci: AI/ML 35/61
Algorytmy genetyczne Ewolucja sieci: AI/ML 36/61
Algorytmy genetyczne Krzyżowanie Ewolucja sieci: AI/ML 37/61
Strategie ewolucyjne Ewolucja sieci: AI/ML 38/61
Przykłady http://rednuht.org/ genetic_cars_2 Ewolucja sieci: AI/ML 39/61
Programowanie ewolucyjne Ewolucja sieci: AI/ML 40/61
Rozpoznawanie wzorców Pozyskiwanie danych. Wstępne przetwarzanie danych. Ekstrakcja cech. Klasyfikacja. Ewolucja sieci: AI/ML 41/61
Analiza skupisk Decyzja nt. przynależności nowego obiektu Ewolucja sieci: AI/ML 42/61
Separacja klas Także metoda wektorów wspierających Support Vector Machine Ewolucja sieci: AI/ML 43/61
Separacja klas Użycie drzew decyzyjnych Ewolucja sieci: AI/ML 44/61
Sztuczne sieci neuronowe Liczba neuronów w ludzkim mózgu: 10 11. Liczba połączeń między neuronami w ludzkim mózgu: 10 14. Ewolucja sieci: AI/ML 45/61
Perceptron Pierwszy model sztucznego neuronu, McCulloch i Pitts (1943) m ϕ = w i u i = w T u i=1 Ewolucja sieci: AI/ML 46/61
Funkcje aktywacji F Liniowa. Progowa. Sigmoidalna. Tangensoidalna. Ewolucja sieci: AI/ML 47/61
Sieci neuronowe wielowarstwowe Warstwy: wejściowa, ukryta/ukryte, wyjściowe. Potencjalnie różne funkcje aktywacji. Wybór typów neuronów, warstw, funkcji aktywacji, połączeń między nimi. Głębokie sieci neuronowe... Ewolucja sieci: AI/ML 48/61
Sieci neuronowe wielowarstwowe Dopasowanie do trudności problemu Ewolucja sieci: AI/ML 49/61
Sztuczne sieci neuronowe Różne topologie: sieci rekurencyjne Ewolucja sieci: AI/ML 50/61
Sztuczne sieci neuronowe Moc aproksymacyjna Cybenko, 1989 Nawet sieci nierekurencyjne (feed-forward) z jedną warstwą ukrytą i skończoną liczbą neuronów mogą efektywnie aproksymować ciągłe funkcje określone na zwartych podzbiorach R n. Wymagane są tylko słabe założenia dotyczące funkcji aktywacji (dowód dla funkcji sigmoidalnej). Nie jest powiedziane, jak ma wyglądać uczenie takich funkcji. Ewolucja sieci: AI/ML 51/61
Przykłady Digits recognition example: http://scs.ryerson.ca/~aharley/vis/conv/flat.html Tensorflow: https://playground.tensorflow.org Ewolucja sieci: AI/ML 52/61
Użycie logiki rozmytej Fuzzy logic Klasyczna logika: Białe jest białe, a czarne jest czarne. Logika rozmyta coś może być szare: Szare jest w 30% białe, a w 70% czarne. Odpowiednie funkcje przynależności do zbiorów i sposoby rozumowania. Ewolucja sieci: AI/ML 53/61
Podsumowanie Uczenie maszynowe sztuczna inteligencja. Sieci neuronowe, różne metody rozpoznawania wzorców, optymalizacja z użyciem obliczeń ewolucyjnych. Mnóstwo narzędzi łatwość użycia (pułapka), kłopot z doborem odpowiedniego. Głębokie zrozumienie działania aparat matematyczny. Ewolucja sieci: AI/ML 54/61
Czy są pytania? Ewolucja sieci: AI/ML 55/61
Dziękuję Państwu za uwagę! Ewolucja sieci: AI/ML 56/61