Upload
others
View
13
Download
0
Embed Size (px)
Citation preview
Podstawy Sztucznej Inteligencji Sztuczne Sieci Neuronowe
Krzysztof Regulski, WIMiIP, KISiM, [email protected] B5, pok. 408
2
Inteligencja
— Czy inteligencja jest jakąś jedną dziedziną, czy też jest to nazwa dla zbioru odrębnych i niepowiązanych zdolności?
— Co zyskujemy w procesie uczenia się?
— Co to jest intuicja?
— Czy inteligencja może być nabyta wskutek nauki lub obserwacji, czy też jest jakoś uwarunkowana wewnętrznie?
— Jak wiedza wpływa na wzrost inteligencji?
— Czy inteligencja to szczegółowa wiedza o jakiejś dziedzinie, czy zbiór związanych ze sobą różnych zdolności?
KISIM, WIMiIP, AGH
3 KISIM, WIMiIP, AGH
Inteligencja
Inteligencja jest zdolnością do sprawnego rozwiązywania zadań intelektualnych,
które zazwyczaj uchodzą za trudne.
… są trudne tak długo, jak długo nie są znane algorytmy ich
rozwiązywania, potem przestają być traktowane jako zadania
sztucznej inteligencji
w ten sposób sztuczna inteligencja nigdy nie ma żadnych osiągnięć
4
sztuczna inteligencja - rozwiązywanie „trudnych” zadań
Czy to jest trudny problem ?
98731269868414316984251684351 × 985316846315968463198643541684
A to:
”Kochanie, kup ładny kawałek wołowiny…”
KISIM, WIMiIP, AGH
5 KISIM, WIMiIP, AGH
Czy nam to szybko grozi?
6 KISIM, WIMiIP, AGH
Robot kolejkowy EWA-1
- Moja konstrukcja jest optymalna, tylko ludzie nie dorośli do tego. Wolą sami stać w kolejkach.
-Pan tu nie stał, pan nie jest w ciąży.
Krzysztof Manc
(Wynalazca)
7 KISIM, WIMiIP, AGH
Zagadnienia Sztucznej Inteligencji (AI)
Computational Intelligence - numeryczne
Artificial Intelligence - symboliczne
Soft Computing
Sieci neuronowe
Rachunek prawdopodobieństwa
Uczenie maszynowe
Systemy ekspertowe
Rozpoznawanie Wzorców
Logika rozmyta
Algorytmy ewolucyjne i genetyczne
Wizualizacja
Metody statystyczne
Data mining
Optymalizacja badania
operacyjne
wnioskowanie
reprezentacja wiedzy
8 KISIM, WIMiIP, AGH
Przykłady zadań sztucznej inteligencji
— dokonywanie ekspertyz ekonomicznych, prawnych, technicznych, medycznych (ocena)
— wspomaganie podejmowania decyzji (doradzanie)
— rozpoznawanie obrazów, twarzy, wzorców, etc.
— optymalizacja (harmonogramowanie, alokacja zasobów, planowanie tras)
— generacja nowej wiedzy (poszukiwanie zalezności, tendencji, reguł, etc – data mining)
— prognozowanie zjawisk ekonomicznych, przyrodniczych
— rozumienie języka naturalnego
— sterowanie urządzeniami (roboty etc)
— i inne…
9 KISIM, WIMiIP, AGH
Zadania sztucznej inteligencji
Wnioskowanie
» procesem stosowania reguł wnioskowania w sposób skutecznie i efektywnie prowadzący do określonego celu wnioskowania, którym zazwyczaj jest uzyskania pewnego docelowego stwierdzenia.
Uczenie się
» proces zmiany zachodzącej w systemie na podstawie doświadczeń, która prowadzi do poprawy jego jakości działania rozumianej jako sprawność rozwiązywania stojących przed systemem zadań.
Przeszukiwanie
» Znajdowanie zadawalających rozwiązań bez pełnego przeglądania wszystkich możliwości, a więc jak najbardziej efektywne przeszukiwanie przestrzeni rozwiązań
» Przeszukiwanie przestrzeni jest procesem stosowania dostępnych operatorów do przemieszczania się między różnymi stanami w tej przestrzeni, tak aby ostatecznie trafić ze stanu początkowego do jednego ze stanów końcowych
10 KISIM, WIMiIP, AGH
Uczenie się –
Sztuczne Sieci Neuronowe
11 KISIM, WIMiIP, AGH
Sztuczny neuron, McCulloch i Pitts,1943
12 KISIM, WIMiIP, AGH
Z czego składa się sztuczna sieć neuronowa?
neurony
13 KISIM, WIMiIP, AGH
» Rozproszone są:
– program działania
– baza wiedzy
– dane
– proces obliczania
» Sieć działa zawsze jako całość, równolegle
» Wszystkie elementy mają wkład we wszystkie czynności
» Duża zdolność do działania nawet po uszkodzeniach
» wagi – pojęcie kluczowe
Jak to wszystko działa?
14 KISIM, WIMiIP, AGH
Po co są wagi?
WAGA "NOWY"
WAGA „ŁADNY"
Co na to neuron?
5 1 Lubi nowe samochody; ich wygląd mało się liczy.
1 -1 Wszystko mu jedno...
-5 4 Samochód musi być ładny, ale stary.
4 5 Lubi nowe i piękne auta.
-4 -4 Ekstrawagancki neuron - lubi stare, brzydkie maszyny.
15 KISIM, WIMiIP, AGH
Po co są funkcje aktywacji?
Wartość sygnału wyjściowego zależy od rodzaju funkcji w bloku aktywacji
16 KISIM, WIMiIP, AGH
Rozpoznawanie
17 KISIM, WIMiIP, AGH
Rozpoznawanie
W jaki sposób błyskawicznie rozpoznajemy twarze znanych osób? (nawet zniekształcone) Cudów nie ma! Rozpoznajemy tylko taką twarz, której nasz mózg się nauczył.
18 KISIM, WIMiIP, AGH
Kojarzenie
19 KISIM, WIMiIP, AGH
Przewidywanie
20 KISIM, WIMiIP, AGH
Do czego służy sieć neuronowa?
... do wszelkiego rodzaju
– rozpoznawania,
– kojarzenia,
– przewidywania
... praktycznie we wszystkich dziedzinach życia, nauki, techniki, przemysłu, ...
21 KISIM, WIMiIP, AGH
Klasyfikacja. Do budowy klasyfikatorów wykorzystuje się neurony o wyjściach binarnych. Przy prezentacji obrazu uaktywnia się tylko jeden element wyjściowy. Obraz wejściowy zostaje przyporządkowany określonej klasie reprezentowanej przez aktywny element.
- rozpoznawanie - klasyfikacja
Klasyfikacja
Zadaniem procesu uczenia jest podział wzorców uczących na klasy obrazów zbliżonych do siebie i przyporządkowanie każdej klasie osobnego elementu wyjściowego
22 KISIM, WIMiIP, AGH
Co ma wpływ na sygnały wyjściowe?
Sygnał wyjściowy neuronu zależy od:
sygnałów wejściowych,
współczynników wagowych,
funkcji aktywacji,
budowy sieci
23 KISIM, WIMiIP, AGH
• Zmieniając wartości współczynników wagowych możemy zmieniać zależności pomiędzy wektorami sygnałów wejściowych i wyjściowych sieci.
• Jak ustawić te współczynniki aby uzyskać żądane zależności pomiędzy tymi wektorami?
• Sieci neuronowych się nie programuje. Oznacza to, że wartości współczynników wag nie ustala się bezpośrednio, ulegają one zmianom podczas procesu nazywanego uczeniem sieci.
Uczenie
24 KISIM, WIMiIP, AGH
• W procesie uczenia z nauczycielem, dla nowych wartości sygnałów wejściowych nauczyciel (zmienna zależna) podpowiada pożądaną odpowiedź.
• Błąd odpowiedzi służy do korygowania wag sieci.
Sieć
adaptacyjna
W = var
Obliczenie błędu
= t - a
p a
t
Uczenie nadzorowane
Dane uczące – zmienna zależna
Wyjście sieci
25 KISIM, WIMiIP, AGH
Uczenie sieci jednowarstwowej
1
K
k
z1
zk
zK
y1
yj
yJ
w11
wk1w
K1
w1j w
1J
wk1
wkj
wKj
wkJ
wKJ
.
.
.
.
.
.
.
.
.
.
.
.
minimalizacja błędu uczenia
Dla jakich wartości współczynników wagowych, błąd uczenia przyjmuje najmniejszą (minimalną) wartość?
26 KISIM, WIMiIP, AGH
1
J-1
j
x1
xi
xI-1
z1
zk
zK
v11
vj1
v1i
v1i v
1I
vj1
vji
vjI
vJ-1,I
.
.
.
.
.
.
.
.
.
.
.
.
xJ = -1
w11
v11
1
K
k
.
.
.
.
.
.
yJ = -1
wk1
w1j
wkj
wKj
wkJ
wKJ
w1J
warstwa wyjściowawarstwa ukryta
WE
(x)
WY
(z)
WE
(k)
WY
(j)
Uczenie sieci wielowarstwowej Algorytm wstecznej propagacji błędu
Rzutowanie wstecz błędu
• Dla każdej próbnej liczby neuronów ukrytych tworzymy losowe wagi początkowe i uczymy sieć do chwili, gdy przestajemy osiągać poprawę.
• Sprawdzamy działanie sieci przy pomocy danych testowych.
• Jeżeli jakość sieci jest wyraźnie gorsza niż na zbiorze uczącym, to:
- albo zbiór uczący jest zły (za mały lub
mało reprezentatywny) - albo mamy za dużo neuronów ukrytych.
Sieć jest przetrenowana.
27 KISIM, WIMiIP, AGH
Uczenie bez nauczyciela
28 KISIM, WIMiIP, AGH
• W procesie uczenia z nauczycielem, dla nowych wartości sygnałów wejściowych nauczyciel podpowiada pożądaną odpowiedź.
• Błąd odpowiedzi służy do korygowania wag sieci.
Sieć
adaptacyjna
W = var
Obliczenie błędu
= t - a
p a
t
Uczenie bez nauczyciela
• Podczas uczenia bez nauczyciela pożądana odpowiedź nie jest znana.
• Sieć sama musi uczyć się poprzez analizę reakcji na pobudzenia (o których naturze wie mało albo nic).
Sieć
adaptacyjna
W = var
p a
29 KISIM, WIMiIP, AGH
Istnieją sytuacje, gdy sieć nie może się sama nauczyć, bez nauczyciela lub bez dodatkowej informacji o analizowanym problemie.
x2
x1
+ ++
+
++
+
+
+
+
++ +
+++
++ +
+
+
+
++
Uczenie bez nauczyciela
Uczenie „bez nauczyciela” jest możliwe, gdy mamy nadmiarowość danych wejściowych.
x2
x1
+
+
++
++
+
+ ++
++ +
+++
++ +
++
+
+
30 KISIM, WIMiIP, AGH
Reguła Hebba (1949) oparta jest na doświadczeniu Pawłowa (odruch Pawłowa).
OB - odruch bezwarunkowy, OW - odruch warunkowy, BB - bodziec bezwarunkowy, BW - bodziec warunkowy.
Reguła Hebba
pokarm (BB) ślinienie (OB)
pokarm (BB) + dzwonek (BW) ślinienie (OW)
dzwonek (BW) ślinienie (OW)
31 KISIM, WIMiIP, AGH
Jeżeli akson komórki A bierze systematycznie udział w pobudzaniu komórki B powodującym jej aktywację, to wywołuje to zmianę metaboliczną w jednej lub w obu komórkach, prowadzącą do wzrostu skuteczności pobudzania B przez A
Często powtarzające się obrazy wejściowe dają silniejsza odpowiedź na wyjściu.
A
By
A
yB
Reguła (model neuronu) Hebba (1949)
32 KISIM, WIMiIP, AGH
x1
x2
wi1
.
.
.
.
.
.
i-ty neuron
wij
wi2
win
xj
xn
yi
generator
sygnału
uczącego rti
xwi
x
c
r
Sygnałem uczącym jest po prostu sygnał wyjściowy neuronu.
Korekta wektora wag:
xwwww iiiii cykkk )()()1(
nazywa się także niekiedy uczeniem korelacyjnym
Reguła Hebba
Często powtarzające się obrazy wejściowe dają więc silniejsza odpowiedź na wyjściu.
33 KISIM, WIMiIP, AGH
Interpretacja geometryczne reguły Hebba
x
w
φ |w|cos(φ) x wTx=|x||w|cos(φ)
w(t+1)
Δw
Wektor wag przemieszcza się w kierunku środka ciężkości wielkości uczących
Niebezpieczeństwo: Długość wektora wag rośnie w sposób nieograniczony (o ile nie zapewnimy stopniowego zmniejszania współczynnika c)
34 KISIM, WIMiIP, AGH
Ile warstw ukrytych ?
Sieci o większej liczbie warstw ukrytych uczą się dłużej i proces uczenia jest słabiej zbieżny. Rozbudowanie sieci do dwóch warstw ukrytych jest uzasadnione w zagadnieniach w których sieć ma nauczyć się funkcji nieciągłych. Zaleca się rozpoczynać zawsze od jednej warstwy ukrytej. Jeżeli pomimo zwiększenia liczby neuronów sieć uczy się źle, wówczas należy podjąć próbę dodania dodatkowej drugiej warstwy ukrytej i zmniejszyć jednocześnie liczbę neuronów ukrytych.
35 KISIM, WIMiIP, AGH
Również i tutaj brak jednoznacznej odpowiedzi Zbyt mała liczba neuronów w warstwie ukrytej - mogą wystąpić trudności w uczenia sieci. Zbyt duża liczba neuronów - wydłużenie czasu uczenia. Może doprowadzić do tzw. nadmiernego dopasowania. Sieć uczy się wtedy "na pamięć" pewnych szczegółów i zatraca zdolność do uogólnień. Taka sieć uczy się wprost idealnie i wiernie odwzorowuje wartości zbioru uczącego. Jednakże wyniki testowania sieci na danych spoza zbioru uczącego są zazwyczaj bardzo słabe.
Ile neuronów w warstwach ukrytych ?
36 KISIM, WIMiIP, AGH
Reasumując: Ze względu na fakt, że brak jest teoretycznych przesłanek do projektowania topologii sieci, zgodnie z zaleceniami podanymi przez Masters'a, we wstępnych pracach nad siecią dobrze jest przestrzegać następujących 3 zasad:
1. należy stosować tylko jedną warstwę ukrytą, 2. należy używać niewielu neuronów ukrytych, 3. należy uczyć sieć do granic możliwości.
Jak konstruować sieć ?
37 KISIM, WIMiIP, AGH
Oznaką przetrenowania jest wzrost błędu dla danych testowych,
przy malejącym błędzie danych uczących
Dane testowe
Dane uczące
Liczba iteracji
Błą
d
Jak długo uczyć sieć ?
38 KISIM, WIMiIP, AGH
Prawidłowa procedura uczenia sieci
• Ocena jakości sieci
• Zbiór danych do uczenia sieci
• Skalowanie sygnałów
• Liczebność zbioru danych uczących
• Rozkład danych w zbiorze uczącym
• Trendy danych uczących
• Sieć nie ma zdolności do ekstrapolacji
39 KISIM, WIMiIP, AGH
Automatyczne Sieci Neuronowe STATISTICA
Adult_uczacy.sta
40 KISIM, WIMiIP, AGH
Adult_uczacy.sta
1
2
41 KISIM, WIMiIP, AGH
3
4
5
6
42 KISIM, WIMiIP, AGH
Uwaga na czas uczenia….
43 KISIM, WIMiIP, AGH
44 KISIM, WIMiIP, AGH
45 KISIM, WIMiIP, AGH
46 KISIM, WIMiIP, AGH
47 KISIM, WIMiIP, AGH
Sieci Kohonena (samoorganizujące się) (Self Organizing Maps – SOM)
Wykrywanie grup (clustering) Uczenie rywalizacyjne
x w(t)
w(t+1)
α(x-w(t)) x-w(t)
48 KISIM, WIMiIP, AGH
49 KISIM, WIMiIP, AGH
Uwaga na czas uczenia….
50 KISIM, WIMiIP, AGH
10,7
1,1
10,10
1,10
51 KISIM, WIMiIP, AGH
10,7
52 KISIM, WIMiIP, AGH
53 KISIM, WIMiIP, AGH
10,10
54 KISIM, WIMiIP, AGH
1,1
55 KISIM, WIMiIP, AGH
1,10
56 KISIM, WIMiIP, AGH
Regresja
1
57 KISIM, WIMiIP, AGH
58 KISIM, WIMiIP, AGH
1
2 3
59 KISIM, WIMiIP, AGH
1
2 3
R2=0,21