Wrocław University of Technology Wprowadzenie cz. I Adam Gonczarek adam.gonczarek@pwr.edu.pl Rozpoznawanie Obrazów, Lato 2015/2016
ROZPOZNAWANIE OBRAZÓW / WZORCÓW Definicja z Wikipedii 2/39
ROZPOZNAWANIE OBRAZÓW / WZORCÓW Definicja z Wikipedii 2/39
UCZENIE MASZYNOWE = Konstruowanie algorytmów, które uczą się i wnioskują na podstawie danych 3/39
POKREWNE DZIEDZINY 4/39
OBSZARY ZASTOSOWAŃ Widzenie komputerowe Rozpoznawanie mowy Analiza języka naturalnego Wyszukiwanie informacji Wykrywanie oszustw Projektowanie leków Systemy rekomendacji Biznes i finanse Diagnostyka medyczna Reklamy online i wiele innych... 5/39
PRZYKŁADY DANYCH 6/39
PRZYKŁADY DANYCH 7/39
WYKRYWANIE OBIEKTÓW NA ZDJĘCIACH 8/39
TŁUMACZENIE TEKSTU 9/39
SYSTEMY REKOMENDACJI 10/39
AUTONOMICZNE POJAZDY Waldrop. Autonomous vehicles: No drivers required. Nature 518(7537) 11/39
GENEROWANIE RĘCZNEGO PISMA http://www.cs.toronto.edu/ graves/handwriting.cgi 12/39
UCZENIE GRANIA W GRY Mnih et al. Human-level control through deep reinforcement learning. Nature 518 13/39
GENEROWANIE OPISÓW DO ZDJĘĆ Karpathy and Fei-Fei. Deep Visual-Semantic Alignments for Generating Image Descriptions. CVPR 2015 14/39
ODPOWIADANIE NA PYTANIA Antol et al. VQA: Visual Question Answering. 2015 15/39
PREDYKCJA ATRAKCYJNOŚCI I WIEKU https://howhot.io/ 16/39
RYNEK PRACY DLA SPECJALISTÓW ML Boom na uczenie maszynowe w ostatnich latach. Startupy Duże firmy W Polsce coraz więcej firm szuka specjalistów ML! Mediana zarobków dla specjalistów ML w USA to 102k USD rocznie. Dla porównania Java Developer 70k USD. W Polsce stawki to 10k 12k PLN PLN netto miesięcznie. 17/39
JAK ZOSTAĆ SPECJALISTĄ ML? Musi Was to interesować! Średnio trzeba 10 tys. godzin, aby zostać ekspertem w dowolnej dziedzinie. Książki 18/39
JAK ZOSTAĆ SPECJALISTĄ ML? Portale Czasopisma JMLR, TPAMI Konferencje ICML, NIPS, AISTATS, CVPR I oczywiście zapraszam na wykłady! 19/39
Podstawowe problemy 1. Uczenie z nadzorem (ang. supervised learning) Regresja (ang. regression) Klasyfikacja (ang. classification) 20/39
Podstawowe problemy 1. Uczenie z nadzorem (ang. supervised learning) Regresja (ang. regression) Klasyfikacja (ang. classification) 2. Uczenie bez nadzoru (ang. unsupervised learning) Klasteryzacja (ang. clustering) Redukcja wymiarów (ang. dimensionality reduction) Uzupełnianie wartości (ang. matrix completion) 20/39
Podstawowe problemy 1. Uczenie z nadzorem (ang. supervised learning) Regresja (ang. regression) Klasyfikacja (ang. classification) 2. Uczenie bez nadzoru (ang. unsupervised learning) Klasteryzacja (ang. clustering) Redukcja wymiarów (ang. dimensionality reduction) Uzupełnianie wartości (ang. matrix completion) 3. Uczenie ze wzmocnieniem (ang. reinforcement learning) 20/39
Uczenie z nadzorem: Regresja Regresja (ang. Regression): Dysponujemy obserwacjami z odpowiadającymi im wartościami ciągłymi. Celem uczenia jest skonstruowanie modelu regresji na podstawie danych. 21/39
Uczenie z nadzorem: Regresja Regresja (ang. Regression): Dysponujemy obserwacjami z odpowiadającymi im wartościami ciągłymi. Celem uczenia jest skonstruowanie modelu regresji na podstawie danych. 21/39
Uczenie z nadzorem: Regresja Regresja (ang. Regression): Dysponujemy obserwacjami z odpowiadającymi im wartościami ciągłymi. Celem uczenia jest skonstruowanie modelu regresji na podstawie danych. 21/39
Uczenie z nadzorem: Regresja Regresja (ang. Regression): Dysponujemy obserwacjami z odpowiadającymi im wartościami ciągłymi. Celem uczenia jest skonstruowanie modelu regresji na podstawie danych. 21/39
Regresja: Śledzenie ruchu Cel: Dane: Wyznaczenie następnego położenia obiektu. Sekwencja obrazów z poruszającymi się obiektami. 22/39
Regresja: Predykcja notowań giełdowych Cel: Dane: Wycena akcji. Notowania akcji z poprzednich okresów oraz inne czynniki wpływające na cenę akcji. 23/39
Uczenie z nadzorem: Klasyfikacja Klasyfikacja (ang. Classification): Dysponujemy obserwacjami z etykietami (klasami) o wartościach dyskretnych. Celem uczenia jest skonstruowanie klasyfikatora separującego obiekty należące do różnych klas. 24/39
Uczenie z nadzorem: Klasyfikacja Klasyfikacja (ang. Classification): Dysponujemy obserwacjami z etykietami (klasami) o wartościach dyskretnych. Celem uczenia jest skonstruowanie klasyfikatora separującego obiekty należące do różnych klas. 24/39
Uczenie z nadzorem: Klasyfikacja Klasyfikacja (ang. Classification): Dysponujemy obserwacjami z etykietami (klasami) o wartościach dyskretnych. Celem uczenia jest skonstruowanie klasyfikatora separującego obiekty należące do różnych klas. 24/39
Uczenie z nadzorem: Klasyfikacja Klasyfikacja (ang. Classification): Dysponujemy obserwacjami z etykietami (klasami) o wartościach dyskretnych. Celem uczenia jest skonstruowanie klasyfikatora separującego obiekty należące do różnych klas. 24/39
Klasyfikacja: Detekcja obiektów Cel: Dane: Wykrycie obiektu na obrazie. Zestaw obrazów treningowych przedstawiających dany obiekt. 25/39
Klasyfikacja: Detekcja SPAMU Cel: Dane: Zbadać, czy dana wiadomość jest SPAMEM. Zestaw zawierający zaetykietowane wiadomości mailowe. 26/39
Klasyfikacja: Rozpoznawanie mowy Cel: Dane: Interpretacja wybranych słów na podstawie zarejestrowanego dźwięku. Próbki dźwięków wraz z ich znaczeniem. 27/39
Uczenie bez nadzoru: Klasteryzacja Klasteryzacja (ang. Clustering): Dysponujemy obserwacjami bez etykiet. Celem uczenia jest znalezienie grup (klastrów), w których skupione są dane. Inne nazwy: grupowanie, analiza skupień. 28/39
Uczenie bez nadzoru: Klasteryzacja Klasteryzacja (ang. Clustering): Dysponujemy obserwacjami bez etykiet. Celem uczenia jest znalezienie grup (klastrów), w których skupione są dane. Inne nazwy: grupowanie, analiza skupień. 28/39
Klateryzacja: Kompresja obrazu Cel: Dane: Kodowanie pikseli wartościami z mniejszego zakresu. Obraz. Podobne piksele trafiają do tego samego klastra. Piksel kodowany jest poprzez numer klastra. 29/39
Klateryzacja: Grupowanie słów Cel: Dane: Wyodrębnienie grup słów streszczających artykuł. Artykuły prasowe. 30/39
Uczenie bez nadzoru: Redukcja wymiarów Redukcja wymiarów (ang. Dimensionality Reduction): Dysponujemy obserwacjami bez etykiet. Celem uczenia jest znalezienie niskowymiarowej podprzestrzeni (rozmaitości), na której leżą dane. 31/39
Uczenie bez nadzoru: Redukcja wymiarów Redukcja wymiarów (ang. Dimensionality Reduction): Dysponujemy obserwacjami bez etykiet. Celem uczenia jest znalezienie niskowymiarowej podprzestrzeni (rozmaitości), na której leżą dane. 31/39
Redukcja wymiarów: Kodowanie i kompresja zdjęć Cel: Dane: Znalezienie twarzy bazowych rozpinających niskowymiarową przestrzeń. Zdjęcia twarzy. Twarze mogą być kodowane poprzez położenie na niskowymiarowej przestrzeni. 32/39
Redukcja wymiarów: Wizualizacja danych Cel: Dane: Wizualizacja 2D lub 3D wysokowymiarowych danych. Dowolne dane, np. zdjęcia. Podobne obserwacje znajdują się blisko siebie w niskowymiarowej przestrzeni. 33/39
Uczenie bez nadzoru: Uzupełnianie wartości Uzupełnianie wartości (ang. Matrix completion): Dysponujemy obserwacjami bez etykiet. Celem uczenia jest znalezienie brakujących wartości dla niekompletnych obserwacji. 34/39
Uczenie bez nadzoru: Uzupełnianie wartości Uzupełnianie wartości (ang. Matrix completion): Dysponujemy obserwacjami bez etykiet. Celem uczenia jest znalezienie brakujących wartości dla niekompletnych obserwacji. 34/39
Uczenie bez nadzoru: Uzupełnianie wartości Uzupełnianie wartości (ang. Matrix completion): Dysponujemy obserwacjami bez etykiet. Celem uczenia jest znalezienie brakujących wartości dla niekompletnych obserwacji. 34/39
Uzupełnianie wartości: Rekonstrukcja obrazu Cel: Dane: Odtworzyć zakłócony obraz. Zestaw niezakłóconych zdjęć, oraz zakłócony obraz do rekonstrukcji. W oparciu o niezakłócone zdjęcia wyuczany jest model. Na podstawie modelu uzupełniane są brakujące wartości pikseli. 35/39
Uzupełnianie wartości: Rekomendacja produktów Cel: Dane: Zaproponować klientowi produkty, które skłonny jest kupić. Produkty do tej pory kupione przez klienta i transakcje zrealizowane przez innych klientów. W oparciu o zakupiony koszyk produktów nabytych przez klienta i zestaw transakcji uczony jest model. Na podstawie modelu wybierane są produkty do rekomendacji. 36/39
Uczenie ze wzmocnieniem Uczenie ze wzocnieniem (ang. Reinforcement Learning): Maszyna (agent) wchodzi w interakcje z otoczeniem (środowiskiem), w którym chce osiągnąć określony cel. Maszyna podejmuje akcje aby osiągnąć cel, które są ocenianie przez otoczenie. 37/39
Uczenie ze wzmocnieniem Uczenie ze wzocnieniem (ang. Reinforcement Learning): Maszyna (agent) wchodzi w interakcje z otoczeniem (środowiskiem), w którym chce osiągnąć określony cel. Maszyna podejmuje akcje aby osiągnąć cel, które są ocenianie przez otoczenie. 37/39
Uczenie ze wzmocnieniem Uczenie ze wzocnieniem (ang. Reinforcement Learning): Maszyna (agent) wchodzi w interakcje z otoczeniem (środowiskiem), w którym chce osiągnąć określony cel. Maszyna podejmuje akcje aby osiągnąć cel, które są ocenianie przez otoczenie. 37/39
Uczenie ze wzmocnieniem Uczenie ze wzocnieniem (ang. Reinforcement Learning): Maszyna (agent) wchodzi w interakcje z otoczeniem (środowiskiem), w którym chce osiągnąć określony cel. Maszyna podejmuje akcje aby osiągnąć cel, które są ocenianie przez otoczenie. 37/39
Uczenie ze wzmocnieniem Uczenie ze wzocnieniem (ang. Reinforcement Learning): Maszyna (agent) wchodzi w interakcje z otoczeniem (środowiskiem), w którym chce osiągnąć określony cel. Maszyna podejmuje akcje aby osiągnąć cel, które są ocenianie przez otoczenie. 37/39
Uczenie ze wzmocnieniem: Gra w szachy Cel: Dane: Wyuczyć algorytm gry w szachy. Rozgrywki szachowe. Stan szachownicy reprezentuje się za pomocą pewnego modelu. 38/39
Uczenie ze wzmocnieniem: Sterowanie helikopterem Cel: Dane: Wyuczyć algorytm sterowania helikopterem. Sterowanie helikopterem przez pilota (operatora). Projekt wykonano na Stanford University (http://heli.stanford.edu/). 39/39