Ewolucja sieci - Sztuczna inteligencja i uczenie maszynowebrus/evolution/06_AI.pdf · Ewolucja...

Ewolucja sieci Sztuczna inteligencja i uczenie maszynowe Piotr Cholda Katedra Telekomunikacji AGH 11 kwietnia 2018 r.

Transcript of Ewolucja sieci - Sztuczna inteligencja i uczenie maszynowebrus/evolution/06_AI.pdf · Ewolucja...

Page 1: Ewolucja sieci - Sztuczna inteligencja i uczenie maszynowebrus/evolution/06_AI.pdf · Ewolucja sieci Sztuczna inteligencja i uczenie maszynowe Piotr Chołda Katedra Telekomunikacji

Ewolucja sieciSztuczna inteligencja i uczenie maszynowe

Piotr Chołda

Katedra Telekomunikacji AGH

11 kwietnia 2018 r.

Page 2: Ewolucja sieci - Sztuczna inteligencja i uczenie maszynowebrus/evolution/06_AI.pdf · Ewolucja sieci Sztuczna inteligencja i uczenie maszynowe Piotr Chołda Katedra Telekomunikacji

Plan prezentacji

1 O co chodzi?

2 Podstawowe definicje

3 Przegląd metod

Ewolucja sieci: AI/ML 2/58

Page 3: Ewolucja sieci - Sztuczna inteligencja i uczenie maszynowebrus/evolution/06_AI.pdf · Ewolucja sieci Sztuczna inteligencja i uczenie maszynowe Piotr Chołda Katedra Telekomunikacji

Plan prezentacji

1 O co chodzi?

2 Podstawowe definicje

3 Przegląd metod

Ewolucja sieci: AI/ML 3/58

Page 4: Ewolucja sieci - Sztuczna inteligencja i uczenie maszynowebrus/evolution/06_AI.pdf · Ewolucja sieci Sztuczna inteligencja i uczenie maszynowe Piotr Chołda Katedra Telekomunikacji

Jakieś skojarzenia zesztuczną inteligencją lubuczeniem maszynowym?

Ewolucja sieci: AI/ML 4/58

Page 5: Ewolucja sieci - Sztuczna inteligencja i uczenie maszynowebrus/evolution/06_AI.pdf · Ewolucja sieci Sztuczna inteligencja i uczenie maszynowe Piotr Chołda Katedra Telekomunikacji

No a co to jest tainteligencja?

Ewolucja sieci: AI/ML 5/58

Page 6: Ewolucja sieci - Sztuczna inteligencja i uczenie maszynowebrus/evolution/06_AI.pdf · Ewolucja sieci Sztuczna inteligencja i uczenie maszynowe Piotr Chołda Katedra Telekomunikacji

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/58

Page 7: Ewolucja sieci - Sztuczna inteligencja i uczenie maszynowebrus/evolution/06_AI.pdf · Ewolucja sieci Sztuczna inteligencja i uczenie maszynowe Piotr Chołda Katedra Telekomunikacji

Rodzaje inteligencji

Językowa.

Matematyczna, czasem nazywana logiczno-matematyczną (aletu kontrowersje).

Przestrzenna.

Muzyczna.

Cielesno-kinestetyczna.

Interpersonalna/emocjonalna.

Wewnątrzosobowa/introspektywna

Ewolucja sieci: AI/ML 7/58

Page 8: Ewolucja sieci - Sztuczna inteligencja i uczenie maszynowebrus/evolution/06_AI.pdf · Ewolucja sieci Sztuczna inteligencja i uczenie maszynowe Piotr Chołda Katedra Telekomunikacji

Plan prezentacji

1 O co chodzi?

2 Podstawowe definicje

3 Przegląd metod

Ewolucja sieci: AI/ML 8/58

Page 9: Ewolucja sieci - Sztuczna inteligencja i uczenie maszynowebrus/evolution/06_AI.pdf · Ewolucja sieci Sztuczna inteligencja i uczenie maszynowe Piotr Chołda Katedra Telekomunikacji

Podstawowa klasyfikacjaAI, Artificial intelligence

Symboliczna sztuczna inteligencja.

Sztuczna inteligencja obliczeniowa.

Możliwe podejścia hybrydowe, chociaż występuje raczejspecjalizacja w każdej z tych grup.

Ewolucja sieci: AI/ML 9/58

Page 10: Ewolucja sieci - Sztuczna inteligencja i uczenie maszynowebrus/evolution/06_AI.pdf · Ewolucja sieci Sztuczna inteligencja i uczenie maszynowe Piotr Chołda Katedra Telekomunikacji

Symboliczna sztuczna inteligencjaRaczej kojarzona z inteligencją językową

Model reprezentujący inteligentny system jest zadawanywprost.

Wiedza jest reprezentowana w sposób symboliczny (np.pojęcia, zdania).

Operacje kognitywne mogą zostać opisane z użyciem aparatuformalnego (np. logika zdań, logika predykatów, gramatykiformalne), wykonującego operacje na symbolicznejreprezentacji wiedzy.

Często utożsamiana z podejściem typu top-down.

Wcześniejsze podejście do sztucznej inteligencji, oczywiścieciągle żywe.

Ewolucja sieci: AI/ML 10/58

Page 11: Ewolucja sieci - Sztuczna inteligencja i uczenie maszynowebrus/evolution/06_AI.pdf · Ewolucja sieci Sztuczna inteligencja i uczenie maszynowe Piotr Chołda Katedra Telekomunikacji

Sztuczna inteligencja obliczeniowaRaczej kojarzona z inteligencją matematyczną

Wiedza jest zasadniczo reprezentowana liczbowo.

Przetwarzanie wiedzy polega głównie na prowadzeniu operacjinumerycznych.

Bardzo często wiedza nie jest reprezentowana wprost (tj. np.brak efektywnego, zrozumiałego lub wiarygodnego modeluopisu sytuacji), stąd zagadnienia BigData kojarzymy raczej ztym rodzajem AI.

Często utożsamiana z podejściem typu bottom-up.

Bliższe inżynierom nie-informatykom, częściej utożsamiane zuczeniem maszynowym (np. w zastosowaniach tele-).

Ewolucja sieci: AI/ML 11/58

Page 12: Ewolucja sieci - Sztuczna inteligencja i uczenie maszynowebrus/evolution/06_AI.pdf · Ewolucja sieci Sztuczna inteligencja i uczenie maszynowe Piotr Chołda Katedra Telekomunikacji

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 12/58

Page 13: Ewolucja sieci - Sztuczna inteligencja i uczenie maszynowebrus/evolution/06_AI.pdf · Ewolucja sieci Sztuczna inteligencja i uczenie maszynowe Piotr Chołda Katedra Telekomunikacji

Uczenie maszynoweML, Machine learning

Uczenie maszynowe to dział informatyki (stosowanej) odnoszącysię do możliwości „uczenia się” (w praktyce: podnoszeniaefektywności w rozwiązywaniu pewnego rodzaju zadań) maszyn napodstawie danych, mimo braku zaprogramowania na rozwiązywanieproblemów w określony sposób.

Uczenie maszynowe jest poddziedziną sztucznej inteligencji, ale np.są sytemy AI, które niekoniecznie się uczą (niektóre systemyekspertowe).

Ewolucja sieci: AI/ML 13/58

Page 14: Ewolucja sieci - Sztuczna inteligencja i uczenie maszynowebrus/evolution/06_AI.pdf · Ewolucja sieci Sztuczna inteligencja i uczenie maszynowe Piotr Chołda Katedra Telekomunikacji

Uczenie maszynoweKlasyfikacja podejść

SOFTWARE TECHNOLOGY

SEPTEMBER/OCTOBER 2016 | IEEE SOFTWARE 113

how to solve other problems he or she will have to deal with in the future.

Supervised learning includes clas-sification algorithms, which take as input a dataset and the class of each piece of data so that the computer can learn how to classify new data. For example, the input might be a set of past loan applications with an in-dication of which of them went bad. On the basis of this information, the computer classifies new loan appli-cations. Classification can employ logic regression, classification trees, support vector machines, random forests, artificial neural networks (ANNs), or other algorithms. ANNs are a major topic on their own; we discuss them in more detail later.

Regression algorithms predict a value of an entity’s attribute (“re-gression” here has a wider sense than merely statistical regression). Regression algorithms include linear regression, decision trees, Bayesian networks, fuzzy classification, and ANNs.

Unsupervised LearningIn unsupervised learning, the train-ing set contains data but no solutions; the computer must find the solutions on its own. This is like giving a stu-dent a set of patterns and asking him or her to figure out the underlying motifs that generated the patterns.

Unsupervised learning includes clustering algorithms, which take as input a dataset covering various di-mensions and partition it into clus-ters satisfying certain criteria. A popular algorithm is k-means clus-tering, which aims to partition the dataset so that each observation lies closest to the mean of its cluster. Other clustering approaches include hierarchical clustering, Gaussian mixture models, genetic algorithms (in which the computer learns the

best way for a task through artificial selection), and ANNs.

Dimensionality reduction algo-rithms take the initial dataset cover-ing various dimensions and project the data to fewer dimensions. These fewer dimensions try to better cap-ture the data’s fundamental aspects. Dimensionality reduction algorithms include principal component analy-sis, tensor reduction, multidimen-sional statistics, random projection, and ANNs.

Essential ToolsMachine learning’s popularity has brought along a wealth of tools. Most of them are open source, so us-ers can easily experiment with them and learn how to use them. Table 1 compares some popular machine-learning tools.

The numerical and statistical communities are divided into two

camps: one that prefers R and one that prefers Python. Of course, any absolute division makes no sense. For a field as wide as machine learn-ing, no single tool will do. The best a software engineer can do is to be-come acquainted with many different tools and learn which one is the most appropriate for a given situation.

That said, R is more popular with people with a somewhat stronger statistical background. It has a su-perb collection of machine-learning and statistical-inference libraries. Chances are, if you find a fancy al-gorithm somewhere and want to try it on your data, an implementa-tion in R exists for it. R boasts the ggplot2 visualization library, which can produce excellent graphs.

Python is more popular with peo-ple with a computer science back-ground. Although not made spe-cifically for machine learning or

Machine learning

Supervised learning

Classi�cation

Classi�cation trees

Support vectormachines

Random forests

Arti�cial neuralnetworks

Unsupervised learning

Logic regression

Regression

Decision trees

Bayesian networks

Fuzzy classi�cation

Arti�cial neuralnetworks

Linear regression

Clustering

Hierarchicalclustering

Gaussian mixturemodels

Genetic algorithms

Arti�cial neuralnetworks

k-meansclustering

Dimensionreduction

Tensordecomposition

Multidimensionalstatistics

Randomprojection

Arti�cial neuralnetworks

Principal componentanalysis

FIGURE 1. Machine-learning approaches. In machine learning, a computer first learns

to perform a task by studying a training set of examples. The computer then performs

the same task with data it hasn’t encountered before.

Ewolucja sieci: AI/ML 14/58

Page 15: Ewolucja sieci - Sztuczna inteligencja i uczenie maszynowebrus/evolution/06_AI.pdf · Ewolucja sieci Sztuczna inteligencja i uczenie maszynowe Piotr Chołda Katedra Telekomunikacji

Uczenie nadzorowane (z nauczycielem)Supervised Learning

Komputerowi podaje się dane wejściowe i oczekiwane danewyjściowe (np. znaczymy dane). Ma się nauczyć generować jedne zdrugich.

Dane:

sekwencja ucząca (treningowa),

sekwencja walidacyjna,

sekwencje testowe.

Ewolucja sieci: AI/ML 15/58

Page 16: Ewolucja sieci - Sztuczna inteligencja i uczenie maszynowebrus/evolution/06_AI.pdf · Ewolucja sieci Sztuczna inteligencja i uczenie maszynowe Piotr Chołda Katedra Telekomunikacji

Uczenie nadzorowane

Ewolucja sieci: AI/ML 16/58

Page 17: Ewolucja sieci - Sztuczna inteligencja i uczenie maszynowebrus/evolution/06_AI.pdf · Ewolucja sieci Sztuczna inteligencja i uczenie maszynowe Piotr Chołda Katedra Telekomunikacji

Klasyfikacja

Ewolucja sieci: AI/ML 17/58

Page 18: Ewolucja sieci - Sztuczna inteligencja i uczenie maszynowebrus/evolution/06_AI.pdf · Ewolucja sieci Sztuczna inteligencja i uczenie maszynowe Piotr Chołda Katedra Telekomunikacji

RegresjaNajpopularniejsza: regresja liniowa

Ewolucja sieci: AI/ML 18/58

Page 19: Ewolucja sieci - Sztuczna inteligencja i uczenie maszynowebrus/evolution/06_AI.pdf · Ewolucja sieci Sztuczna inteligencja i uczenie maszynowe Piotr Chołda Katedra Telekomunikacji

Regresja nieliniowa

Ewolucja sieci: AI/ML 19/58

Page 20: Ewolucja sieci - Sztuczna inteligencja i uczenie maszynowebrus/evolution/06_AI.pdf · Ewolucja sieci Sztuczna inteligencja i uczenie maszynowe Piotr Chołda Katedra Telekomunikacji

Niebezpieczeństwo przeuczeniaPrzykład regresji: nadmierne dopasowanie danych (overfitting)

Ewolucja sieci: AI/ML 20/58

Page 21: Ewolucja sieci - Sztuczna inteligencja i uczenie maszynowebrus/evolution/06_AI.pdf · Ewolucja sieci Sztuczna inteligencja i uczenie maszynowe Piotr Chołda Katedra Telekomunikacji

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 ukrytewzorce/struktury, pogrupuje dane).

Najbardziej popularna metoda — analiza skupisk. Trudność:wprowadzenie odpowiedniej miary podobieństwa.

Ewolucja sieci: AI/ML 21/58

Page 22: Ewolucja sieci - Sztuczna inteligencja i uczenie maszynowebrus/evolution/06_AI.pdf · Ewolucja sieci Sztuczna inteligencja i uczenie maszynowe Piotr Chołda Katedra Telekomunikacji

Analiza skupiskGrupowanie, klasteryzacja (clustering)

Ewolucja sieci: AI/ML 22/58

Page 23: Ewolucja sieci - Sztuczna inteligencja i uczenie maszynowebrus/evolution/06_AI.pdf · Ewolucja sieci Sztuczna inteligencja i uczenie maszynowe Piotr Chołda Katedra Telekomunikacji

Redukcja wymiarów

Przekleństwo wielowymiarowości (the curse of dimensionality).

Niepotrzebnie zbyt dużo danych.

Problem zmniejszenia liczby wymiarów opisujących dane, żebynie utracić zbyt dużo informacji.

Efekt: zwiększenie efektywności uczenia się, zmniejszenieniebezpieczeństwa nadmiernego dopasowania.

Ewolucja sieci: AI/ML 23/58

Page 24: Ewolucja sieci - Sztuczna inteligencja i uczenie maszynowebrus/evolution/06_AI.pdf · Ewolucja sieci Sztuczna inteligencja i uczenie maszynowe Piotr Chołda Katedra Telekomunikacji

Uczenie maszynoweNarzędzia programistyczne

SOFTWARE TECHNOLOGY

114 IEEE SOFTWARE | W W W.COMPUTER.ORG/SOFT WARE | @IEEESOFT WARE

statistics, Python has extensive librar-ies for numerical computing (NumPy), scientific computing (SciPy), statistics (StatsModels), and machine learning (scikit-learn). These are largely wrap-pers of C code, so you get Python’s convenience with C’s speed.

Although there are fewer machine- learning libraries for Python than there are for R, many programmers find working with Python easier. They might already know the lan-guage or find it easier to learn than R. They also find Python convenient for preprocessing data: reading it from various sources, cleaning it, and bringing it to the required for-mats. For visualization, Python re-lies on matplotlib. You can do pretty much everything on matplotlib, but you might discover you have to put in some effort. The seaborn library is built on top of it, letting you pro-duce elegant visualizations with little code.

In general, R and Python work when the dataset fits in the com-

puter’s main memory. If that’s not possible, you must use a distributed platform. The most well-known is Hadoop, but Hadoop isn’t the most convenient for machine learning. Making even simple algorithms run on it can be a struggle.

So, many people prefer to work at the higher level of abstraction that Spark offers. Spark leverages Ha-doop but looks like a scripting envi-ronment. You can interact with it us-ing Scala, Java, Python, or R. Spark has a machine-learning library that implements key algorithms, so for many purposes you don’t need to im-plement anything yourself.

H2O is a relatively newer entrant in the machine-learning scene. It’s a platform for descriptive and predic-tive analytics that uses Hadoop and Spark; you can use it with R and Py-thon. It implements supervised- and unsupervised-learning algorithms and a Web interface through which you can organize your workflow.

A promising development is the

Julia programming language for technical computing, which aims at top performance. Because Julia is new, it doesn’t have nearly as many libraries as Python or R. Yet, thanks to its impressive speed, its popularity might grow.

Strong commercial players in-clude Matlab and SAS, which both have a distinguished history. Matlab has long offered solid tools for nu-merical computation, to which it has added machine-learning algorithms and implementations. For engineers familiar with Matlab, it might be a natural fit. SAS is a software suite for advanced statistical analysis; it also has added machine-learning ca-pabilities and is popular for business intelligence tasks.

ANNs and Deep LearningCynics might roll their eyes, arguing that ANNs’ resurgence is déjà vu. It’s true; ANNs’ fundamental com-ponents have been around for about half a century. However, it’s also true

TAB

LE

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 machine-learning models

High High Medium High Low

Suitability as a general-purpose tool

High Medium Medium High Low

Maturity High Very high Medium Very high Low

Ewolucja sieci: AI/ML 24/58

Page 25: Ewolucja sieci - Sztuczna inteligencja i uczenie maszynowebrus/evolution/06_AI.pdf · Ewolucja sieci Sztuczna inteligencja i uczenie maszynowe Piotr Chołda Katedra Telekomunikacji

Uczenie częściowo nadzorowaneSemi-Supervised Learning

Niepełny zestaw danych w sekwencji treningowej: często brakujeoznaczenia danych.

Normalna sytuacja, np. praca z danymi historycznymi, których jużnie można uzupełnić.

Ewolucja sieci: AI/ML 25/58

Page 26: Ewolucja sieci - Sztuczna inteligencja i uczenie maszynowebrus/evolution/06_AI.pdf · Ewolucja sieci Sztuczna inteligencja i uczenie maszynowe Piotr Chołda Katedra Telekomunikacji

Uczenie ze wzmocnieniemReinforcement Learning

Sekwencja treningowa zawiera nagrody i kary służące jakosprzężenie zwrotne ze środowiska w zależności od tego, jak zmieniasię praca algorytmu.

Analogia: gra z przeciwnikiem, jazda samochodem z różnymoporem terenu w zależności od sposobu prowadzenia.

Ewolucja sieci: AI/ML 26/58

Page 27: Ewolucja sieci - Sztuczna inteligencja i uczenie maszynowebrus/evolution/06_AI.pdf · Ewolucja sieci Sztuczna inteligencja i uczenie maszynowe Piotr Chołda Katedra Telekomunikacji

Podstawowe zastosowaniaZ naszego punktu widzenia. . .

Klasyfikacja.

Regresja.

Optymalizacja.

Przykłady w zakresietele-?

Ewolucja sieci: AI/ML 27/58

Page 28: Ewolucja sieci - Sztuczna inteligencja i uczenie maszynowebrus/evolution/06_AI.pdf · Ewolucja sieci Sztuczna inteligencja i uczenie maszynowe Piotr Chołda Katedra Telekomunikacji

Plan prezentacji

1 O co chodzi?

2 Podstawowe definicje

3 Przegląd metod

Ewolucja sieci: AI/ML 28/58

Page 29: Ewolucja sieci - Sztuczna inteligencja i uczenie maszynowebrus/evolution/06_AI.pdf · Ewolucja sieci Sztuczna inteligencja i uczenie maszynowe Piotr Chołda Katedra Telekomunikacji

Sieci semantyczne

Ewolucja sieci: AI/ML 29/58

Page 30: Ewolucja sieci - Sztuczna inteligencja i uczenie maszynowebrus/evolution/06_AI.pdf · Ewolucja sieci Sztuczna inteligencja i uczenie maszynowe Piotr Chołda Katedra Telekomunikacji

Strukturalna reprezentacja wiedzyAutomat akceptujący zdania prawdziwe

Ewolucja sieci: AI/ML 30/58

Page 31: Ewolucja sieci - Sztuczna inteligencja i uczenie maszynowebrus/evolution/06_AI.pdf · Ewolucja sieci Sztuczna inteligencja i uczenie maszynowe Piotr Chołda Katedra Telekomunikacji

Strukturalna reprezentacja wiedzySkładowe i reprezentacja strukturalna przebiegów EKG

Ewolucja sieci: AI/ML 31/58

Page 32: Ewolucja sieci - Sztuczna inteligencja i uczenie maszynowebrus/evolution/06_AI.pdf · Ewolucja sieci Sztuczna inteligencja i uczenie maszynowe Piotr Chołda Katedra Telekomunikacji

Obliczenia ewolucyjne

Ewolucja sieci: AI/ML 32/58

Page 33: Ewolucja sieci - Sztuczna inteligencja i uczenie maszynowebrus/evolution/06_AI.pdf · Ewolucja sieci Sztuczna inteligencja i uczenie maszynowe Piotr Chołda Katedra Telekomunikacji

Obliczenia ewolucyjne

Algorytmy genetyczne.

Strategie ewolucyjne.

Programowanie ewolucyjne.

Programowanie genetyczne.

Ewolucja sieci: AI/ML 33/58

Page 34: Ewolucja sieci - Sztuczna inteligencja i uczenie maszynowebrus/evolution/06_AI.pdf · Ewolucja sieci Sztuczna inteligencja i uczenie maszynowe Piotr Chołda Katedra Telekomunikacji

Algorytmy genetyczne

Ewolucja sieci: AI/ML 34/58

Page 35: Ewolucja sieci - Sztuczna inteligencja i uczenie maszynowebrus/evolution/06_AI.pdf · Ewolucja sieci Sztuczna inteligencja i uczenie maszynowe Piotr Chołda Katedra Telekomunikacji

Algorytmy genetyczne

Ewolucja sieci: AI/ML 35/58

Page 36: Ewolucja sieci - Sztuczna inteligencja i uczenie maszynowebrus/evolution/06_AI.pdf · Ewolucja sieci Sztuczna inteligencja i uczenie maszynowe Piotr Chołda Katedra Telekomunikacji

Algorytmy genetyczne

Ewolucja sieci: AI/ML 36/58

Page 37: Ewolucja sieci - Sztuczna inteligencja i uczenie maszynowebrus/evolution/06_AI.pdf · Ewolucja sieci Sztuczna inteligencja i uczenie maszynowe Piotr Chołda Katedra Telekomunikacji

Algorytmy genetyczneKrzyżowanie

Ewolucja sieci: AI/ML 37/58

Page 38: Ewolucja sieci - Sztuczna inteligencja i uczenie maszynowebrus/evolution/06_AI.pdf · Ewolucja sieci Sztuczna inteligencja i uczenie maszynowe Piotr Chołda Katedra Telekomunikacji

Strategie ewolucyjne

Ewolucja sieci: AI/ML 38/58

Page 39: Ewolucja sieci - Sztuczna inteligencja i uczenie maszynowebrus/evolution/06_AI.pdf · Ewolucja sieci Sztuczna inteligencja i uczenie maszynowe Piotr Chołda Katedra Telekomunikacji

Przykłady

http://rednuht.org/genetic_cars_2

Ewolucja sieci: AI/ML 39/58

Page 40: Ewolucja sieci - Sztuczna inteligencja i uczenie maszynowebrus/evolution/06_AI.pdf · Ewolucja sieci Sztuczna inteligencja i uczenie maszynowe Piotr Chołda Katedra Telekomunikacji

Programowanie ewolucyjne

Ewolucja sieci: AI/ML 40/58

Page 41: Ewolucja sieci - Sztuczna inteligencja i uczenie maszynowebrus/evolution/06_AI.pdf · Ewolucja sieci Sztuczna inteligencja i uczenie maszynowe Piotr Chołda Katedra Telekomunikacji

Rozpoznawanie wzorców

Pozyskiwanie danych.

Wstępne przetwarzanie danych.

Ekstrakcja cech.

Klasyfikacja.

Ewolucja sieci: AI/ML 41/58

Page 42: Ewolucja sieci - Sztuczna inteligencja i uczenie maszynowebrus/evolution/06_AI.pdf · Ewolucja sieci Sztuczna inteligencja i uczenie maszynowe Piotr Chołda Katedra Telekomunikacji

Analiza skupiskDecyzna nt. przynależności nowego obiektu

Ewolucja sieci: AI/ML 42/58

Page 43: Ewolucja sieci - Sztuczna inteligencja i uczenie maszynowebrus/evolution/06_AI.pdf · Ewolucja sieci Sztuczna inteligencja i uczenie maszynowe Piotr Chołda Katedra Telekomunikacji

Separacja klasTakże metoda wektorów wspierających Support Vector Machine

Ewolucja sieci: AI/ML 43/58

Page 44: Ewolucja sieci - Sztuczna inteligencja i uczenie maszynowebrus/evolution/06_AI.pdf · Ewolucja sieci Sztuczna inteligencja i uczenie maszynowe Piotr Chołda Katedra Telekomunikacji

Separacja klasUżycie drzew decyzyjnych

Ewolucja sieci: AI/ML 44/58

Page 45: Ewolucja sieci - Sztuczna inteligencja i uczenie maszynowebrus/evolution/06_AI.pdf · Ewolucja sieci Sztuczna inteligencja i uczenie maszynowe Piotr Chołda Katedra Telekomunikacji

Przykłady

https://visual-recognition-demo.ng.bluemix.net

Ewolucja sieci: AI/ML 45/58

Page 46: Ewolucja sieci - Sztuczna inteligencja i uczenie maszynowebrus/evolution/06_AI.pdf · Ewolucja sieci Sztuczna inteligencja i uczenie maszynowe Piotr Chołda Katedra Telekomunikacji

Sztuczne sieci neuronowe

Liczba neuronów w ludzkim mózgu: 1011.

Liczba połączeń między neuronami w ludzkim mózgu: 1014.

Ewolucja sieci: AI/ML 46/58

Page 47: Ewolucja sieci - Sztuczna inteligencja i uczenie maszynowebrus/evolution/06_AI.pdf · Ewolucja sieci Sztuczna inteligencja i uczenie maszynowe Piotr Chołda Katedra Telekomunikacji

PerceptronPierwszy model sztucznego neuronu, McCulloch i Pitts (1943)

ϕ =m∑i=1

wiui = wTu

Ewolucja sieci: AI/ML 47/58

Page 48: Ewolucja sieci - Sztuczna inteligencja i uczenie maszynowebrus/evolution/06_AI.pdf · Ewolucja sieci Sztuczna inteligencja i uczenie maszynowe Piotr Chołda Katedra Telekomunikacji

Funkcje aktywacji F

Liniowa.

Progowa.

Sigmoidalna.

Tangensoidalna.

Ewolucja sieci: AI/ML 48/58

Page 49: Ewolucja sieci - Sztuczna inteligencja i uczenie maszynowebrus/evolution/06_AI.pdf · Ewolucja sieci Sztuczna inteligencja i uczenie maszynowe Piotr Chołda Katedra Telekomunikacji

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 49/58

Page 50: Ewolucja sieci - Sztuczna inteligencja i uczenie maszynowebrus/evolution/06_AI.pdf · Ewolucja sieci Sztuczna inteligencja i uczenie maszynowe Piotr Chołda Katedra Telekomunikacji

Sieci neuronowe wielowarstwoweDopasowanie do trudności problemu

Ewolucja sieci: AI/ML 50/58

Page 51: Ewolucja sieci - Sztuczna inteligencja i uczenie maszynowebrus/evolution/06_AI.pdf · Ewolucja sieci Sztuczna inteligencja i uczenie maszynowe Piotr Chołda Katedra Telekomunikacji

Sztuczne sieci neuronoweRóżne topologie: sieci rekurencyjne

Ewolucja sieci: AI/ML 51/58

Page 52: Ewolucja sieci - Sztuczna inteligencja i uczenie maszynowebrus/evolution/06_AI.pdf · Ewolucja sieci Sztuczna inteligencja i uczenie maszynowe Piotr Chołda Katedra Telekomunikacji

Sztuczne sieci neuronoweMoc aproksymacyjna

Cybenko, 1989

Nawet sieci nierekurencyjne (feed-forward) z jedną warstwą ukrytąi skończoną liczbą neuronów mogą efektywnie aproksymować ciągłefunkcje określone na zwartych podzbiorach Rn. Wymagane są tylkosłabe założenia dotyczące funkcji aktywacji (dowód dla funkcjisigmoidalnej).

Nie jest powiedziane, jak ma wyglądać uczenie takich funkcji.

Ewolucja sieci: AI/ML 52/58

Page 53: Ewolucja sieci - Sztuczna inteligencja i uczenie maszynowebrus/evolution/06_AI.pdf · Ewolucja sieci Sztuczna inteligencja i uczenie maszynowe Piotr Chołda Katedra Telekomunikacji

Przykłady

Digits recognition example:http://scs.ryerson.ca/~aharley/vis/conv/flat.html

Tensorflow:https://playground.tensorflow.org

Ewolucja sieci: AI/ML 53/58

Page 54: Ewolucja sieci - Sztuczna inteligencja i uczenie maszynowebrus/evolution/06_AI.pdf · Ewolucja sieci Sztuczna inteligencja i uczenie maszynowe Piotr Chołda Katedra Telekomunikacji

Użycie logiki rozmytejFuzzy 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 sposobyrozumowania.

Ewolucja sieci: AI/ML 54/58

Page 55: Ewolucja sieci - Sztuczna inteligencja i uczenie maszynowebrus/evolution/06_AI.pdf · Ewolucja sieci Sztuczna inteligencja i uczenie maszynowe Piotr Chołda Katedra Telekomunikacji

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 zdoborem odpowiedniego.

Głębokie zrozumienie działania — aparat matematyczny.

Ewolucja sieci: AI/ML 55/58

Page 56: Ewolucja sieci - Sztuczna inteligencja i uczenie maszynowebrus/evolution/06_AI.pdf · Ewolucja sieci Sztuczna inteligencja i uczenie maszynowe Piotr Chołda Katedra Telekomunikacji

Czy są pytania?

Ewolucja sieci: AI/ML 56/58

Page 57: Ewolucja sieci - Sztuczna inteligencja i uczenie maszynowebrus/evolution/06_AI.pdf · Ewolucja sieci Sztuczna inteligencja i uczenie maszynowe Piotr Chołda Katedra Telekomunikacji

Dziękuję Państwu zauwagę!

Ewolucja sieci: AI/ML 57/58