wprowadzenie do sztucznej inteligencji - instytut informatykitomczak/pdf/si1.pdf · 3.uczenie bez...

52
Wroclaw University of Technology Wprowadzenie do sztucznej inteligencji Jakub Tomczak [email protected] 8.10.2013

Upload: doankien

Post on 27-Feb-2019

212 views

Category:

Documents


0 download

TRANSCRIPT

Wrocław University of Technology

Wprowadzenie do sztucznej inteligencji

Jakub Tomczak

[email protected]

8.10.2013

Początki uczenia maszynowego Cybernetyka (XIX-XX w.) – systemy

sterowania i automatycznego przetwarzaniainformacji w m.in. mechanice, biologii.

Sztuczna inteligencja (lata 50. XX w.) –dziedzina nauki, której celem jestzaprojektowanie inteligentnych maszyn.

Systemy ekspertowe (lata 70. XX w.) –systemy komputerowe wykorzystującelogikę matematyczną do imitacjiwnioskowania człowieka.

Nauki kognitywne (lata 70. XX w.) –poznanie i modelowanie zjawiskdotyczących działania umysłu.

Uczenie maszynowe (lata 90. XX w.) –zastosowanie modeli statystycznych imetod optymalizacji do projektowaniaalgorytmów uczenia maszyn.

2/34

Początki uczenia maszynowego Cybernetyka (XIX-XX w.) – systemy

sterowania i automatycznego przetwarzaniainformacji w m.in. mechanice, biologii.

Sztuczna inteligencja (lata 50. XX w.) –dziedzina nauki, której celem jestzaprojektowanie inteligentnych maszyn.

Systemy ekspertowe (lata 70. XX w.) –systemy komputerowe wykorzystującelogikę matematyczną do imitacjiwnioskowania człowieka.

Nauki kognitywne (lata 70. XX w.) –poznanie i modelowanie zjawiskdotyczących działania umysłu.

Uczenie maszynowe (lata 90. XX w.) –zastosowanie modeli statystycznych imetod optymalizacji do projektowaniaalgorytmów uczenia maszyn.

2/34

Początki uczenia maszynowego Cybernetyka (XIX-XX w.) – systemy

sterowania i automatycznego przetwarzaniainformacji w m.in. mechanice, biologii.

Sztuczna inteligencja (lata 50. XX w.) –dziedzina nauki, której celem jestzaprojektowanie inteligentnych maszyn.

Systemy ekspertowe (lata 70. XX w.) –systemy komputerowe wykorzystującelogikę matematyczną do imitacjiwnioskowania człowieka.

Nauki kognitywne (lata 70. XX w.) –poznanie i modelowanie zjawiskdotyczących działania umysłu.

Uczenie maszynowe (lata 90. XX w.) –zastosowanie modeli statystycznych imetod optymalizacji do projektowaniaalgorytmów uczenia maszyn.

2/34

Początki uczenia maszynowego Cybernetyka (XIX-XX w.) – systemy

sterowania i automatycznego przetwarzaniainformacji w m.in. mechanice, biologii.

Sztuczna inteligencja (lata 50. XX w.) –dziedzina nauki, której celem jestzaprojektowanie inteligentnych maszyn.

Systemy ekspertowe (lata 70. XX w.) –systemy komputerowe wykorzystującelogikę matematyczną do imitacjiwnioskowania człowieka.

Nauki kognitywne (lata 70. XX w.) –poznanie i modelowanie zjawiskdotyczących działania umysłu.

Uczenie maszynowe (lata 90. XX w.) –zastosowanie modeli statystycznych imetod optymalizacji do projektowaniaalgorytmów uczenia maszyn.

2/34

Początki uczenia maszynowego Cybernetyka (XIX-XX w.) – systemy

sterowania i automatycznego przetwarzaniainformacji w m.in. mechanice, biologii.

Sztuczna inteligencja (lata 50. XX w.) –dziedzina nauki, której celem jestzaprojektowanie inteligentnych maszyn.

Systemy ekspertowe (lata 70. XX w.) –systemy komputerowe wykorzystującelogikę matematyczną do imitacjiwnioskowania człowieka.

Nauki kognitywne (lata 70. XX w.) –poznanie i modelowanie zjawiskdotyczących działania umysłu.

Uczenie maszynowe (lata 90. XX w.) –zastosowanie modeli statystycznych imetod optymalizacji do projektowaniaalgorytmów uczenia maszyn.

2/34

Definicja sztucznej inteligencji (uczenia maszynowego)

Mówimy, że maszyna uczy się zadania T w oparciu o doświadczenieE i miarę jakości P , jeśli wraz z przyrostem doświadczenia Epoprawia się jakość wykonywanego zadania T mierzona przez miaręP .

(Tom M. Mitchell, Machine Learning, McGraw Hill, 1997)

Przykład: Nauka gry w szachy

T : Gra w szachy P : Liczba wygranych partii w turnieju z człowiekiem E: Rozgrywanie partii przeciw sobie

3/34

Definicja inżynierii wiedzy

Inżynieria wiedzy jest dyscypliną techniczną, która dotyczyprzetwarzania wiedzy w systemach informatycznych w celurozwiązywania problemów zazwyczaj wymagających wiedzyeksperckiej (człowieka-specjalisty).

(Edward A. Feigenbaum, Pamela McCorduck, The fifth generation,Addison-Wesley, 1983)

Główne kierunki badań:

sposób reprezentowania wiedzy procesy pozyskiwania wiedzy (uczenia się) opracowanie systemów informatycznych wykorzystujących wiedzę

(sztuczna inteligencja)

4/34

Przykłady danychCześć 1

5/34

Przykłady danychCześć 2

6/34

Podstawowe problemy1. Czyszczenie danych (ang. data cleaning)

Dyskretyzacja (ang. discretization)

Brakujące dane (ang. missing values)

Selekcja atrybutów (ang. attribute selection)

2. Uczenie z nadzorem (ang. supervised learning)

Regresja (ang. regression)

Klasyfikacja (ang. classification)

3. Uczenie bez nadzoru (ang. unsupervised learning)

Klasteryzacja (ang. clustering)

Redukcja wymiarów (ang. dimensionality reduction)

4. Uczenie ze wzmocnieniem (ang. reinforcement learning)

7/34

Podstawowe problemyCzyszczenie danych

Czyszczenie danych (ang. data cleaning):

Dyskretyzacja: przekształcenie ciągłejzmiennej losowej w dyskretną zmiennąlosową, m.in. w celu łatwiejszejreprezentacji wiedzy.

Brakujące dane: uzupełnieniebrakujących wartości atrybutów, którenie zostały utracone w procesie zbieraniadanych.

Selekcja atrybutów: wybranie podzbioruatrybutów takich, które są najbardziejinformacyjne.

8/34

Podstawowe problemyCzyszczenie danych

Czyszczenie danych (ang. data cleaning):

Dyskretyzacja: przekształcenie ciągłejzmiennej losowej w dyskretną zmiennąlosową, m.in. w celu łatwiejszejreprezentacji wiedzy.

Brakujące dane: uzupełnieniebrakujących wartości atrybutów, którenie zostały utracone w procesie zbieraniadanych.

Selekcja atrybutów: wybranie podzbioruatrybutów takich, które są najbardziejinformacyjne.

8/34

Podstawowe problemyCzyszczenie danych

Czyszczenie danych (ang. data cleaning):

Dyskretyzacja: przekształcenie ciągłejzmiennej losowej w dyskretną zmiennąlosową, m.in. w celu łatwiejszejreprezentacji wiedzy.

Brakujące dane: uzupełnieniebrakujących wartości atrybutów, którenie zostały utracone w procesie zbieraniadanych.

Selekcja atrybutów: wybranie podzbioruatrybutów takich, które są najbardziejinformacyjne.

8/34

Podstawowe problemyUczenie z nadzorem: Regresja

Regresja (ang. Regression):

Dysponujemy obserwacjami zodpowiadającymi im wartościamiciągłymi.

Celem uczenia jest skonstruowaniemodelu regresji na podstawie danych.

Model konstruowany jest tak, abymożliwe było przewidywanie nowychobserwacji.

9/34

Podstawowe problemyUczenie z nadzorem: Regresja

Regresja (ang. Regression):

Dysponujemy obserwacjami zodpowiadającymi im wartościamiciągłymi.

Celem uczenia jest skonstruowaniemodelu regresji na podstawie danych.

Model konstruowany jest tak, abymożliwe było przewidywanie nowychobserwacji.

9/34

Podstawowe problemyUczenie z nadzorem: Regresja

Regresja (ang. Regression):

Dysponujemy obserwacjami zodpowiadającymi im wartościamiciągłymi.

Celem uczenia jest skonstruowaniemodelu regresji na podstawie danych.

Model konstruowany jest tak, abymożliwe było przewidywanie nowychobserwacji.

9/34

Podstawowe problemyUczenie z nadzorem: Regresja

Regresja (ang. Regression):

Dysponujemy obserwacjami zodpowiadającymi im wartościamiciągłymi.

Celem uczenia jest skonstruowaniemodelu regresji na podstawie danych.

Model konstruowany jest tak, abymożliwe było przewidywanie nowychobserwacji.

9/34

Podstawowe problemyRegresja: Śledzenie ruchu

Cel: Wyznaczenie następnego położeniaobiektu.

Dane: Sekwencja obrazów z poruszającymi sięobiektami.

Na podstawie dotychczaszarejestrowanej sekwencji obrazówwyznaczane jest położenie obiektu.

10/34

Podstawowe problemyRegresja: Predykcja notowań giełdowych

Cel: Wycena akcji.

Dane: Notowania akcji z poprzednich okresóworaz inne czynniki wpływające na cenęakcji.

Na podstawie notowań historycznych iinnych czynników mających wpływ nacenę akcji budowany jest modelpredykcyjny.

Model aktualizowany jest zwykorzystaniem bieżących notowań.

11/34

Podstawowe problemyUczenie z nadzorem: Klasyfikacja

Klasyfikacja (ang. Classification):

Dysponujemy obserwacjami z etykietami(klasami), które przyjmują wartościnominalne.

Celem uczenia jest skonstruowanieklasyfikatora separującego obiektynależące do różnych klas.

Klasyfikator konstruowany jest tak, abymożliwe było przewidywanie klas nowych,niesklasyfikowanych obserwacji.

12/34

Podstawowe problemyUczenie z nadzorem: Klasyfikacja

Klasyfikacja (ang. Classification):

Dysponujemy obserwacjami z etykietami(klasami), które przyjmują wartościnominalne.

Celem uczenia jest skonstruowanieklasyfikatora separującego obiektynależące do różnych klas.

Klasyfikator konstruowany jest tak, abymożliwe było przewidywanie klas nowych,niesklasyfikowanych obserwacji.

12/34

Podstawowe problemyUczenie z nadzorem: Klasyfikacja

Klasyfikacja (ang. Classification):

Dysponujemy obserwacjami z etykietami(klasami), które przyjmują wartościnominalne.

Celem uczenia jest skonstruowanieklasyfikatora separującego obiektynależące do różnych klas.

Klasyfikator konstruowany jest tak, abymożliwe było przewidywanie klas nowych,niesklasyfikowanych obserwacji.

12/34

Podstawowe problemyUczenie z nadzorem: Klasyfikacja

Klasyfikacja (ang. Classification):

Dysponujemy obserwacjami z etykietami(klasami), które przyjmują wartościnominalne.

Celem uczenia jest skonstruowanieklasyfikatora separującego obiektynależące do różnych klas.

Klasyfikator konstruowany jest tak, abymożliwe było przewidywanie klas nowych,niesklasyfikowanych obserwacji.

12/34

Podstawowe problemyKlasyfikacja: Detekcja obiektów

Cel: Wykrycie obiektu na obrazie.

Dane: Obraz na którym bada się wystąpienieobiektu, oraz zestaw obrazówtreningowych przedstawiających danyobiekt.

Do analizy obrazu wykorzystuje sięokno przesuwne.

W każdym kroku obraz z oknaprzesuwnego klasyfikowany jest jakoobiekt poszukiwany lub nie.

13/34

Podstawowe problemyKlasyfikacja: Detekcja SPAMU

Cel: Zbadać, czy dana wiadomość jestSPAMEM.

Dane: Zestaw zawierający zaetykietowanewiadomości mailowe.

Wydobywane są cechy (występowaniesłów) różnicujące SPAM od zwykłejpoczty.

Klasyfikacja nowej wiadomości odbywasię z wykorzystaniem wydobytych cech.

14/34

Podstawowe problemyKlasyfikacja: Credit Scoring

Cel: Zbadać zdolność kredytową klientabankowego.

Dane: Charakterystyki klientów bankowychpochodzące z systemówinformatycznych i kwestionariuszy.

Wydobywane są cechy mające wpływna decyzje kredytowe.

Klasyfikatory do oceny zdolnościkredytowej są powszechnie stosowanymnarzędziem.

15/34

Podstawowe problemyKlasyfikacja: Rozpoznawanie mowy

Cel: Interpretacja wybranych słów napodstawie wypowiedzi.

Dane: Próbki dźwięków wraz ich znaczeniem.

Wydobywane są cechy dźwiękucharakterystyczne dla danego słowa,głoski, bądź zestawu słów.

Klasyfikowany sygnał jestprzetwarzany, a następnierozpoznawane jest znaczenie słowa.

16/34

Podstawowe problemyUczenie bez nadzoru: Klasteryzacja

Klasteryzacja (ang. Clustering):

Dysponujemy obserwacjami bez etykiet.

Celem uczenia jest znalezienie grup(klastrów), w których skupione są dane.

Obserwacje z danej grupy charakteryzująsię podobieństwem.

Inne nazwy: grupowanie, analizaskupień.

17/34

Podstawowe problemyUczenie bez nadzoru: Klasteryzacja

Klasteryzacja (ang. Clustering):

Dysponujemy obserwacjami bez etykiet.

Celem uczenia jest znalezienie grup(klastrów), w których skupione są dane.

Obserwacje z danej grupy charakteryzująsię podobieństwem.

Inne nazwy: grupowanie, analizaskupień.

17/34

Podstawowe problemyKlateryzacja: Kompresja obrazu

Cel: Kodowanie pikseli wartościami zmniejszego zakresu.

Dane: Obraz.

Zakłada się, że każdy piksel możeprzyjąć K wartości.

Piksele grupowane są do K klastrówalgorytmem klasteryzacji.

Podobne piksele trafiają do tegosamego klastra.

Piksel kodowany jest poprzez numerklastra.

18/34

Podstawowe problemyKlateryzacja: Grupowanie osób w sieci społecznej

Cel: Wyodrębnienie grup znajomych w siecispołecznej.

Dane: Dane o interakcji między osobami.

Wyodrębnione grupy znajomych przypomocy TouchGraph dla Facebook’a.

Znajomi w tych samych klastrachcharakteryzują się wewnętrznąinterakcją między sobą.

19/34

Podstawowe problemyKlateryzacja: Grupowanie słów

Cel: Wyodrębnienie grup słów w tytułachartykułów.

Dane: Artykuły prasowe.

Grupowaniu podlegają słowa, którepojawiły się w tytule artykułu.

Słowa uważane są za podobne, jeślipojawiają się w kontekście tych samychsłów z artykułu.

Słowa z jednej grupy zazwyczaj opisująto samo zdarzenie.

20/34

Podstawowe problemyUczenie bez nadzoru: Redukcja wymiarów

Redukcja wymiarów(ang. Dimensionality Reduction):

Dysponujemy obserwacjami bez etykiet.

Celem uczenia jest znalezienieniskowymiarowej podprzestrzeni(rozmaitości), na której leżą dane.

Obserwacje mogą zostać zakodowaneprzy pomocy układu współrzędnychzwiązanego z niskowymiarowąpodprzestrzenią.

21/34

Podstawowe problemyUczenie bez nadzoru: Redukcja wymiarów

Redukcja wymiarów(ang. Dimensionality Reduction):

Dysponujemy obserwacjami bez etykiet.

Celem uczenia jest znalezienieniskowymiarowej podprzestrzeni(rozmaitości), na której leżą dane.

Obserwacje mogą zostać zakodowaneprzy pomocy układu współrzędnychzwiązanego z niskowymiarowąpodprzestrzenią.

21/34

Podstawowe problemyRedukcja wymiarów: Kodowanie i kompresja zdjęć

Cel: Znalezienie twarzy bazowych rozpinających niskowymiarowąprzestrzeń.

Dane: Zdjęcia twarzy.

Wyróżnione M twarzy bazowych rozpina M -wymiarowąpodprzestrzeń w przestrzeni twarzy.

Twarze mogą być kodowane poprzez położenie na niskowymiarowejprzestrzeni.

Metoda może służyć, jako automatyczna ekstrakcja cech ze zdjęć.

22/34

Podstawowe problemyRedukcja wymiarów: Wizualizacja danych

Cel: Wizualizacja 2D lub 3Dwysokowymiarowych danych.

Dane: Dowolne dane, np. zdjęcia.

Redukcja wymiarów pozwala nawizualizację strukturywysokowymiarowych danych.

Podobne obserwacje znajdują się bliskosiebie w niskowymiarowej przestrzeni.

Na rysunku przedstawiono obrazyręcznie pisanych cyfr oraz zdjęć twarzyz różnej perspektywy.

23/34

Podstawowe problemyUczenie ze wzmocnieniem

Uczenie ze wzocnieniem(ang. Reinforcement Learning):

Maszyna (agent) wchodzi w interakcje zotoczeniem (środowiskiem), w którymchce osiągnąć określony cel.

Maszyna podejmuje akcje aby osiągnąćcel, które są ocenianie przez otoczenie.

Akcje są nagradzane lub karane.

Maszyna poprzez podejmowanie akcjipoznaje otoczenie.

24/34

Podstawowe problemyUczenie ze wzmocnieniem

Uczenie ze wzocnieniem(ang. Reinforcement Learning):

Maszyna (agent) wchodzi w interakcje zotoczeniem (środowiskiem), w którymchce osiągnąć określony cel.

Maszyna podejmuje akcje aby osiągnąćcel, które są ocenianie przez otoczenie.

Akcje są nagradzane lub karane.

Maszyna poprzez podejmowanie akcjipoznaje otoczenie.

24/34

Podstawowe problemyUczenie ze wzmocnieniem

Uczenie ze wzocnieniem(ang. Reinforcement Learning):

Maszyna (agent) wchodzi w interakcje zotoczeniem (środowiskiem), w którymchce osiągnąć określony cel.

Maszyna podejmuje akcje aby osiągnąćcel, które są ocenianie przez otoczenie.

Akcje są nagradzane lub karane.

Maszyna poprzez podejmowanie akcjipoznaje otoczenie.

24/34

Podstawowe problemyUczenie ze wzmocnieniem

Uczenie ze wzocnieniem(ang. Reinforcement Learning):

Maszyna (agent) wchodzi w interakcje zotoczeniem (środowiskiem), w którymchce osiągnąć określony cel.

Maszyna podejmuje akcje aby osiągnąćcel, które są ocenianie przez otoczenie.

Akcje są nagradzane lub karane.

Maszyna poprzez podejmowanie akcjipoznaje otoczenie.

24/34

Podstawowe problemyUczenie ze wzmocnieniem

Uczenie ze wzocnieniem(ang. Reinforcement Learning):

Maszyna (agent) wchodzi w interakcje zotoczeniem (środowiskiem), w którymchce osiągnąć określony cel.

Maszyna podejmuje akcje aby osiągnąćcel, które są ocenianie przez otoczenie.

Akcje są nagradzane lub karane.

Maszyna poprzez podejmowanie akcjipoznaje otoczenie.

24/34

Podstawowe problemyUczenie ze wzmocnieniem: Gra w szachy

Cel: Wyuczyć algorytm gry w szachy.

Dane: Rozgrywki szachowe.

Zakładano, że komputer zawsze grabiałymi.

Znany był ostatni stan szachownicy iocena (1 dla wygranej białych, 0 dlaremisu, −1 dla wygranej czarnych),natomiast maszyna miała się nauczyćjakie akcje podejmować, aby osiągnąćwygraną.

Stan szachownicy reprezentowano zapomocą sieci neuronalnej.

25/34

Podstawowe problemyUczenie ze wzmocnieniem: Sterowanie helikopterem

Cel: Wyuczyć algorytm sterowaniahelikopterem.

Dane: Sterowanie helikopterem przez pilota(operatora).

Dane posłużyły do określenia dynamikihelikoptera oraz określenia funkcjinagrody.

Następnie zastosowano algorytmuczenia ze wzmocnieniem do naukisterowania helikopterem.

Projekt wykonano na StanfordUniversity(http://heli.stanford.edu/).

26/34

Projekty naszej grupy

Anna Gut

Mateusz Kucharczyk

Przemysław Kłysz

Szymon Zaręba

Celem projektu jest ocenaatrakcyjności człowieka napodstawie zdjęcia.

Stosowane techniki uczeniamaszynowego:

1. Probabilistyczne ModeleGrafowe

2. Procesy Gaussa3. Principal Component Analysis4. Support Vector Machine

27/34

Projekty naszej grupy

Piotr Klukowski

Michał Walczak (ETH Zurich)

Adam Gonczarek

Celem projektu jestautomatyczne oznaczenie pikówna obrazach z MagnetycznegoRezonansu Jądrowego (NMR).

Stosowane techniki uczeniamaszynowego:

1. Support Vector Machine2. Reguły logiczne

28/34

Projekty naszej grupy

Adam Gonczarek

Celem projektu jest odtworzeniekonfiguracji człowieka napodstawie obrazu z kamer.

Stosowane techniki uczeniamaszynowego:

1. Filtry cząsteczkowe2. Metody próbkowania3. Nieliniowa redukcja wymiarów

(GPLVM)4. Procesy Gaussa5. Regresja liniowa

29/34

Projekty naszej grupy

Jakub Tomczak

Celem projektu jestwspomaganie terapii cukrzycyna podstawie pomiarów.

Stosowane techniki uczeniamaszynowego:

1. Indukcja reguł decyzyjnych2. Uczenie przyrostowe3. Mechanizm zapominania

wykładniczego4. Procesy Gaussa5. Ukryte łańcuchy Markowa

30/34

Projekty naszej grupy

Jakub Tomczak

Celem projektu jest modelowanieprocesów wnioskowania wludzkim mózgu.

Stosowane techniki uczeniamaszynowego:

1. Modelowanie Bayesowskie2. Regularyzacja i wiedza a priori3. Modele Isinga4. Maszyny Boltzmanna

31/34

Projekty naszej grupy

Maciej Zięba

Celem projektu jest opracowaniemodeli predykcji okresuprzeżycia pacjenta po operacjiraka płuc.

Stosowane techniki uczeniamaszynowego:

1. Klasyfikatory SVM dlaproblemów niezbalansowania

2. Klasyfikatory typu Ensemble3. Metody próbkowania typu

SMOTE4. Metody uczenia wrażliwe na

koszt32/34

Projekty naszej grupy

Adam Gonczarek

Jakub Tomczak

Szymon Zaręba

Celem projektu jestrozpoznawanie obrazów zużyciem uczenia głębokiego iarchitektur głębokich.

Stosowane techniki uczeniamaszynowego:

1. Maszyny Boltzmanna2. Algorytm Contrastive

Divergence3. DropOut

33/34

Zespół

34/34