• Nie Znaleziono Wyników

Sztuczne Sieci Neuronowe Sztuczne Sieci Neuronowe

N/A
N/A
Protected

Academic year: 2021

Share "Sztuczne Sieci Neuronowe Sztuczne Sieci Neuronowe"

Copied!
26
0
0

Pełen tekst

(1)

Sztuczne Sieci Neuronowe Sztuczne Sieci Neuronowe

Wstęp Wstęp

Wykład 1 Wykład 1

Włodzisław Duch

Katedra Informatyki Stosowanej, WFAiIS Laboratorium Neurokognitywne ICNT

Uniwersytet Mikołaja Kopernika

Google: W. Duch

(2)

Sprawy formalne 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

(3)

Co to jest ? 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 …

(4)

Inteligencja obliczeniowa 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.

(5)

Problemy efektywnie niealgorytmizowalne 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.

(6)

Problemy niealgorytmizowalne 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.

(7)

CI i sztuczna inteligencja 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

(8)

Informatyka kognitywna 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)

(9)

CI: problemy 1 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).

(10)

CI: problemy 2 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.

(11)

CI: problemy 3 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.

(12)

CI: inspiracje 1 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

(13)

Mózgi: od bio do elektro Mózgi: od bio do elektro

DARPA Synapse, projekt koordynowany przez IBM (2008); neuromorficzne komputery nadchodzą ale nie mamy czasu o nich mówić …

(14)

CI: inspiracje 2 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.

(15)

CI: inspiracje 3 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.

(16)

CI: inspiracje 4 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.

(17)

Inteligencja Obliczeniowa Inteligencja Obliczeniowa Inteligencja Obliczeniowa Inteligencja Obliczeniowa

Computational Intelligence Data + Knowledge

Artificial Intelligence

AI, ES Logika rozmyta

Pattern Recognition

Uczenie maszynowe

Metody probabilistyki

Statystyka

wielowymiarowa Wizuali- zacja ND Algorytmy

ewolucyjne Sieci

neuronowe

(18)

Cel dalekosiężny 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.

(19)

Adaptacja 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.

(20)

Uczenie bez nadzoru Uczenie bez nadzoru

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.

Unsupervised

learning

(21)

Uczenie z nadzorem Uczenie z nadzorem Uczenie z nadzorem Uczenie z nadzorem

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.

Supervised

learning.

(22)

Uczenie z krytykiem Uczenie z krytykiem Uczenie z krytykiem Uczenie z krytykiem

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”).

Reinforcement

learning.

(23)

Literatura Literatura Literatura 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

(24)

Materiały, tutoriale Materiały, tutoriale Materiały, tutoriale 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

(25)

Co dalej?

• Sieci bez wag

• Inne proste modele binarne

• Sieci Hopfielda

• Sieci Hebbowskie i modele mózgu

• Perceptrony proste

• Perceptrony

wielowarstwowe

(26)

Koniec wykładu 1

Koniec wykładu 1

Cytaty

Powiązane dokumenty

Rolę neuronów ukrytych odgrywają radialne funkcje bazowe różniące się kształtem od funkcji sigmoidalnych.. Istotne różnice miedzy obydwoma

W wyniku tak radykalnej procedury adaptacji wag, możliwe jest dopasowywanie sieci do wielu wzorców różniących się od siebie, a ponadto sieć wykazuje pewną (ograniczoną)

Podstawową cechą sieci neuronowej jest jej zdolność do uogólniania, a więc generowania właściwego rozwiązania dla danych, które nie pojawiły się w zestawie danych

Przy starcie uczenia z wartości losowych prawdopodobieństwo utknięcia procesu w minimum lokalnym jest większe niż w przypadku sieci. sigmoidalnych, ze względu na silną

• Składową błędu dla każdego j-tego połączenia określamy jako pochodną cząstkową błędu względem j-tej wagi. • Składowych tych będziemy mogli użyć do

Systemy uczące się (machine learning, ML) oraz sztuczne sieci neuronowe (artificial neural networks, ANN) są ważnymi elementami CI.... Problemy

Robert Sulej Sztuczne sieci neuronowe – aplikacje w analizie danych eksperymentalnych 11/05/2009.

ANN, sztuczne sieci neuronowe – liczne zastosowania techniczne, modele funkcji mózgu, neurony impulsujące lub progowe3. PDP, Parallel Data Processing, czyli