Professional Documents
Culture Documents
PODSTAWY MECHATRONIKI
Dendryty
(Dendrites)
Ciało somatyczne
(Soma)
Akson (Axon)
NEURONY NATURALNE
Dendryty
Akson (dendrites)
(axon)
Synapsy
(synapses)
- Potencjał powraca do
podstawowego stanu
NEURONY NATURALNE
synapsa
dendryty
akson
NEURONY NATURALNE I SZTUCZNE
wm1
wm2
xn wmn ym
m
f (⋅) 0 ... 0 w11 w12 ... w1n
t
t
y = y1 y2 ... ym def 0 f (⋅) ... 0 def w
x = x1 x 2 ... x n 21 w22 ... w2 n
Γ = W = y = Γ[Wx]
............. ..................
def
t
w i = wi1 wi 2 ... win 0 0 ... f (⋅) w w ... w
m1 m2 mn
def n
net i = ∑w
j =1
ij x j , i = 1,2,..., m
Dwie warstwy
NEURONY SZTUCZNE
Sieć liniowa
Wyjścia z sieci są liniowo przeskalowanymi wejściami
Sieć równoważna macierzowej transformacji y = Wx + b
Łatwe w uczeniu – wystarczy obliczyć macierz odwrotną
Funkcja sigmoidalna
NEURONY SZTUCZNE
Funkcje aktywacji neuronów
Bipolarna ciągła Bipolarna binarna
2 + 1, net ≥ 0
f (net ) =
1 + exp( − λ ⋅ net )
− 1, λ > 0 f (net ) = sgn( net ) =
− 1, net < 0
t
x1
def
w1 w = w1 w2 ... wn
x2
w2
n
y = f ( w x) = f ∑ wi xi
t
f(wtx)
def
t y x = x1 x 2 ... x n
...
i =1
wn def
xn net = w t x
NEURONY SZTUCZNE
Model McCulloch’a-Pitts’a X1
X2 X3
X1
W1
Y
X2 W2 T
X3 W3
x1
x2 w1
Wejścia
n
x3 w2 z = ∑ wi xi ; y = H ( z ) Wyjście
i =1 y
… w3
. . x1
w1
.
xn-1 wn-1
x2
w2 1
+ net
-1 net
y(w,x)
...
xn wn
wn
xn
Przesunięcia b dostosowują
punkt przejścia przez zero
X1
1
Y
1
X2
1
Y = X1 OR X2
NEURONY SZTUCZNE
Sieć percepronowa jako maszyna logiczna
X1
1
Y
2
X2
1
Y = X1 AND X2
NEURONY SZTUCZNE
Sieć percepronowa jako maszyna logiczna
X Y
-1 0
Y = NOT X
NEURONY SZTUCZNE
Sieć percepronowa - przykład
Przeanalizować dwuwarstwową sieć jednokierunkową
warstwa 1
1
1 + net y1 y1
-1 net
1 0 1
1
y2 x1
x1
− 1 0 − 2
y = y3
-1
x = x2 W1 =
net
1
y2 1 y4 − 1 0 1 0
+
-2 -1 net
1 y
1 5 0 −1 − 3
x2 -2 + net
y5
1 -1 net
y3
1
+ net
1 1 warstwa 2
-1 net 3.5
-1 y1
x3
y2
-3
+ net
1
net
y4 -1
[ ]
y = y5 x = y3 W2 = 1 1 1 1 35
.
-1
y4
− 1
sgn( x1 − 1)
sgn( − x1 + 2)
Wektor wyjściowy pierwszej warstwy y=
sgn( x 2 )
sgn( − x 2 + 3)
Warstwy sigmoidalne
-funkcje gładkie
-nieskończenie różniczkowalne
-Dlatego względnie łatwe do uczenia
NEURONY SZTUCZNE
Sieć sigmoidalna uniwersalnym aproksymatorem
Sieć sigmoidalna z pojedynczą warstwą ukrytą może aproksymować dowolną
funkcję ciągłą. (Funahashi, 1989, Cybenko, 1989)
wm1
wm2
xn(0) wmn ym
m y(t+delta)
y( t + ∆) = Γ[Wy( t ) ] y k +1 = Γ[Wy k ]
y 1 = Γ[Wx 0 ]
y 2 = Γ[WΓ[Wx 0 ]]
...
NEURONY SZTUCZNE
Sieć z progiem TAK/NIE
NEURONY SZTUCZNE
Wybór funkcji aktywacji
Funkcja radialna
Rak = 1
Komórka normalna=0
NEURONY SZTUCZNE
Przykład – rozpoznawanie komórek rakowych
Uczenie przy pomocy 60%
danych
85% prawidłowo
rozpoznanych
komórek rak/normalna
Uczenie nienadzorowane
-znaleźć klastry (podzbiory) w zbiorze x bez zależności od y
-zastosować heurystyczną wiedzę do wprowadzenia relacji pomiędzy x i y
UCZENIE NEURONÓW SZTUCZNYCH
Zasada nauki sieci neuronowej : Wektor wag w = [ w w ... w ] (i=1...n), połączony z danym
i i1 i2 in
t
∆w i ( t ) = cyi x( t )
∆wij = cyi x j , j = 1,2 ,..., n
UCZENIE NEURONÓW SZTUCZNYCH
Sieć perceptronowa - przykład
Kontynuować naukę sieci neuronowej z rysunku
x1 w1
Założenia :
funkcja aktywacji : binarna bipolarna x2 w2
c=1 w3 y
1 1 0
− 2 − 0.5 1 x3
Dane są trzy wektory wejściowe x1 = 15
.
x2 = x3 =
− 2 − 1 w4
+ 1, net ≥ 0
f (net ) = sgn( net ) =
0 − 15
. .
15 x4 − 1, net < 0
1
− 1
Wektor wag w =
1
0
0.5
Krok 1. 1 Krok 2. 1
− 2 − 0.5
Pobudzenie neuronu net 1 = w 1x1 = 1 − 1 0 0.5 =3 net = w x 2 = 2 − 3 15
2 2
. 0.5 = −0.25
15
. − 2
0 − 15
.
1 1 2
− 1 − 2 − 3 2 1 1
− 3 − 0.5 − 2.5
Nowe wagi w = w + sgn(net )x1 = w + x1 = + =
2 1 1 1
w = w + sgn(net )x 2 = w − x 2 = −
3 2 2 2 =
0 15. 15
.
15
. − 2 35
.
0.5 0 0.5
0.5 − 15
. 2
UCZENIE NEURONÓW SZTUCZNYCH
Sieć perceptronowa - przykład
Kontynuować naukę sieci neuronowej z rysunku
x1 w1
Założenia :
funkcja aktywacji : binarna bipolarna x2 w2
c=1 w3 y
1 1 0
− 2 − 0.5 1 x3
Dane są trzy wektory wejściowe x1 = 15
.
x2 = x3 =
− 2 − 1 w4
0 − 15
. .
15 x4
1
− 1
Wektor wag w =
1
0
0.5
Krok 2. 1 Krok 3. 0
− 0.5 1
Pobudzenie neuronu net = w x 2 = 2 − 3 15
2 2
. 0.5 = −0.25 net 3 = w 3x 3 = 1 − 2.5 3.5 2 = −3
− 2 − 1
− 15
. 15
.
2 1 1 1 0 1
− 3 − 0.5 − 2.5 − 2.5 1 − 35.
Nowe wagi w = w + sgn(net )x2 = w − x2 = −
3 2 2 2 = w = w + sgn( net )x 3 = w − x 3 =
4 3 3 3 − =
15
. − 2 35
. 3.5 − 1 4.5
0.5 − 15
. 2 2 15 . 0.5
UCZENIE NEURONÓW SZTUCZNYCH
Sieć liniowa
Sieć równoważna macierzowej transformacji y = Wx + b
Wystarczy obliczyć macierz odwrotną
Błąd uczenia
Strojony parametr p
-wagi W
-przesunięcie b
-Warunek optymalności
-Gradient
UCZENIE NEURONÓW SZTUCZNYCH
Sieć liniowa – uczenie pojedynczego neuronu
Metoda największego spadku gradientu
Gradient
Zbiór uczący:
-wejścia X (m x n)
-wyjścia Y (1 x n)
Odpowiedź Zbiór
sieci uczący
Algorytm
największego
spadku
UCZENIE NEURONÓW SZTUCZNYCH
Sieć perceptronowa
Zasada nauki sieci neuronowej : Wektor wag w = [ w w ... w ] (i=1...n), połączony z danym
i i1 i2 in
t
Funkcja kosztów
Parametr poszukiwany
UCZENIE NEURONÓW SZTUCZNYCH
Sieć sigmoidalna – uczenie pojedynczego neuronu
UCZENIE NEURONÓW SZTUCZNYCH
Sieć sigmoidalna – uczenie warstw neuronów
UCZENIE NEURONÓW SZTUCZNYCH
Zasada nauki sieci neuronowej : Wektor wag w = [ w w ... w ] (i=1...n), połączony z danym
i i1 i2 in
t
[
r = δ = d i − yi yi' ]
δw i (t ) = c[d i − yi ] f i ( net i )x(t )
UCZENIE NEURONÓW SZTUCZNYCH
Sieć sigmoidalna - przykład
Kontynuować naukę sieci neuronowej z rysunku
x1 w1
Założenia :
funkcja aktywacji : ciągła bipolarna x2 w2
1 0 − 1
c=0.1 , λ=1 − 2 15
. 1 w3 y
Dane są trzy wektory wejściowe x 1 = x2 = x3 = x3
0 − 0.5 0.5
1
− 1 − 1 − 1 − 1 w4
Wektor wag w =
1
x4
0
0.5
1
Pożądane odpowiedzi na kolejne obrazy
Pochodna funkcji aktywacji y f ( net ) = (1 − y 2 )
'
xi (sygnał nauczyciela) : -1, -1, 1
2
Krok 1. Krok 2.
(
Wartość pochodnej funkcji aktywacji : f ' ( net 1 ) = 1 1 − ( y 1 ) 2 = 014
2
. ) f ' ( net 1 ) =
1
2
( )
1 − ( y 2 ) = 0.218
2
t
Nowe wagi w = w + c(d 1 − y ) f (net )x 1 = 0.974 − 0.948 0 0.526
2 1 1 ' 1
t
w = w + c( d 2 − y ) f ( net ) x 2 = 0.974 − 0.956 0.002 0.531
3 2 2 ' 2
UCZENIE NEURONÓW SZTUCZNYCH
Sieć sigmoidalna - przykład
Kontynuować naukę sieci neuronowej z rysunku
x1 w1
Założenia :
funkcja aktywacji : ciągła bipolarna x2 w2
1 0 − 1
c=0.1 , λ=1 − 2 15
. 1 w3 y
Dane są trzy wektory wejściowe x 1 = x2 = x3 = x3
0 − 0.5 0.5
1
− 1 − 1 − 1 − 1 w4
Wektor wag w =
1
x4
0
0.5
1
Pożądane odpowiedzi na kolejne obrazy
Pochodna funkcji aktywacji y f ( net ) = (1 − y 2 )
'
xi (sygnał nauczyciela) : -1, -1, 1
2
Krok 2. Krok 3.
t
Nowe wagi w = w + c( d 2 − y ) f ( net ) x 2 = 0.974 − 0.956 0.002 0.531
3 2 2 ' 2
t
w = w + c( d 2 − y ) f ( net ) x 2 = 0.974 − 0.929 0.016 0.505
4 3 2 ' 2
Metoda identyfikacji dowolnych obiektów
(liniowych lub nieliniowych)
za pomocą sztucznej sieci neuronowej
UCZENIE NEURONÓW SZTUCZNYCH
Sieć sigmoidalna - identyfikacja
czas
Sygnał pozwala na identyfikację obiektu liniowego
przez sieć neuronową
UCZENIE NEURONÓW SZTUCZNYCH
Sieć sigmoidalna - identyfikacja
Obiekt i jego odpowiedź skokowa
Sygnał identyfikacyjny
Obiekt Rejestracja
W przestrzeni roboczej dostępna jest również zmienna tout przechowująca kolejne chwile czasu.
UCZENIE NEURONÓW SZTUCZNYCH
Sieć sigmoidalna - identyfikacja
Zielony – sieć
iebieski - obiekt
+2
2
1 +1
0 -1 +1 -2 +2
0 5 10 15 20 25 30 35 40 45 czas, sekundy
-1
-1
-2 -2
UCZENIE NEURONÓW SZTUCZNYCH
Sieć sigmoidalna – identyfikacja 2
Struktura sieci : 11:5:1
10 neuronów sygnału x(t-10)...x(t) i 1 sygnału y(t-1), na wyjściu y(t)
Sygnały rejestrowane co 0.5 sekundy, co pozwala na uchwycenie szybkich zmian odpowiedzi skokowej w
początkowym ich zakresie. 10 neuronów sygnału x oznacza 5 sekund obserwacji aż do osiągnięcia stanu
ustaloneggo odpowiedzi skokowej.
UCZENIE NEURONÓW SZTUCZNYCH
Sieć sigmoidalna – identyfikacja 2
Sygnał testowy i odpowiedź obiektu
UCZENIE NEURONÓW SZTUCZNYCH
Sieć sigmoidalna – identyfikacja 2
auka i jej wynik
P = [delaysig(x',0,9); delaysig(y',1,1)];
T=y';
net = newff([-2 2
-2 2
-2 2
-2 2
-2 2
-2 2
-2 2
-2 2
-2 2
-2 2
-2 2],
[5 1],{'tansig' 'purelin'}); %zakres, liczba neuronów, funkcje aktywacji
Polecenie P = [delaysig(x',0,9); delaysig(y',1,1)]; układa dane
net.trainParam.epochs = 50; dla 11 neuronów w wierszach
net = train(net,P,T); Y = sim(net,P);plot(tout,T,tout,Y,'o') [analogia do ładowania rewolweru (sieci) nabojami (próbkami
uczącymi) ]
UCZENIE NEURONÓW SZTUCZNYCH
Sieć sigmoidalna – identyfikacja 2
Test i jego wynik
P = [delaysig(x',0,9); delaysig(y',1,1)];
T=y';
Y = sim(net,P);
plot(tout,T,tout,Y,'o')
O – wynik z sieci, linia ciągła – rzeczywista odpowiedź sieci na losowe pobudzenie obiektu co 0.5 sekundy
Eksperyment identyfikacyjny...
bez eksperymentu
UCZENIE NEURONÓW SZTUCZNYCH
Sieć sigmoidalna – identyfikacja 3
Kolejny przykład pokazuje jeszcze ciekawszą własność: zbiór uczący może składać się z losowego pobudzenia
obiektu oraz sygnału wyjściowego. Weźmy sygnał z ostatniego slajdu i użyjmy go do nauki.
Wynik nauki:
(wartości szczytowe są lepiej odtworzone)
UCZENIE NEURONÓW SZTUCZNYCH
Sieć sigmoidalna – identyfikacja 3
I testujemy sieć nie widzianym przez nią sygnałem.
UCZENIE NEURONÓW SZTUCZNYCH
Sieć sigmoidalna – identyfikacja 3
P = [delaysig(x',0,9); delaysig(y',1,1)];
T=y';
Y = sim(net,P);
plot(tout,T,tout,Y,'o')
WIOSEK
Zwiększenie zakłóceń do
pełnej dziedziny (-2,2)
powinno umożliwić dobrą
identyfikację
UCZENIE NEURONÓW SZTUCZNYCH
Sieć sigmoidalna – identyfikacja 4
indeksu giełdowego ?
UCZENIE NEURONÓW SZTUCZNYCH
Sieć sigmoidalna – identyfikacja 4
Zadanie wydaje się interesujące:
Wartość przewidywana na 3 I 2000 wynosi 18 130, wartość rzeczywista 18 873, a użyto zaledwie 9 neuronów...
o dwóch wejściach
i jednym wyjściu?
UCZENIE NEURONÓW SZTUCZNYCH
Sieć sigmoidalna – identyfikacja 5
Rezultat losowego
pobudzenia obiektu
sygnałami x1 i x2
UCZENIE NEURONÓW SZTUCZNYCH
Sieć sigmoidalna – identyfikacja 5
P = [delaysig(x1',0,9);delaysig(x2',0,9); delaysig(y',1,1)]; Wejścia: 10 wejść x1: x1(t),...,x1(t-9)
T=y'; 10 wejść x2: x2(t),...,x2(t-9)
1 wejście y : y(t-1)
net = newff(minmax(P),[5 1],{'tansig' 'purelin'});
net.trainParam.epochs = 50; Wyjście: y(t)
net = train(net,P,T);
Y = sim(net,P);
Struktura sieci 21:5:1
plot(tout,T,tout,Y,'o')
UCZENIE NEURONÓW SZTUCZNYCH
Sieć sigmoidalna – identyfikacja 5
Wynik nauki Wynik testu
‘o’ sieć ‘o’ sieć
‘-’ sygnał ‘-’ sygnał
[zmieniono ziarno (seed) w obu
sygnałach x1 oraz x2 na [23351]]
Model odwrotny obiektu
Model odwrotny obiektu
w układzie regulacji
Sieci neuronowe w matlabie 5.3
Regulator neuronowy
REGULATOR NEURONOWY
Regulator optymalizujący
Wektor wejściowy P ma 7 wierszy =
6 sygnałów wejściowych x(t), x(t-1),...,x(t-6) oraz sygnał y(t-1)
Wektor wyjściowy T zawiera sygnał y(t)
Wynik nauki
‘o’ sieć
‘-’ sygnał
REGULATOR NEURONOWY
Regulator optymalizujący - test
%test
Pt=[delaysig(xt',0,5);delaysig(yt',1,1)];
Yt = sim(net,Pt); Test sieci sygnałem losowym
plot(tout,yt,tout,Yt,'o')
grid on;
REGULATOR NEURONOWY
Regulator optymalizujący
Help nnet
Polecenie : gensim
Pt=[delaysig(xt',0,5);yt'];
Yt = sim(net,Pt);
plot(tout,yt,tout,Yt,'o')
grid on;
%pętla optymalizująca
Zasada nauki sieci neuronowej : Wektor wag w = [ w w ... w ] (i=1...n), połączony z danym
i i1 i2 in
t
Zasada nauki sieci neuronowej : Wektor wag w = [ w w ... w ] (i=1...n), połączony z danym
i i1 i2 in
t
r = di
∆w i (t ) = cd i x( t )
UCZENIE NEURONÓW SZTUCZNYCH
Samoorganizujące się mapy
Uczenie konkurencyjne, nienadzorowane
Założenie: bliskie sygnały wejściowe pobudzają
bliskie sobie sygnały wyjściowe
Warstwa Klasa x
Znaczenie
konkurencji semantyczne
αk = współczynnik uczenia
Dwóch najbliższych
sąsiadów tworzy związek liniowy
UCZENIE NEURONÓW SZTUCZNYCH
Mapa semantyczna – wybór zbioru sąsiednich neuronów
Czterech najbliższych
sąsiadów tworzy wielobok
UCZENIE NEURONÓW SZTUCZNYCH
Mapa semantyczna – kwantyzacja wektora wejściowego
Włączenie elementów uczenia nadzorowanego do uczenia nienadzorowanego
Typ 1:
-dodanie książki kodów – neuronów mc o określonym znaczeniu
Klasyfikacja prawidłowa
nieprawidłowa
Typ 2
-Inhibicja : x należy do klasy mj, lecz jest bliżej mi
UCZENIE NEURONÓW SZTUCZNYCH
Mapa semantyczna – przykład identyfikacji asocjacyjnej
UCZENIE NEURONÓW SZTUCZNYCH
Mapa semantyczna – przykład identyfikacji semantycznej
SIECI REKURENCYJNE
-uczenie nadzorowane z
podaniem idealnego wzorca
-identyfikowany jest
wzorzec zaszumiony
opóźnienie
-działanie sieci
Identyfikacja
ideal+
szum
- Iteracje aż do osiągnięcia
zbieżności
SIECI REKURENCYJNE
Sieć Hopfielda - przykład
Uczenie sieci
-Danych jest M próbek ys
-Obliczenie macierzy wag