background image

Podstawy Sztucznej 

Inteligencji

1

Jan Kusiak

Podstawy Sztucznej Inteligencji

Jan Kusiak

Jak uczyć neuron?

background image

Podstawy Sztucznej 

Inteligencji

2

Jan Kusiak

Ogólna zasada uczenia neuronu: 

Wektor wag w

i

 = [w

i1

, w

i2

,...,w

in

]

T

 rośnie 

proporcjonalnie do iloczynu sygnałów 
wejściowego x i uczącego 

(Amari, Żurada). 

x

1

x

2

w

i1

.

.

.
.

.

.

i-ty neuron

w

ij

w

i2

w

in

x

j

x

n

y

i

generator

sygnału

uczącego

d

i

x

w

i

x

c

r

t

i

background image

Podstawy Sztucznej 

Inteligencji

3

Jan Kusiak

c - stała uczenia c > 0, (c wpływa na szybkość 
uczenia). 

Wektor zmodyfikowanych wag w kolejnym kroku 
czasowym k+1 wynosi więc: 

  

€ 

=r(w

i

,x,t

i

)

Sygnał uczący r jest w ogólności funkcją w

i

x oraz sygnału nauczyciela t

i 

Zgodnie z ogólną regułą uczenia, przyrost 
wektora w

i

 w kolejnym kroku uczenia 

zachodzącym w chwili k wynosi: 

  

€ 

Δw

i

k

=cr(w

i

k

,x

k

,t

i

k

)x

k

  

€ 

w

i

k+1

=w

i

k

+cr(w

i

k

,x

k

,t

i

k

)x

k

Ogólna zasada uczenia neuronu: 

background image

Podstawy Sztucznej 

Inteligencji

4

Jan Kusiak

Podstawy Sztucznej Inteligencji

Jan Kusiak

Uczenie perceptronu

background image

Podstawy Sztucznej 

Inteligencji

5

Jan Kusiak

Reguła perceptronowa jest jedną z metod 
uczenia nadzorowanego, stosowaną do sieci z 
neuronami dyskretnymi. 

Reguła uczenia perceptronowego

Sygnał uczący jest różnicą pomiędzy 
odpowiedzią pożądaną a odpowiedzią 
uzyskiwaną z sieci (Rosenblatt, 1958); 

€ 

=t

i

y

i

)

x

w

sign

y

T

i

+

x

1

x

2

w

i1

.

.

.
.

.

.

w

ij

w

i2

w

in

x

j

x

n

y

i

d

i

x

w

i

x

-1

1

s

+

d

- y

i

+

-

c(d

- y

i

)x

c

s

i

t

i

c(t

 - y

i

)x

t

 - y

i

background image

Podstawy Sztucznej 

Inteligencji

6

Jan Kusiak

Korygowanie współczynników wag synaptycznych 
(dla bipolarnej funkcji aktywacji) odbywa się 
według zależności: 

€ 

Δw=c(ty) =c[tsign(w

T

x)]x

Ponieważ sygnał odpowiedzi perceptronu 
przyjmuje wartość albo 1, albo -1, algorytm 
"doregulowania" wag redukuje się do postaci: 

przy czym znak plus dotyczy przypadku, gdy 
t

i

= 1 zaś minus w przypadku przeciwnym.

cx

w

i

2

Reguła uczenia perceptronowego

Dostrojenie wag następuje tylko wtedy, 
kiedy występuje błąd odwzorowania przez 
neuron. 

background image

Podstawy Sztucznej 

Inteligencji

7

Jan Kusiak

1. Wybieramy losowo początkowe wartości wag.
2. Podajemy na wejście neuronu wektor uczący 

x=x(τ)=[x

0

(τ), x

1

(τ),..., x

n

(τ)]

T

τ=1,2,....

3. Obliczenie wartości wyjściowej perceptronu 

y.

4. Porównanie wartości wyjściowej y(τ) z 

wartością wzorcową (uczącą) t=t(x(τ)).

5. Modyfikacja wag:

w

i

(τ+1) = w

i

(τ) + (t – y)x

i

(τ

6. Powrót do punktu 2. 

Algorytm uczenia perceptronu

Algorytm powtarzany jest dopóty, dopóki błąd 
na wyjściu nie będzie mniejszy od 
założonego, dla wszystkich wektorów ciągu 
uczącego.

(Warunek: dane uczące reprezentują klasy 

liniowo separowalne

)

background image

Podstawy Sztucznej 

Inteligencji

9

Jan Kusiak

Liniowa separowalność

Definicja. Dwa zbiory 
punktów A i B z 
wymiarowej przestrzeni 
wejściowej s są 
liniowo separowalne 
jeżeli istnieje n + 1 
wartości w

0

, . . . ,w

 

takich, 
że dla każdego punktu 
A zachodzi:

n

i

i

i

w

x

w

1

0

a dla każdego punktu B zachodzi:

n

i

i

i

w

x

w

1

0

B

A

x

2

X

1

background image

Podstawy Sztucznej 

Inteligencji

10

Jan Kusiak

Liniowa separowalność - przykład

Funkcja logiczna AND:

€ 

(s) =sgnw

0

+w

1

x

1

+w

2

x

2

(

)

     

x

     x

2

        Y

     0       0        -1
     0       1        -1
     1       0        -1
     1       1         1

background image

Podstawy Sztucznej 

Inteligencji

11

Jan Kusiak

Liniowo nieseparowalna funkcja - przykład

Funkcja logiczna XOR:

     

x

     x

2

        Y

     0       0       -1
     0       1        1
     1       0        1
     1       1        -1

Uwaga: Perceptron nie 
może się
nauczyć funkcji liniowo 
nieseparowalnej (ale 
może to zrobić sieć)

€ 

(s) =sgnw

0

+w

1

x

1

+w

2

x

2

(

)

background image

Podstawy Sztucznej 

Inteligencji

12

Jan Kusiak

Przykład uczenia perceptronu:

Początkowe wartości wag: w

1

 = [1, -1, 0, 0.5]

T

 

(indeks górny oznacza numer kroku uczenia). 
Stała uczenia przyjmuje wartość 
c = 0.1. 

Lp

.

x

1

x

2

x

3

x

4

t

1

1

-1

0

-
1

-
1

2

0

1.

5

-

0.

5

-
1

-
1

3

-
1

1

0.

5

1

1

Zbiór uczący składa się z następujących wartości:

background image

Podstawy Sztucznej 

Inteligencji

13

Jan Kusiak

Krok 1: Na wejściu 
prezentacja 
pierwszego sygnału 
uczącego x

1

:

5

.

1

1

0

1

1

]

5

.

0

,

0

,

1

,

1

[

)

(

1

1

x

w

s

T

Przykład uczenia perceptronu:

Ponieważ sygnał wyjściowy y

1

 = sign(s

1

) = 

sign(1.5) = 1 jest różny od sygnału uczącego t

1

 

= -1, musi nastąpić korekcja współczynników 
wagowych. Nowy wektor wag obliczony zostaje 
zgodnie z regułą perceptronową: 

7

.

0

0

8

.

0

8

.

0

1

0

1

1

2

.

0

5

.

0

0

1

1

)

1

1

(

1

.

0

1

1

2

x

w

w

background image

Podstawy Sztucznej 

Inteligencji

14

Jan Kusiak

Krok 2: Na wejściu prezentacja kolejnego, 
drugiego sygnału uczącego x

2

:

Ponieważ sygnał wyjściowy y

2

 = sign(s

2

) = 

sign(-1.1) = -1 jest zgodny z sygnałem 
uczącym t

2

 = -1, nie następuje korekcja wag i 

w

3

 = w

2

1

.

1

1

5

.

0

5

.

1

0

]

7

.

0

0

8

.

0

8

.

0

[

)

(

2

2

2

x

w

s

T

background image

Podstawy Sztucznej 

Inteligencji

15

Jan Kusiak

Krok 3: Na wejściu prezentacja kolejnego, 
trzeciego sygnału uczącego x

3

:

Sygnał wyjściowy y

3

 = sgn(s

3

) = sgn(-2.3) = -1 

jest różny od wartości sygnału uczącego d

3

 = 1, 

musi nastąpić korekcja wag. Skorygowany wektor 
wag przyjmuje wartość: 

3

.

2

1

5

.

0

1

1

]

7

.

0

0

8

.

0

8

.

0

[

)

(

3

3

3

x

w

s

T

5

.

0

1

.

0

6

.

0

6

.

0

1

5

.

0

1

1

2

.

0

7

.

0

0

8

.

0

8

.

0

)

1

1

(

1

.

0

3

3

4

x

w

w

background image

Podstawy Sztucznej 

Inteligencji

16

Jan Kusiak

Ponieważ zbiór uczący składa się z 3 
prezentacji, pierwszy cykl uczenia na tym się 
kończy. 

Błąd uczenia perceptronu trudno jest oszacować 
z uwagi na binarne wartości sygnału 
wyjściowego. Dlatego jakość wytrenowania można 
ocenić obserwując sygnał pobudzenia s. 
Spróbujmy obliczyć wartość pobudzenia s

4

 po 

podaniu sygnału x

1

 na wejście nauczonego w 

powyższy sposób perceptronu. Sygnał pobudzenia 
przyjmie wartość: 

i jest znacznie bliższy wartości ujemnej 
sygnału oczekiwanego, niż to miało miejsce na 
początku uczenia (wtedy s

4

 = 2.5). 

Przeprowadzenie kolejnego cyklu uczenie 
pozwoli na zmniejszenie błędu uczenia.

7

.

0

)

(

1

4

2

x

w

s

T

background image

Podstawy Sztucznej 

Inteligencji

17

Jan Kusiak

Podstawy Sztucznej Inteligencji

Jan Kusiak

Perceptron jako 

klasyfikator

background image

Podstawy Sztucznej 

Inteligencji

18

Jan Kusiak

Podstawy Sztucznej Inteligencji

Jan Kusiak

Podstawy Sztucznej 

Inteligencji

Jan Kusiak

Perceptron o dwóch wejściach 

Uwaga:
Binarna funkcja aktywacji
 nadaje 
perceptronowi własności klasyfikatora 
sygnałów wejściowych. 

czyli:
Dzieli przestrzeń wektora wejściowego na 
dwa obszary.

background image

Podstawy Sztucznej 

Inteligencji

19

Jan Kusiak

Podstawy Sztucznej 

Inteligencji

Jan Kusiak

Perceptron o dwóch wejściach 

b = -1

w

1,1

 = -1; w

1,2

 = +1

Niech

n = w

T

p=[-1 1]p - 1 = 

0

Granica decyzyjna jest 
wyznaczona przez: 

Granica ta jest prostopadła do wektora wag 
przesunięta o wartość b. 

Wektor W wskazuje obszar wartości dodatnich sygnału 
wyjściowego.

€ 

a=hardlimsw

1,1

w

1,2

[

]

p

1

p

2

⎡ 
⎣ 

⎢ 

⎤ 
⎦ 

⎥ +b

⎛ 
⎝ 

⎜ 

⎞ 
⎠ 

⎟ 

€ 

n=Wp+b=0

background image

Podstawy Sztucznej 

Inteligencji

20

Jan Kusiak

Gdy perceptron ma R wejść, wówczas dzieli R
wymiarową przestrzeń wektorów wejściowych 
na dwie półprzestrzenie.

Są rozdzielone R-1- wymiarową 
hiperpłaszczyzną, nazywaną granicą decyzyjną 
o równaniu
:

0

1

b

p

w

i

R

i

i

Podstawy Sztucznej 

Inteligencji

Jan Kusiak

Perceptron (granica decyzyjna)

background image

Podstawy Sztucznej 

Inteligencji

21

Jan Kusiak

Czy perceptron można użyć do sortowania jabłek i pomarańczy?

3 sygnały wejściowe:

•  p

1  

- kształt, 

•  p

- tekstura skórki,

•  p

- waga

Podstawy Sztucznej 

Inteligencji

Jan Kusiak

Perceptron jako klasyfikator



p

i

 [ 1, 1]

Wzorzec pomarańczy: P

T

= [1 -1 -1]

 T

  

Wzorzec jabłka: P

T

=  [1 1 -1]

 T

a = 1

a = -1

background image

Podstawy Sztucznej 

Inteligencji

22

Jan Kusiak

Perceptron jako prosta maszyna do sortowania 
owoców.

Budowa: 
1 neuron o 3 wejściach (bipolarna, binarna 
funkcja aktywacji hardlims):

= [0 1 0]
= 0 

Wzorzec pomarańczy: p

T

= [1 -1 -1]

 T

;

a = hardlims(n) = harlims( [0 1 0]p + 0) = 
-1

Wzorzec jabłka: p

T

=  [1 1 -1]

 T

a = hardlims(n) = harlims( [0 1 0]p + 0) = 1

Podstawy Sztucznej 

Inteligencji

Jan Kusiak

Perceptron jako klasyfikator

Płaszczyzna decyzyjna: p

= 0



ahardlimsw

1,1

w

1,2

w

1,3

p

1

p

2

p

3

















 b

















background image

Podstawy Sztucznej 

Inteligencji

23

Jan Kusiak

Prosta maszyna do sortowania owoców – jabłka i pomarańcze

Podstawy Sztucznej 

Inteligencji

Jan Kusiak

Perceptron jako klasyfikator

nnd3
pc


Document Outline