Sztuczne Sieci Neuronowe Wstęp Wykład 1 Włodzisław Duch Katedra Informatyki Stosowanej, WFAiIS Laboratorium Neurokognitywne ICNT Uniwersytet Mikołaja Kopernika Google: W. Duch (c) 1999. Tralvex Yeap. All Rights Reserved
Sprawy formalne Wykład 30 g + Lab 30 g Strona WWW zawiera informacje na temat formy zaliczenia. http://www.is.umk.pl/~duch/Wyklady/NN_plan.html Lub Google: W. Duch => Plan tygodniowy (weekly schedule) => Wykład Inne przedmioty na zbliżone tematy: Uczenie maszynowe, algorytmy i systemy datamining. Logika rozmyta. Bioinformatyka. Sieci neuronowe i uczenie maszynowe to najbardziej obecnie zaawansowane dziedziny informatyki. Wszystkie duże firmy inwestują w te technologie i szukają pracowników! Kursy sieci neuronowych oferuje Google, Microsoft i inne firmy. Technologie neurokognitywne – prezentacje WD
Co to jest ? Informatyka: definicja w/g Association for Computing Machinery. The systematic study of algorithmic processes that describe and transform information: their theory, analysis, design, efficiency, implementation, and application … Denning, et al. 1988 Co z zagadnieniami, dla których nie ma efektywnych algorytmów? Lub nie ma żadnych algorytmów? Tam, gdzie mózgi radzą sobie z łatwością metody klasycznej informatyki były najsłabsze. Ale to się szybko zmienia …
Inteligencja obliczeniowa Computational Intelligence (CI) Zajmuje się rozwiązywaniem problemów, które nie są efektywnie algorytmizowalne. Nie ma efektywnego algorytmu? Drobna zmiana może wymagać całkiem innego programu! Nie można przewidzieć wszystkich zmian. Rozwiązanie wymaga inteligencji; jeśli szukamy rozwiązania za pomocą obliczeń to jest to „inteligencja obliczeniowa”. Jeśli znane są przykłady dobrych rozwiązań można się na ich podstawie próbować nauczyć działać podobny sposób.
Problemy efektywnie niealgorytmizowalne Problemy NP-trudne – to klasyczne zagadnienia informatyki. Liczba kroków algorytmu dla złożonych sytuacji rośnie w sposób szybszy niż jakikolwiek wielomian liczby elementów (złożoności specyfikacji problemu). Teoria złożoności obliczeniowej. Przykład: problem komiwojażera. Dla 100 miejsc mamy 100!=10158 możliwości. Problemy praktyczne: gry planszowe, układanie planu, upakowanie towarów, optymalizacja procesów, kolejkowanie, badania operacyjne.
Problemy niealgorytmizowalne Przykłady problemów niealgorytmizowalnych całkowcie lub częściowo niealgorytmizowalnych: rozumienie sensu zdań, rozwiązywanie nietypowych problemów, działania twórcze, decyzje intuicyjne; rozpoznawanie twarzy i obrazów, rozpoznawanie pisma ręcznego, rozpoznawanie mowy i sygnałów, percepcja, sterowanie robotem, nieliniowymi układami, diagnostyka medyczna, planowanie terapii. Wiele tego typu problemów nie ma natury kombinatoryczej podobnie jak problemy optymalizacyjne.
CI i sztuczna inteligencja Perspektywa kognitywistyczna: CI: percepcja i sterowanie: zachowania sensomotoryczne – sieci neuronowe i uczenie maszynowe; AI: wyższe czynności poznawcze: logika, język, rozumowanie, rozwiązywanie problemów. AI to część CI posługująca się symboliczną reprezentacją wiedzy, zajmuje się rozumowaniem, tworzeniem systemów ekspertowych. Jednak często nazwa „sztuczna inteligencja” używana jest na określenie wszystkiego, co się kojarzy z inteligencją maszyn. CI: automatyzacja procesów akwizycji wiedzy. CI-AI: niewielkie nakrywanie, trochę systemów hybrydowych. Przykład: iOmniscient: Neural Networks and Heuristic Algorithms
Informatyka kognitywna Od wygranej Watsona w Jeopardy IBM przestawił się na informatykę kognitywną: od medycyny do kognitywnych ubrań (IBM+Marchesa) … Olli, autonomiczny pojazd na 11osób, z którym można porozmawiać, testowany obecnie w Waszyngtonie, Połączenie pojazdu + IBM Watson Internet of Things. Watson - kluczowe API: Speech to Text & Text to Speech, Natural Language Classifier, Entity Extraction. Duch W, Neurocognitive Informatics Manifesto. In: Series of Information and Management Sciences, California Polytechnic State University 264-282 (2009)
CI: problemy 1 Kilka problemów do rozwiązania których potrzebne są metody inteligencji obliczeniowej: Klasyfikacja struktur: rozpoznawanie obrazów, mowy, pisma, struktur chemicznych, zachowań człowieka lub maszyny, stanu zdrowia, sensu wyrazów i zdań … Odkrywanie wiedzy w bazach danych, zrozumienie struktury danych, konstrukcja wyjaśniających teorii. Selekcja cech - na co warto zwrócić uwagę, co jest niepotrzebne; redukcja wymiarowości problemu. Inteligentne szukanie z uwzględnieniem semantyki pytania – szukarki, Information Retrieval (IR).
CI: problemy 2 Inteligentne wspomaganie decyzji: diagnozy medyczne, decyzje menedżerskie. Gry strategiczne: uczenie się na własnych i cudzych błędach. Kontrola: jakości produktów, ostrości obrazu kamery, dostrojenia aparatury. Sterowanie: pociągu, samochodu, urządzeń technicznych, fabryk, społeczeństwa ... Planowanie: budowa autostrad, wieżowców, optymalizacja działań i organizacji, planów działania. Optymalne spełnianie ograniczeń, optymalizacja wielokryterialna, dopełnianie brakującej wiedzy.
CI: problemy 3 Detekcja regularności, analiza interesujących skupień, samoorganizacja, uczenie spontaniczne, geny, białka. Separacja sygnałów z wielu źródeł: oczyszczanie obrazów z szumów, oddzielanie artefaktów, separacja sygnałów akustycznych, sygnałów. Prognozowanie: wskaźników ekonomicznych, pogody, plam na Słońcu, decyzji zakupu, intencji człowieka. Askrypcja danych: łączenie informacji z kilku źródeł. Wizualizacja informacji ukrytej w bazach danych. Zrozumienie umysłu: doświadczeń psychologicznych, sposobu rozumowania i kategoryzacji, poruszania się i planowania, procesów uczenia.
CI: inspiracje 1 CI czerpie inspiracje z różnych źródeł, w tym z: Neurobiologii: jak robią to mózgi? Sztuczne sieci neuronowe – duża dziedzina, sieci wszelkich rodzajów, modele hierarchiczne, samoorganizujące, wielowarstwowe. Część bliska neurobiologii – computational cognitive neurosciences, szczegółowe modele neuronów. Część bliska statystyki i rozpoznawania wzorców (pattern recognition). Część pośrednia: różne modele inspirowane przez działanie neuronów, CMAC (Cerebellar Model Arithmetic Computer); SDM (Sparse Distributed Memory) ec
Mózgi: od bio do elektro DARPA Synapse, projekt koordynowany przez IBM (2008); neuromorficzne komputery nadchodzą ale nie mamy czasu o nich mówić …
CI: inspiracje 2 Psychologii: jak robią to umysły? Modele koneksjonistyczne: sieci i rozproszone przetwarzanie równoległe, ale węzły nie działają jak neurony – sieci Bayesowskie, modele graficzne, uczenie się przez porcjowanie, mechanizmy uwagi. Inne inspiracje: Biologii: algorytmy ewolucyjne, genetyczne, rojowe, mrówkowe. Medycyny: działanie układu immunologicznego. Logiki: uwzględnianie informacji niepewnej, logika rozmyta (fuzzy), logika przybliżona (rough), teoria wiarygodności Dempstera-Shafera (posybilistyczna), logika wielowartościowa.
CI: inspiracje 3 Z uczenia maszynowego: szukanie reguł symbolicznych, automatyczna akwizycja wiedzy. Metody oparte na ocenie podobieństwa do sąsiadów, np. NNC (Nearest Neighbor Classifiers), k-NN Metody oparte na śladach pamięci (memory-based methods, memory-based reasoning), szukania interesujących prototypów. Statystyki: statystyka wielowymiarowa, klasyfikatory Bayesowskie, sieci probabilistyczne, klasteryzacja, kwantyzacja wektorowa. Teorii wnioskowania: podejmowanie decyzji, metody probabilistyczne, ocena ryzyka, drzewa decyzji.
CI: inspiracje 4 Teorii informacji: maksymalizacji entropii, wartości oczekiwanych, informacji wzajemnej ... Matematyki stosowanej: teoria optymalizacji, estymacji, badań operacyjnych, taksonomia numeryczna, teoria aproksymacji, regresji wielu zmiennych, falek ... Metod wizualizacji wielowymiarowych danych. Informatyki: współbieżne systemy programowania. Fizyki: fizyka statystyczna, metody Monte Carlo, stopniowe studzenie, funkcje potencjalne, układy dynamiczne, teoria chaosu, synergetyka. Nauk technicznych: teorii sterowania, automatyki, robotyki.
Inteligencja Obliczeniowa Sieci neuronowe Algorytmy ewolucyjne Pattern Recognition Wizuali-zacja ND Computational Intelligence Data + Knowledge Artificial Intelligence Logika rozmyta Statystyka wielowymiarowa AI, ES Uczenie maszynowe Metody probabilistyki
Cel dalekosiężny AI: test Turinga, czyli maszyna nieodróżnialna od człowieka przy zdalnej konwersacji. Wymaga nie tylko zdolności lingwistycznych, ale i budowania modeli umysłowych, szerokiej wiedzy o świecie, zrozumienia stanów emocjonalnych ... Nie da się udawać, chociaż oszukać naiwnych nie jest trudno (np. w konkursach chatterbotów o nagrodę Loebnera). CI: sztuczny szczur? Przetrwanie autonomicznego organizmu we wrogim środowisku, wymaga percepcji, kontroli, pamięci skojarzeniowej, planowania, antycypacji … Praktyczne: autonomiczny pojazd, robot domowy, żołnierz.
Adaptacja Cecha wielu systemów CI: rozwiązywanie zadań na podstawie znanych przykładów, uczenie się z empirycznych danych zamiast programowania rozwiązania. Systemy adaptujące: zmieniają wewnętrzną strukturę dostosowując się do sytuacji (np. mózgi, społeczeństwa). Adaptacja to cecha inteligencji. Szeroka klasa, obejmująca sieci neuronowe i uczenie maszynowe. Na tym wykładzie skupimy się na modelach sieci neuronowych. Systemy adaptujące się są zwykle nieliniowe, często rozproszone, składające się z wielu elementów oddziaływujących w trudny do przewidzenia sposób. 3 podstawowe rodzaje uczenia się w takich układach: uczące się pod nadzorem, z krytykiem i samodzielnie, bez nadzoru.
Unsupervised learning Uczenie bez nadzoru Unsupervised learning Znajdź interesujące struktury w danych. Uczenie spontaniczne, odkrywanie ciekawych struktur w przestrzeni danych, korelacja zachowań systemu ze zmianą tych struktur – dominuje w okresie niemowlęcym (również budowa teorii). Podstawowa metoda to klasteryzacja oparta na jakiejś mierze podobieństwa, szukanie struktur.
Uczenie z nadzorem Supervised learning. Zadaj pytanie – pokaż opis obiektu (wektor własności), przypisz mu etykietę lub jakieś wartości liczbowe, porównaj odpowiedź z pożądaną. Uczenie nadzorowane przez nauczyciela – szkolne. Zmiana parametrów wewnętrznych – adaptacja tak, by w przyszłości zrobić jak najmniej błędów. Celem nie jest uczenie „na pamięć”, lecz generalizacja.
Reinforcement learning. Uczenie z krytykiem Reinforcement learning. Optymalizacja zysków na dłuższą metę. Np. wykonanie sekwencji czynności przez robota, lub gry z przeciwnikiem - krytyką jest przegrana/wygrana na końcu partii, a nie ocena pojedynczych ruchów, strategie mogą być różne, liczy się końcowy efekt. Uczenie z krytykiem lub z „wzmocnieniem” (reinforcement) pożądanych zachowań po dłuższym okresie. Uczenie dojrzałe (nabieranie „mądrości”).
Literatura J. Żurada, M. Barski, W. Jędruch Sztuczne sieci neuronowe Wydawnictwo Naukowe PWN 1996 Stanisław Osowski Sieci neuronowe w ujęciu algorytmicznym Wydawnictwa Naukowo-Techniczne 1996 Ryszard Tadeusiewicz, Tomasz Gąciarz, Barbara Borowik, Bartosz Lepe, Odkrywanie właściwości sieci neuronowych przy użyciu programów w języku C#. Polska Akademia Umiejętności 2008 Korbicz J, Obuchowicz A, Uciński D, Sztuczne sieci neuronowe. Podstawy i zastosowania. AOW, Warszawa, 1994 Tadeusiewicz R, Korbicz J, Rutkowski L, Duch W (Eds), Sieci neuronowe w inżynierii biomedycznej. Wyd. Exit, Warszawa 2013, str 775. Duch W, Korbicz J, Rutkowski L, Tadeusiewicz R (Eds), Biocybernetyka i Inżynieria Biomedyczna 2000. Tom 6: Sieci neuronowe. Akademicka Oficyna Wydawnicza EXIT, Warszawa 2000, str 850
Materiały, tutoriale Pełny tekst książki: Odkrywanie właściwości sieci neuronowych przy użyciu programów w języku C# Programy do książki Odkrywanie właściwości sieci neuronowych przy użyciu programów w języku C# (MS Visual Studio) AI/NN/ML Tutorials i G. Hinton – tutoriale AI Experiments with Google – ciekawe przykłady zastosowań NN Ciekawostki AI na Flipboard i lista linków na Wiki O głębokim uczeniu: Jak głębokie uczenie zmieni świat (Harvard Business Rev 1/2017) Google Deep Learning course (6h/tydz 3 mc) MS Deep Learning tutorial Materiały do Deep Learning (KDD) Deep Learning – Wiki
Co dalej? Sieci bez wag Inne proste modele binarne Sieci Hopfielda Sieci Hebbowskie i modele mózgu Perceptrony proste Perceptrony wielowarstwowe
Koniec wykładu 1