Sztuczne sieci neuronowe

advertisement
Sztuczne sieci neuronowe
Bartłomiej Goral ETI 9.1
INTELIGENCJA
• Inteligencja naturalna i sztuczna.
• Czy istnieje potrzeba poznania inteligencji
naturalnej przed przystąpieniem do projektowania
ukłładów sztucznej inteligencji ?
• Cechy naturalnej inteligencji.
1
INTELIGENCJA
• Inteligencja jako cecha indywidualna jest zmienna
w dłługich cyklach (kilka lat). Emocje zmieniają
ą się
w ciągu godzin lub minut, nastroje w ciągu dni lub
godzin.
• Definicje inteligencji naturalnej
• Sir Francis Galton (1883) – inteligencja: energia
działania i wraŜliwość umysłowa.
• Alfred Binet (1905) – kluczowa zdolność
intelektualna – umiejętność dokonywania sądów –
zdrowy rozsądek. Myślenie inteligentne –
ukierunkowanie, przystosowanie i kontrola.
INTELIGENCJA
• Inteligencja – przystosowanie się do nowych okoliczności i
zadań.
• Zdolności poznawcze: nabywanie doświadczenia,
wnioskowanie o relacjach i wnioskowanie o
współzaleŜnościach.
• Nabywanie doświadczenia dotyczy sfery: poznawczej,
emocjonalnej i motywacyjnej.
• Wnioskowanie o relacjach: dostrzeganie abstrakcyjnych
zaleŜności między obiektami lub/i sytuacjami.
• Wnioskowanie indukcyjne.
• Wnioskowanie o współzaleŜnościach: wprowadzenie reguł
następstwa zdarzeń i współwystępowania.
2
INTELIGENCJA
• „Inteligencja jest bardzo ogólną zdolnością umysłłową
obejmującą umiejętność rozumowania, planowania,
rozwiązywania zagadnień, abstrakcyjnego myślenia,
rozumienia złoŜonych zagadnień, szybkiego uczenia się
i uczenia się w oparciu włłasne doświadczenia”
Gottfredson (1997)
• Z tej definicji wynika, Ŝe inteligencję moŜna podzielić
na dwie podstawowe zdolności: umiejętność radzenia
sobie w złoŜonych sytuacjach i w nowych sytuacjach.
SZTUCZNA INTELIGENCJA
• Czy moŜna utworzyć sztuczną świadomość lub zdrowy
rozsądek?
• Czy moŜna stworzyć sztuczną inteligencję ogólną ?
• Zwolennicy słabej sztucznej inteligencji dają odpowiedź
przeczącą twierdząc, Ŝe ludzie istnieją w wyniku pewnego
zbiegu okoliczności, którego sztucznie nie moŜna
odtworzyć.
• Zwolennicy silnej sztucznej inteligencji (computational
theory of mind) twierdzą, Ŝe w przyszłości będzie
moŜliwe utworzenie sztucznej inteligencji posiadającej
wszystkie cechy inteligencji naturalnej.
Pozostaje pytanie co do celowoś
celowości i etycznoś
etyczności takiego
dział
działania.
3
Sieć neuronowa ?
Czym jest sieć neuronowa:
• Sieć komórek neuronowych Ŝyjącego organizmu
• System równoległego przetwarzania informacji zawierający
elementy przetwarzające (zwane neuronami) mające lokalną
pamięć i zdolne do lokalnego przetwarzania sygnałów wejściowych.
Elementy te są ze sobą połączone jednokierunkowymi kanałami
przesyłania sygnałów.
• KaŜdy neuron generuje jeden sygnał wyjściowy, który jest
równolegle propagowany do dowolnej liczby innych elementów
sieci.
• Proces przetwarzania sygnałów wejściowych w elemencie moŜe
być zdefiniowany w dowolny sposób jednak musi być całkowicie
lokalny. Znaczy to, Ŝe wynik działania neuronu zaleŜy tylko od
sygnałów wejściowych i lokalnej pamięci elementu.
• Najlepsze rozwiązanie problemu jeśli nie jest znane jego rzeczywiste
rzeczywiste
dokładne rozwiązanie.
Zastosowania sieci neuronowych
• Podstawowe kategorie zastosowań sztucznych
sieci neuronowych:
•
•
•
•
•
•
aproksymacja i interpolacja,
rozpoznawanie i klasyfikacja,
kompresja,
predykcja,
identyfikacja i sterowanie,
asocjacja.
4
Biologiczne inspiracje
Pierwowzorem i jednocześnie niedościgłym wzorem sztucznych sieci
neuronowych był ludzki mózg.
Objętość
~ 1400 cm3
Powierzchnia ~ 2000 cm2
Masa
~ 1.5 kg
Liczba neuronów
~ 1010
Liczba połączeń
Długość połączeń
Częstotliwość
Liczba operacji
~ 1015
~ 0.01mm do 1m
~ 1-100 Hz
~ 1018/sekundę
Biologiczne inspiracje
Fragment systemu neuronowego
5
Neuron
Dendryt
Akson
Synapsa
Soma
• Neuron jest specjalizowaną komórką, która
pobudzana przez jedno lub wiele wejść wytwarza
sygnał wyjściowy przesyłany do innych neuronów.
• Sygnał wyjściowy zaleŜy od natęŜenia kaŜdego sygnału
wejściowego i od natury połączenia na wejściu
(synapsy). Niektóre synapsy mogą mieć zdolność
pobudzania, inne mogą być hamujące. Rzeczywisty
związek między wejściami a wyjściem moŜe być
bardzo złoŜony.
Neuron
Dendryt
Akson
Synapsa
Soma
• KaŜdy neuron posiada ciało zwane somą, wewnątrz którego
znajduje się jądro.
• Z neuronu wyrastają liczne wypustki, pełniące istotną rolę w
komunikowaniu się z innymi komórkami.
• MoŜna wyróŜnić dwa rodzaje połączeń:
• liczne, cienkie i gęsto rozkrzewione dendryty
• grubszy, rozwidlający się na końcu akson
6
Neuron
• Sygnały wejściowe doprowadzone są do komórki za
pośrednictwem synaps, zaś sygnał wyjściowy odprowadzany
jest za pomocą aksonu i jego licznych odgałęzień (kolateral).
• Kolaterale docierają do somy i dendrytów innych neuronów,
tworząc kolejne synapsy.
• Transmisja sygnałów wewnątrz systemu nerwowego jest
procesem chemiczno-elektrycznym.
• Przekazywanie impulsu nerwowego od jednej komórki do
drugiej opiera się na wydzielaniu pod wpływem
nadchodzących od synaps bodźców elektrycznych, substancji
chemicznych (neuromediatorów).
• Substancje te oddziałują na błonę komórki, powodując
zmianę jej potencjału elektrycznego.
Neuron
• Poszczególne synapsy róŜnią się wielkością oraz
moŜliwościami gromadzenia neuromediatora w pobliŜu
błony synaptycznej.
• Taki sam impuls docierający do wejścia komórki za
pośrednictwem róŜnych synaps moŜe powodować silniejsze
lub słabsze jej pobudzenie.
• Miarą stopnia pobudzenia komórki jest stopień polaryzacji
jej błony, zaleŜny od sumarycznej ilości neuromediatora
wydzielonego we wszystkich synapsach.
• Wejściom komórki moŜna przypisać współczynniki liczbowe
(wagi) odpowiadające ilości neuromediatora wydzielonego
jednorazowo na poszczególnych synapsach.
7
Neuron
• Wagi synaptyczne są liczbami rzeczywistymi i mogą
przyjmować wartości zarówno dodatnie, jak i ujemne.
• Jedne z nich oddziałują pobudzająco, a drugie hamująco,
powodując utrudnienie pobudzenia komórki przez inne
sygnały.
• Działanie synapsy pobudzającej moŜna zinterpretować
przyjmując dodatnią wartość wagi synaptycznej, a synapsy
hamującej - wartość ujemną.
Neuron
• W wyniku docierania impulsów wejściowych do poszczególnych
synaps i uwolnienia odpowiednich ilości neuromediatora następuje
pobudzenie elektryczne komórki.
• Jeśli zaburzenie równowagi elektrycznej jest niewielkie lub jeśli
bilans pobudzeń i hamowań jest ujemny, to na jej wyjściu nie
pojawia się Ŝadna zmiana (pobudzenie komórki było mniejsze od
progu jej zadziałania).
• Jeśli suma pobudzeń i hamowań przekracza próg uaktywnienia
komórki, to generowany jest impuls nerwowy, przesyłany
aksonem do innych neuronów połączonych z daną komórką.
• Amplituda sygnału jest niezaleŜna od stopnia przekroczenia progu.
• Po wygenerowaniu impulsu następuje proces refrakcji, podwyŜszenie
progu uaktywnienia do wartości nieskończonej i bezpośrednio po
wygenerowaniu impulsu neuron przez pewien czas nie moŜe
wygenerować następnego.
8
Sztuczny neuron
• Podobnie jak w przypadku układu nerwowego,
podstawowym elementem sztucznych sieci
neuronowych są sztuczne neurony.
• Sztuczne neurony są elementami, których
właściwości odpowiadają wybranym
właściwościom rzeczywistych komórek
nerwowych.
Sieci neuronowe - historia
1943
McCulloch
Walter Pits
Model sztucznego neuronu
1957,
1958
Rosenblatt
Wightman
Pierwsza sztuczna sieć neuronowa i pierwszy pracujący
neurokomputer Mark I Perceptron
1960
Widrow
Liniowy sieci neuronowe ADALINE (ADAptive LINEar
Element)
1969
Minsky
Papert
Dowodzą Ŝe jednowarstwowe sieci neuronowe nie mogą być
zastosowane do rozwiązania pewnej klasy problemów (XOR)
1974
Werbos
Propozycja nowej metody uczenia - propagacji wstecznej
(Error Back Propagation) moŜliwej do zastosowania w
przypadku uczenia sieci wielowarstwowych
1982,
1984
Hopfield
Propozycja sieci rekursywnych (Feed-back network)
1987
San Diego
Pierwsza otwarta konferencja na temat sieci neuronowych
(IEEE International Conference on Neural Networks), 1700
uczestników
1990
IEEE Transactions on Neural Networks
9
Sieci neuronowe - historia
MARK I
Sieci neuronowe - historia
MARK I
10
Sieci neuronowe - historia
MARK I
Rodzaje sieci neuronowych
10
Sztuczne sieci
neuronowe
Sieci jednokierunkowe
Feed-Forward
Liniowe
Linear
Nieliniowe
Nonlinear
Uczone pod
nadzorem
Supervised
Sieci rekurencyjne
Feed-back
Sieć
Hopfielda
Uczone bez
nadzoru
Unsupervised
Sieci samoorganizujące się
Self Organizing
Sieć
Boltzmana
• Połączone ze sobą wzajemnie neurony
tworzą układ określany terminem
sztuczna sieć neuronowa.
• W zaleŜności od połączenia i sposobu
organizacji neuronów oraz metody
uczenia rozróŜniamy róŜne typy sieci.
11
Sieci neuronowe - proces uczenia
• Algorytm uczenia sieci neuronowej (ang. learning rule,
training algorithm) - algorytm doboru wartości wag (ang.
weights) i polaryzacji (ang. biases). Celem procesu uczenia
jest spowodowanie aby sieć realizowała określone zadania.
• WyróŜniamy dwie podstawowe strategie uczenia:
• Uczenie pod nadzorem (ang. supervised learning)
• Uczenie bez nadzoru (ang. unsupervised learning)
• W trybie uczenia pod nadzorem dany jest zbiór danych
uczących (ang. training set):
{ x1, d1 }, { x2, d2 }, . . . ,{ xM, dM }
gdzie: xi - wektor sygnałów wejściowych (ang. inputs)
di - odpowiadający im wektor zadanych sygnałów
wyjściowych (ang. targets, destination)
Liniowa sieć neuronowa - Madaline
• Z pojedynczych elementów Adaline moŜna zbudować sieć
nazywaną Madaline.
• Działanie tej sieci polega najczęściej na tym, Ŝe pojawienie się
określonego wektora wejściowego x powoduje powstanie
sygnałów wyjściowych yi na wszystkich neuronach.
• Maksymalny sygnał wyjściowy pojawia się na tym neuronie,
którego wektor wag jest najbardziej podobny do wektora
wejściowego.
• Sieć moŜe rozpoznawać S róŜnych klas obiektów.
• O tym do której klasy naleŜy zaliczyć aktualnie prezentowany
wektor, decyduje numer wejścia, na którym pojawia się sygnał
wyjściowy o maksymalnej wartości.
• Neurony dokonujące omówionej tu klasyfikacji nazywane są
Grandmother Cells.
12
Liniowa sieć neuronowa - Madaline
• Sieć Madaline dokonuje liniowego odwzorowania sygnału
x w sygnał y
• Sieć moŜe nauczyć się tylko liniowej zaleŜności między
sygnałami wejściowymi i wyjściowymi.
• NaleŜy pamiętać Ŝe znacząca część przekształceń
stosowanych w teorii przetwarzania sygnałów jest liniowa.
• Przekształcenie sygnału x w sygnał y moŜna traktować
jako filtrację.
• Jeśli zaleŜność jest nieliniowa to sieć dokonuje
aproksymacji
liniowej
minimalizującej
błąd
średniokwadratowy.
Nieliniowe sieci jednokierunkowe
• W zaleŜności od sposobu zorganizowania neuronów sieci mogą być jedno lub
wielowarstwowe.
• Historycznie, jako pierwsze, powstały sieci jednowarstwowe (perceptron)
• Neurony ułoŜone w jednej warstwie praktycznie działają niezaleŜnie od
siebie, ułatwia to proces uczenia ale powoduje równieŜ znaczne ograniczenia
ich przydatności (problem w przypadku nieseparowalności liniowej danych
uczącyh np. funkcja EXOR)
y1
y2
yN
N1
N2
NN
ξ
x1
x2
x3
x4
xR
13
Sieci wielowarstwowe
• Ograniczenia
sieci
jednowarstwowych
skłoniły
do
konstrukcji sieci wielowarstwowej.
• Problemem był jednak przez długi czas brak efektywnego
algorytmu uczenia neuronów znajdujących się w warstwach
ukrytych.
• Rozwiązaniem było zaproponowanie przez Werbos-a w 1970
roku algorytmu wstecznej propagacji (back propagation).
• Algorytm ten zyskał szeroką popularność dopiero w latach
osiemdziesiątych XX wieku.
• Algorytm back propagation jest rozszerzeniem wcześniej
omówionego algorytmu delta rule.
• Dla zilustrowania algorytmu wstecznej propagacji
rozpatrzymy sieć wielowarstwową składającą się z P warstw
Sieci wielowarstwowe
y1
yN
1P
NP
Warstwa wyjściowa (P)
1P-1
NP-1
Warstwa ukryta (P-1)
ξi
p
Warstwa ukryta (p)
ip
11
N1
Warstwa ukryta (1)
Warstwa (0)
zawierająca R wejść
x1
xR
14
Uczenie sieci wielowarstwowej
1. FAZA INICJALIZACJI: Nadaj początkowe wartości
wszystkim wagom
2. FAZA PREZENTACJI: Podaj na wejście sieci wektor próbki
uczącej i wyznacz odpowiedź kolejnych warstw aŜ do
uzyskania sygnału warstwy wyjściowej
3. FAZA PORÓWNANIA: Wyznacz róŜnicę pomiędzy
aktualnym wektorem sygnałów wyjściowych a wartościami
zadanymi. Oblicz sumę kwadratów błędów - kryterium Q.
Zakończ proces jeśli wartość Q obliczona dla wszystkich
próbek uczących jest mniejsza od zadanego błędu lub została
osiągnięta maksymalna liczba iteracji.
4. FAZA PROPAGACJI WSTECZNEJ: Oblicz wektor δ dla
warstwy wyjściowej i dokonaj jego wstecznej propagacji do
wcześniejszych warstw.
5. FAZA UCZENIA: Wyznacz nowe wagi i kontynuuj proces od
kroku 2.
Właściwości sieci
jedno- i wielo- warstwowej
Liczba
warstw
1 warstwa
Typ obszaru decyzyjnego
EXOR
A
B
B
A
A
B
B
A
A
B
B
A
Półprzestrzeń ograniczonaHiperpłaszczyzną
Przykład
B
A
2 warstwy
Obszry wypukłe jednospójne (simpleksy)
B
A
3 warstwy
Dowolnie złoŜone obszary (niewypukłe,
Niejednospójne)
B
A
15
Sieci wielowarstwowe modelowanie w Matlabie
x1
0
0
1
1
x2
0
1
0
1
d
0
1
1
0
X = [ 0 0 1 1; ...
0 1 0 1]; % Zmienna z wektorami wejściowymi
D =[ 0 1 1 0]; % Zmienna z wartościami wyjściowymi
clear net % usunięcie starej definicji sieci
% Tworzenie sieci z dwoma wejściami, Sieć zawiera 3 neurony w warstwie ukrytej i
% 1 neuron w warstwie wyjściowej, funkcje aktywacji sigmoidalne, uczenie metodą trainlm
net = newff( minmax(X), [3,1], {'logsig', 'logsig'}, 'trainlm‘ );
net = init(net); % inicjalizacja wag i polaryzacji domyślnymi funkcjami
% definiowanie parametrów uczenia
net.trainParam.epochs = 1200;
net.trainParam.goal = 1e-8;
net = train(net, X, D); % uczenie sieci
% Oblicz odpowiedź sieci na
% dane zawarte w wektorze X
Y = sim(net, X);
% Odczytaj wartości wag i polaryzacji
Sieci wielowarstwowe - modelowanie w Matlabie
net = newff( minmax(X), [2,1], {'logsig', 'logsig'}, 'trainlm‘ );
16
Sieci wielowarstwowe - modelowanie w Matlabie
net = newff( minmax(X), [2,1], {'logsig', 'logsig'}, 'trainlm‘ );
net = newff( minmax(X), [2,1], {'logsig', ‘purelin'}, 'trainlm‘ );
Sieci wielowarstwowe - modelowanie w Matlabie
net = newff( minmax(X), [2,1], {'logsig', 'logsig'}, 'trainlm‘ );
net = newff( minmax(X), [2,1], {'logsig', ‘purelin'}, 'trainlm‘ );
17
Sieci wielowarstwowe - modelowanie w Matlabie
net = newff( minmax(X), [2,1], {'logsig', 'logsig'}, 'trainlm‘ );
net = newff( minmax(X), [5,1], {'logsig', 'logsig'}, 'trainlm‘ );
Optymalizacja
•Problem optymalizacji wyraŜany jako problem
poszukiwania ekstremum jest podejmowany od
wielu wieków.
•Zastosowanie komputerów pozwoliło na uŜycie
metod optymalizacji do rozwiązania zagadnień
praktycznych.
18
Download