background image

Podstawy Sztucznej 

Inteligencji

Jan Kusiak

Sieci dynamiczne

sieci rekurencyjne, 
sieci Hopfielda,
pamięci asocjacyjne,
sieci asocjacyjne

background image

Podstawy Sztucznej 

Inteligencji

Jan Kusiak

Dynamiczne Sieci Neuronowe

Sieć neuronowa jest statyczna gdy:

wyjście sieci w danej chwili jest 

zależne 

jedynie od wejść w tej chwili:

Sieć neuronowa jest dynamiczna gdy:

wyjście sieci w danej chwili jest 

zależne od  wejść  w danej chwili oraz w 
chwilach 

poprzednich:

€ 

y(t) =h(x(t))

Dynamika w sieciach może być uzyskana 
poprzez zastosowanie: linii opóźniających 
i/lub rekurencji.

Sieci takie dzielimy na: dynamiczne sieci 
jednokierunkowe oraz rekurencyjne.

  

€ 

y(t)=h(x(t), x(t−1),K ,x(0),y(0))

background image

Podstawy Sztucznej 

Inteligencji

Jan Kusiak

Dynamiczne 
sieci 
jednokierunko
we

background image

Podstawy Sztucznej 

Inteligencji

Jan Kusiak

Linia opóźniająca

background image

Podstawy Sztucznej 

Inteligencji

Jan Kusiak

Dynamiczne Sieci Jednokierunkowe

(FTDNN)

(DTDNN)

))

(

,

),

1

(

),

(

(

)

(

d

t

u

t

u

t

u

h

t

y

))

(

,

),

1

(

),

(

(

)

(

1

d

t

u

t

u

t

u

h

t

a

))

(

,

),

1

(

),

(

(

)

(

1

1

1

d

t

a

t

a

t

a

g

t

y

background image

Podstawy Sztucznej 

Inteligencji

Jan Kusiak

W rozważanych dotychczas sieciach sygnał był 
przekazywany w jednym kierunku – od wejścia do 
wyjścia (sieci jednokierunkowe, feedforward networks).

Sieci rekurencyjne (ze sprzężeniem zwrotnym, 
dynamiczne, pamięci asocjacyjne)

1

J -1

j

x

1

x

i

x

I-1

z

1

z

k

z

K

v

11

v

j1

v

1i

v

1i

v

1I

v

j1

v

ji

v

jI

v

J -1,I

.

.

.

.

.

.

.

.

.

.

.

.

x

J

 = -1

w

11

v

11

1

K

k

.

.

.

.

.

.

y

J

 = -1

w

k1

w

1j

w

kj

w

Kj

w

kJ

w

KJ

w

1J

warstwa wyjściowa

warstwa ukryta

WE

(x)

WY

(z)

background image

Podstawy Sztucznej 

Inteligencji

Jan Kusiak

Sieci Rekurencyjne

(NARX)

(LRN)

)

),

1

(

),

(

,

),

2

(

),

1

(

(

)

(

t

u

t

u

t

y

t

y

h

t

y

))

(

),

1

(

(

)

(

1

1

t

u

t

a

h

t

a

))

(

(

)

(

1

t

a

g

t

background image

Podstawy Sztucznej 

Inteligencji

Jan Kusiak

Sieci Hopfielda 
(sieć asocjacyjna, 
pamięć 
asocjacyjna)

background image

Podstawy Sztucznej 

Inteligencji

Jan Kusiak

Sieci asocjacyjne (sieci Hopfielda) -  klasa sieci rekurencyjnych, 
które dają możliwość rekonstrukcji i rozpoznawania wcześniej 
zapamiętanych wzorców na podstawie skojarzeń, bazując na 
dostępnym fragmencie wzorca lub wzorca podobnego do niego.

Są wykorzystywane do modelowania pamięci skojarzeniowej. 

Sieć Hopfielda (1982)

background image

Podstawy Sztucznej 

Inteligencji

Jan Kusiak

Sieć Hopfielda (1982)

Sieci Hopfielda, są to jednowarstwowe sieci ze 
sprzężeniem zwrotnym (często nazywane pamięcią 
asocjacyjną)

•Połączenie “każdy z każdym”

•Brak sprzężenia zwrotnego do siebie 
samego

•Symetryczna macierz współczynników 
wagowych

background image

Podstawy Sztucznej 

Inteligencji

Jan Kusiak

Sieć Hopfielda

[R. Tadeusiewicz]

Pytanie czy sieć Hopfielda ma sprzężenia zwrotne 
przypomina inne pytanie: czy wąż ma ogon?

Odpowiedź w obydwu przypadkach jest taka sama. 

Wyłącznie !!!

background image

Podstawy Sztucznej 

Inteligencji

Jan Kusiak

Na skutek istnienia sprzężeń zwrotnych w sieciach 
rekurencyjnych pojawiają się dynamiczne procesy 
przejściowe, nieznane w innych rodzajach sieci.

Sieć Hopfielda

Z punktu widzenia teorii systemów sieci rekurencyjne 
są nieliniowymi układami dynamicznymi, gdyż ich 
zachowanie się w czasie jest wyznaczone nie tylko 
przez aktualnie działające wejścia, lecz zależy 
również od wejść, które występowały w przeszłości.

background image

Podstawy Sztucznej 

Inteligencji

Jan Kusiak

Sieć Hopfielda

Sygnały na wyjściach sieci zależą od jej stanu 
początkowego i podanych następnie pobudzeń. 

Sieć nie pobudzana zewnętrznym sygnałem 
wejściowym, której stan podlega zmianom tylko 
wskutek istniejących sprzężeń zwrotnych, nazywana 
jest siecią autonomiczną

background image

Podstawy Sztucznej 

Inteligencji

Jan Kusiak

Sieć Hopfielda

Sieci Hopfielda często rysowane są w sposób bardziej 
praktyczny

background image

Podstawy Sztucznej 

Inteligencji

Jan Kusiak

Sieci rekurencyjne 
(recurrent neural 
networks) posiadają 
sprzężenia zwrotne – 
wyjścia neuronów są 
połączone z wejściami 
neuronów.

Sieci Hopfielda

Sieci taka charakteryzuje 
się dynamiką.
Po jednorazowym podaniu 
sygnału (impulsu) na 
wejście, na wyjściu 
zachodzi długotrwały 
proces.

Sygnał wyjściowy zmienia wielokrotnie wartość zanim 
osiągnie stan równowagi - jeżeli go osiągnie  

background image

Podstawy Sztucznej 

Inteligencji

Jan Kusiak

Równowaga w sieci może być 
osiągnięta (bez działającego sygnału 
wejściowego) jedynie w taki sposób, że 
sygnał wyjściowy po przemnożeniu 
przez wagę sprzężenia zwrotnego nie 
zmienia swojej wartości (pozostaje taki 
sam).

Taki sygnał nazywamy ATRAKTOREM. 

Położenie atraktora jest związane z 
parametrami sieci. 

Sieci Hopfielda

background image

Podstawy Sztucznej 

Inteligencji

Jan Kusiak

w = 

w = 

Jeżeli wartość wagi 
sprzężenia zwrotnego jest 
ujemna, wówczas sygnał 
wyjściowy ma charakter 
oscylacyjny

 

 

 

 

x0= 10

w= -1,20

 

 

 

 

 

i

 

y

 

1  

10,00

 

2  

-12,00

 

3  

14,40

 

4  

-17,28

 

5  

20,74

 

6  

-24,88

 

7  

29,86

 

8  

-35,83

 

9  

43,00

 

10  

-51,60

x

0

 = 

10 

(tylko w chwili początkowej)

w = -1.20

Sieci Hopfielda

background image

Podstawy Sztucznej 

Inteligencji

Jan Kusiak

Jeżeli wartość wagi sprzężenia 
zwrotnego jest dodatnia
wówczas sygnał wyjściowy ma 
charakter aperiodyczny

 

 

 

 

x0= 10

w= 1,40

 

 

 

 

 

i

 

y

 

1  

10,00

 

2  

14,00

 

3  

19,60

 

4  

27,44

 

5  

38,42

 

6  

53,78

 

7  

75,30

 

8  

105,41

 

9  

147,58

 

10  

206,61

w = 

w = 

x

0

 = 10; w = 1.40

Sieci Hopfielda

background image

Podstawy Sztucznej 

Inteligencji

Jan Kusiak

Jeżeli bezwzględna wartość wagi 
sprzężenia zwrotnego jest mniejsza 
od pewnej wartości – granicy 
stabilności – 
układ dąży do stanu 
równowagi.

Powyżej tej wartości układ jest 
niestabilny – odpowiedź rośnie do 
nieskończoności

x0= 10

w= 0,50

w= -0,40

 

 

 

 

 

 

 

i

 

y

 

y

 

1  

10,00  

10,00

 

2  

5,00  

-4,00

 

3  

2,50  

1,60

 

4  

1,25  

-0,64

 

5  

0,63  

0,26

 

6  

0,31  

-0,10

 

7  

0,16  

0,04

 

8  

0,08  

-0,02

 

9  

0,04  

0,01

 

10  

0,02  

0,00

 

11  

0,01  

0,00

 

12  

0,00

 

0,00

 

13  

0,00

 

0,00

 

14  

0,00

 

0,00

 

15  

0,00

 

0,00

 

16  

0,00

 

0,00

 

17  

0,00

 

0,00

1). x

0

 = 10; w = 0.50

2). x

0

 = 10; w = - 0.40

Sieci Hopfielda

background image

Podstawy Sztucznej 

Inteligencji

Jan Kusiak

Sieci rekurencyjne (recurrent neural networks) 
posiadają sprzężenia zwrotne – wyjścia neuronów są 
połączone z wejściami neuronów.

Sieci Hopfielda

background image

Podstawy Sztucznej 

Inteligencji

Jan Kusiak

•Sieci rekurencyjne są nieliniowymi układami 

dynamicznymi, gdyż ich zachowanie się w czasie 
jest wyznaczone nie tylko przez aktualnie działające 
wejścia, lecz zależy również od wejść, które 
występowały w przeszłości.

•Sygnały na wyjściach sieci zależą od jej stanu 

początkowego i podanych następnie pobudzeń. 

•Sieć nie pobudzana zewnętrznym sygnałem 

wejściowym, której stan podlega zmianom tylko 
wskutek istniejących sprzężeń zwrotnych, nazywana 
jest siecią autonomiczną.

Sieci Hopfielda

background image

Podstawy Sztucznej 

Inteligencji

Jan Kusiak

Jednorazowe pobudzenie x(0) stanowi wymuszenie 
stanu początkowego. Elementy 

 przypominają, że 

odpowiedź neuronu jest opóźniona w stosunku do 
pobudzenia. Sygnał wyjściowy:

))

(

(

)

(

t

Wy

t

y

Sieci Hopfielda

background image

Podstawy Sztucznej 

Inteligencji

Jan Kusiak

Traktując czas jako zmienną dyskretną i obserwując 
zachowanie sieci w momentach 

, 2

, 3

,.... 

Opisujemy ją jako układ dyskretny w czasie:

,...

2

,

1

,

0

),

(

1

k

Wy

y

k

k

Sieć nazywamy rekurencyjną, gdyż jej odpowiedź w 
chwili k+1 zależy od całej historii pobudzeń, 
poczynając od chwili k=0 i odpowiedzi są ciągiem:

)...))

(

(...

(

))

(

(

)

(

0

1

0

2

0

1

Wx

W

y

Wx

W

y

Wx

y

k

Sieci Hopfielda

background image

Podstawy Sztucznej 

Inteligencji

Jan Kusiak

Równania powyższe opisują stan y

k

 sieci w chwilach 

k=1,2,... i dają ciąg przejść stanu. 

Przejścia stanów sieci rozpoczynają się jej 
pobudzeniem w chwili 0 sygnałem x

0

 i trwają, poprzez 

y

k

, k=1,2,..., aż do osiągnięcia przez sieć stanu 

równowagi. 

Stan równowagi 
nazywany atraktorem 
może być pojedynczym 
stanem lub ciągiem 
stanów obieganych 
cyklicznie (tzw. Cyklem 
granicznym).

Sieci Hopfielda

background image

Podstawy Sztucznej 

Inteligencji

Jan Kusiak

Sieci Hopfielda 

W miejscu 
występowania 
atraktora proces 
uczenia wytwarza 
„studnię” w 
powierzchni 
reprezentującej 
funkcję „energii” sieci

background image

Podstawy Sztucznej 

Inteligencji

Jan Kusiak

Sieci Hopfielda

background image

Podstawy Sztucznej 

Inteligencji

Jan Kusiak

Trochę teorii

background image

Podstawy Sztucznej 

Inteligencji

Jan Kusiak

Pamięć asocjacyjna jest układem odwzorowującym 
wektory x

1

x

2

,.., x

p

należące do R

n

 w wektory y

1

y

2

,.., y

p

 należące do R

m

.

 

Wektory x

i

 i y

i

 nazywane są wzorcowymi lub 

prototypowymi. Schemat blokowy pamięci asocjacyjnej:

M

x

1

x

n

x

2

y

1

y

m

y

2

Y = M(x)

M - nieliniowy operator macierzowy zależny od 
struktury sieci i wag neuronów.

Pamięć asocjacyjna

background image

Podstawy Sztucznej 

Inteligencji

Jan Kusiak

Umieszczenie w pamięci wektorów wzorcowych 
nazywane jest „zapisem” i pociąga za sobą odpowiednie 
dobranie wag. 
Odwzorowanie Y = M(x) wykonane na wektorze 
wejściowym x (przy zamrożonych wagach) nazywane 
jest odczytem

Pamięć autoasocjacyjna – jeżeli asocjacje są postaci:

p

i

x

x

i

i

,

,

2

,

1

,

Pamięć asocjacyjna, c.d.

p

i

x

y

y

x

i

i

i

i

,

,

2

,

1

,

,

Pamięć heteroasocjacyjna - sieć przechowuje p 
asocjacji o postaci:

background image

Podstawy Sztucznej 

Inteligencji

Jan Kusiak

Pamięć asocjacyjna, c.d.

Ważnym zastosowaniem odwzorowania 
autoasocjacyjnego jest odtwarzanie wzorców na 
podstawie podawanych na wejście wzorców 
zniekształconych.

Najczęściej używaną miarą odległości między 
zbiorami jest miara Hamminga.

background image

Podstawy Sztucznej 

Inteligencji

Jan Kusiak

Dla wielkości binarnych 0 i 1 odległość Hamminga 
dwóch wektorów binarnych y = [y

1

, y

2

, ...., y

n

,]

T

 i z = 

[z

1

, z

2

, ...., z

n

,]

T

 wyniosi:



d

H

(y,z) 

1
2

y

i

 z

i

i1

n

Miara Hamminga jest równa zeru jedynie wtedy, gdy 
z. W przeciwnym razie jest ona równa liczbie 
bitów, o które różnią się oba wektory. 

Miara Hamminga

background image

Podstawy Sztucznej 

Inteligencji

Jan Kusiak

Przykład: Odległość Hamminga dwóch wektorów:
y = [-1, -1, 1, 1]

z = [-1, 1, 1, 1]

T

Miara Hamminga, c.d.

background image

Podstawy Sztucznej 

Inteligencji

Jan Kusiak

Przykład: Odległość Hamminga dwóch wektorów:
y = [-1, 

-1

, 1, 1]

z = [-1, 

1

, 1, 1]

T

 

Odległość Hamminga wynosi 1 (obydwa wektory 
różnią się jednym bitem).

Miara Hamminga, c.d.

background image

Podstawy Sztucznej 

Inteligencji

Jan Kusiak

Pamięć asocjacyjna

Zadanie: Możliwość odtwarzania przez sieć przedstawionego jej 
wcześniej obrazu. 

Pamięć asocjacyjna – sieć, która odtwarza zapamiętany obraz 
nawet w przypadku jego zniekształcenia.

background image

Podstawy Sztucznej 

Inteligencji

Jan Kusiak

Podstawowym zadaniem pamięci asocjacyjnej jest 
zapamiętanie zbioru próbek wejściowych (uczących) w 
taki sposób, aby przy prezentacji nowej próbki układ 
mógł wygenerować odpowiedź, która dotyczyć będzie 
jednej z zapamiętanych wcześniej próbek, położonej 
najbliżej próbki testującej. 

Podczas odczytu pamięć może odtworzyć oczekiwany 
wzorzec, wzorzec inny niż oczekiwany lub wektor nie 
należący do zbioru zapamiętanych wzorców. 

Pamięć 
asocjacyjna

background image

Podstawy Sztucznej 

Inteligencji

Jan Kusiak

Proces uczenia sieci kształtuje obszary atrakcji 
(przyciągania) poszczególnych punktów równowagi 
odpowiadających danym uczącym. 

W przypadku pamięci 
autoasocjacyjnej występuje 
wektor uczący x lub zbiór tych 
wektorów, które w wyniku 
przeprowadzonego uczenia 
sieci ustalają położenie 
poszczególnych atraktorów.

Pamięć 
asocjacyjna

Z atraktorami w sieci Hopfielda można związać 
pewne informacje.

background image

Podstawy Sztucznej 

Inteligencji

Jan Kusiak

Niech mapa 

stanów sieci 

Hopfielda 

wygląda jak na 

tym rysunku

Zestaw sygnałów 

wyjściowych w 

tym atraktorze 

formuje taki 

obrazek

Zestaw sygnałów 

wyjściowych w tym 

miejscu formuje 

obrazek 

zniekształcony, który 

nie jest

 atraktorem

Sieć szuka stanu 

równowagi, więc 

jej stan posuwa 

się 

w stronę 

atraktora

Zestaw sygnałów 

wyjściowych w 

tym miejscu 

formuje taki 

obrazek

Tu proces 

szukania 

równowagi się 

kończy. Sieć nie 

osiąga atraktora.

Pod

aje

my

z ze

wną

trz

dan

e, k

tóre

usta

wia

ją s

ieć

w ta

kim

 sta

nie

 

Ucząc sieć 

w tym 

miejscu 

wytworzyliś
my atraktor

Efekt: sieć odtworzyła 

prawie idealnie 

zapamiętany obraz 

(atraktor) na podstawie 

obrazu bardzo 

zakłóconego

Pamięć asocjacyjna

Wg R. Tadeusiewicza

background image

Podstawy Sztucznej 

Inteligencji

Jan Kusiak

Przeanalizujemy prostą 
sieć o bipolarnej funkcji 
aktywacji. Sieć działa 
synchronicznie – w 
każdym takcie obliczane 
są sygnały wyjściowe 
neuronów. 

Gdy sygnał s

i 

 neuronu i 

wynosi 0, to jego sygnał 
wyjściowy nie zmienia 
się.

 

sgn(.)

sgn(.)

sgn(.)

-1

-1

-1

-1

1

s

1

s

2

s

3

y

1

y

2

y

3

1

Prosta pamięć asocjacyjna

background image

Podstawy Sztucznej 

Inteligencji

Jan Kusiak

Załóżmy, że w chwili początkowej sygnały wyjściowe neuronów 
wynoszą:

1

3

2

1

y

y

y

Wtedy sygnały wejściowe 
neuronów wynoszą odpowiednio:

2

0

3

2

1

s

s

s

Ponieważ założyliśmy, że gdy sygnał s

i 

 

wynosi 0, to sygnał wyjściowy nie 
zmienia się, po pierwszym takcie nowe 
sygnały wyjściowe neuronów wynoszą:

1

1

3

2

1

y

y

y

sgn(.)

sgn(.)

sgn(.)

-1

-1

-1

-1

1

s

1

s

2

s

3

y

1

y

2

y

3

1

Prosta pamięć asocjacyjna

background image

Podstawy Sztucznej 

Inteligencji

Jan Kusiak

W następnym takcie i w dalszych 
sygnały wyjściowe nie ulegają już 
zmianie, ponieważ wtedy sygnały 
wejściowe wszystkich trzech 
neuronów wynoszą:

wymusza to ponownie sygnały 
wyjściowe

2

2

3

2

1

s

s

s

1

1

3

2

1

y

y

y

sgn(.)

sgn(.)

sgn(.)

-1

-1

-1

-1

1

s

1

s

2

s

3

y

1

y

2

y

3

1

Prosta pamięć asocjacyjna

background image

Podstawy Sztucznej 

Inteligencji

Jan Kusiak

Wszystkie możliwe 
sygnały wejściowe 
sieci i odpowiadające 
im sygnały zebrano 
w tablicy:

y

1

y

2

y

3

s

1

s

2

s

3

y

1

y

2

y

3

-1 -1 -1 0 0 2

-1 -1 1

-1 -1 1 -2 -2 2

-1 -1 1

-1 1 -1 2 0 0

1 1 -1

-1 1 1 0 -2 0

-1 -1 1

1 -1 -1 0 2 0

1 1 -1

1 -1 1 -2 0 0

-1 -1 1

1 1 -1 2 2 -2

1 1 -1

1 1 1 0 0 -2

1 1 -1

Prosta pamięć asocjacyjna

background image

Podstawy Sztucznej 

Inteligencji

Jan Kusiak

Na rysunku przedstawiono 
wynikający z tablicy fragment 
grafu przejść stanów sieci. 

P

1

P

0

P

4

P

5

P

6

P

2

P

7

P

3

(1,-1,-1)

(1,1,1)

(1,1,-1)

(-1,1,-1)

(-1,1,1)

(-1,-1,1)

(1,-1,1)

(-1,-1,-1)

Sieć ma 2 stany stabilne: 
(1,1,-1) i (-1,-1,1) do 
których dochodzi startując 
z dowolnego stanu 
początkowego. Można więc 
uznać, że sieć pamięta 2 
stany.

Prosta pamięć asocjacyjna

background image

Podstawy Sztucznej 

Inteligencji

Jan Kusiak

Sieć taka może rozpoznać zniekształcony obraz 

Prosta pamięć asocjacyjna

background image

Podstawy Sztucznej 

Inteligencji

Jan Kusiak

Przedstawiona koncepcja 
pamięci łatwo można 
rozszerzyć na praktyczne 
zastosowanie. 

Przykład zastosowań

Pierwszym krokiem jest 
przedstawienie rzeczywistego 
obrazu za pomocą siatki o polach 
białych i czarnych. 

Sieć ma pamiętać 3 obrazy: 
nakrętka, nit i klucz, 
przedstawione na tle siatki o 
wymiarach m x n 

background image

Podstawy Sztucznej 

Inteligencji

Jan Kusiak

Przykład zastosowań, c.d.

Rozpoczynając od dowolnego 
stanu początkowego na 
wyjściu, sieć po przejściu 
pewnej liczby stanów 
pośrednich powinna 
zatrzymać się w jednym ze 
stanów stabilnych. 

Sieć może rozpoznać 
zniekształcony obraz.

Sieć ta będzie posiadać 3 stany 
stabilne odpowiadające trzem 
obrazom. 

background image

Podstawy Sztucznej 

Inteligencji

Jan Kusiak

Proces uczenia sieci kształtuje obszary atrakcji 
(przyciągania) poszczególnych punktów równowagi 
odpowiadających danym uczącym. 

Uczenie sieci neuronowej realizującej pamięć 
asocjacyjną ma za zadanie taki dobór wag W

ij 

poszczególnych neuronów, aby na etapie „odczytu” 
(przy zamrożonych wagach) sieć była zdolna odnaleźć 
zbiór danych, najbliższy w sensie Hamminga, 
wektorowi testowemu. 

Uczenie pamięci asocjacyjnej

background image

Podstawy Sztucznej 

Inteligencji

Jan Kusiak

W przypadku pamięci autoasocjacyjnej występuje 
wektor uczący x lub zbiór tych wektorów, które w 
wyniku przeprowadzonego uczenia sieci ustalają 
położenie poszczególnych atraktorów.

Uczenie pamięci asocjacyjnej, c.d.

background image

Podstawy Sztucznej 

Inteligencji

Jan Kusiak

Sieć Hopfielda 
- przykład działania

background image

Podstawy Sztucznej 

Inteligencji

Jan Kusiak

Sieć Hopfielda

Jednorazowe 
pobudzenie x

0

 ma 

sens wymuszenia 
stanu początkowego. 

Elementy  
przypominają, że 
odpowiedź neuronu 
jest opóźniona w 
stosunku do 
pobudzenia.

Sygnał wyjściowy:

))

(

(

)

(

t

Wy

t

y

background image

Podstawy Sztucznej 

Inteligencji

Jan Kusiak

Sieć Hopfielda – prosty przykład 
działania

Przeanalizujemy sieć 
rekurencyjną 
złożoną z 4 
neuronów o 
binarnych, 
bipolarnych 
funkcjach aktywacji. 

Zilustrujemy pojęcie 
przejść stanu

background image

Podstawy Sztucznej 

Inteligencji

Jan Kusiak

Sieć Hopfielda – prosty przykład 
działania

Macierz wag:

0

1

1

1

1

0

1

1

1

1

0

1

1

1

1

0

W

Każdy ciąg przejść kończy się jednym z dwóch 
wektorów (punkty równowagi stabilnej – atraktory):

,

]

1

1

1

1

[

,

]

1

1

1

1

[

2

1

T

T

y

y

background image

Podstawy Sztucznej 

Inteligencji

Jan Kusiak

Sieć Hopfielda – prosty przykład 
działania

Łatwo sprawdzić, że żaden ze stanów równowagi nie 
wywołuje dalszych przejść. Podstawiając x

0

 = y

1

 

otrzymujemy w pierwszym kroku rekurencji:

€ 

y

1

=ϕ(Wx

0

)=ϕ

0

1

1 −1

1

0

1 −1

1

1

0 −1

−1 −1 −1 0

⎡ 

⎣ 

⎢ 

⎢ 

⎢ 

⎢ 

⎤ 

⎦ 

⎥ 

⎥ 

⎥ 

⎥ 

1
1
1

−1

⎡ 

⎣ 

⎢ 

⎢ 

⎢ 

⎢ 

⎤ 

⎦ 

⎥ 

⎥ 

⎥ 

⎥ 

⎛ 

⎝ 

⎜ 

⎜ 

⎜ 

⎜ 

⎞ 

⎠ 

⎟ 

⎟ 

⎟ 

⎟ 

=

sgn(3)
sgn(3)
sgn(3)

sgn(−3)

⎡ 

⎣ 

⎢ 

⎢ 

⎢ 

⎢ 

⎤ 

⎦ 

⎥ 

⎥ 

⎥ 

⎥ 

=y

1

i ogólnie, y

k+1

 = y

k

 = y

1

Podobnie, gdy stanem początkowym jest x

0

 = y

2

wówczas y

1

 = ....= y

2

background image

Podstawy Sztucznej 

Inteligencji

Jan Kusiak

Sieć Hopfielda – prosty przykład 
działania

Wierzchołki 
czterowymiarowego 
hipersześcianu 
reprezentują 
wartości wektora 
stanu i możliwe 
przejścia stanu sieci. 

W każdym 
wierzchołku 
zbiegają się 4 
krawędzie, łączące 
go z sąsiednimi 
wierzchołkami, 
reprezentującymi 
wektory różniące się 
wartością tylko 
jedną składową.

background image

Podstawy Sztucznej 

Inteligencji

Jan Kusiak

Sieć Hopfielda – prosty przykład 
działania

Przyjmijmy, że stanem początkowym jest stan 

sąsiadujący z y

1

. Następnym stanem będzie: 

T

x

]

1

1

1

1

[

0

T

y

)]

3

sgn(

)

1

sgn(

)

1

sgn(

)

1

[sgn(

1

czyli nastąpi przejście do najbliższego punktu 
równowagi:

T

T

]

1

1

1

1

[

]

1

1

1

1

[

background image

Podstawy Sztucznej 

Inteligencji

Jan Kusiak

Sieć Hopfielda – prosty przykład 
działania

Można sprawdzić, że również dla każdego ze stanów 
początkowych

sieć przejdzie do stanu y

1

 = y

1

 i w nim pozostanie.

W omówionych przypadkach następuje zbieżność stanu 
początkowego do stanu równowagi odległego tylko o 
jeden (różniącego się tylko jednym bitem). 

Jeśli stan początkowy różni się dwoma bitami od obu 
stanów równowagi, czyli jest od nich jednakowo 
odległy, to zbieżność do każdego z nich jest równie 
prawdopodobna. 

T

T

T

x

x

x

]

1

1

1

1

[

,

]

1

1

1

1

[

,

]

1

1

1

1

[

0

0

0

background image

Podstawy Sztucznej 

Inteligencji

Jan Kusiak

Wracamy do sieci 
Hopfielda złożonej z n 
neuronów z progami T

i

 

pobudzanych zarówno 
sygnałami z zewnątrz jak i 
sygnałami sprzężenia 
zwrotnego od innych 
neuronów, wg wzoru:

n

i

T

x

y

w

s

i

i

T

i

i

,

,

2

,

1

,

Sieć Hopfielda

background image

Podstawy Sztucznej 

Inteligencji

Jan Kusiak

Wektory wagowy i wyjściowy dane są jako:

T

n

def

T

in

ii

i

i

def

i

y

y

y

y

w

w

w

w

w

2

1

1

2

1

,

]

0

[

Definiując wektory: pobudzeń s, wejściowy x oraz 
progowy T analogicznie jak wektor wyjściowy, 
możemy opisać liniową część sieci zależnością 
macierzową:

T

x

Wy

s

Sieć Hopfielda

0

0

0

2

1

2

21

1

12

2

1

n

n

n

n

T

n

T

T

w

w

w

w

w

w

w

w

w

W

background image

Podstawy Sztucznej 

Inteligencji

Jan Kusiak

W modelu Hopfielda zakłada się, że macierz wag jest symetryczna, 
tzn. w

ij

 = w

ji

Wyjście dowolnego neuronu połączone jest poprzez wagi z 
wejściami pozostałych neuronów, ale nie jest połączone z jego 
własnym wejściem.

Dla funkcji aktywacji typu signum, przejścia stanów zachodzą 
zgodnie z rekurencyjną zależnością:

,

2

,

1

),

sgn(

1

k

T

x

y

w

y

i

i

k

T

i

k

i

przy czym zakłada się, że ma ona charakter asynchroniczny, co 
oznacza, że w danej chwili ma miejsce aktualizacja tylko jednej 
spośród i = 1,2,....,n składowych. 

Sieć Hopfielda

background image

Podstawy Sztucznej 

Inteligencji

Jan Kusiak

Dla oceny stabilności rozważanej sieci dynamicznej 
wprowadza się tak zwaną funkcję energetyczną 
(funkcję stanu) 
dodatnią i ograniczoną w przestrzeni 
wyjść. Funkcja energetyczna jest formą kwadratową:

y

T

y

x

Wy

y

E

T

T

T

def

2

1

i

n

j

i

i

n

i

i

j

i

n

i

j

j

i

ij

def

y

T

y

x

y

y

w

E

1

1

1

,

2

1

lub w postaci rozwiniętej:

Układ stabilizuje się w punkcie w którym funkcja 
energetyczna przyjmuje wartość minimum. 

Sieć Hopfielda

background image

Podstawy Sztucznej 

Inteligencji

Jan Kusiak

Rozważmy stany przejściowe i związane z nimi 
zmiany energii w sieci jednowarstwowej z 
poprzedniego przykładu. 

Sieć Hopfielda

background image

Podstawy Sztucznej 

Inteligencji

Jan Kusiak

Dla zerowych progów i sygnałów wejściowych oraz 
macierzy wag

Sieć Hopfielda

0

1

1

1

1

0

1

1

1

1

0

1

1

1

1

0

W

Funkcja energetyczna ma postać:

4

3

2

1

4

3

2

1

0

1

1

1

1

0

1

1

1

1

0

1

1

1

1

0

2

1

)

(

y

y

y

y

y

y

y

y

y

E

background image

Podstawy Sztucznej 

Inteligencji

Jan Kusiak

Po uporządkowaniu, funkcja energetyczna przyjmuje 
postać:

Sieć Hopfielda

4

3

4

3

2

4

3

2

1

)

(

)

(

)

(

y

y

y

y

y

y

y

y

y

y

E

Sieć osiąga dyskretne poziomy energetyczne o 
wartościach –6, 0 i 2, co można łatwo wyliczyć jako 
energię dla każdego ze stanów począwszy od [-1 –1 –1 –
1]

T

, a kończąc na [1 1 1 1]

T

background image

Podstawy Sztucznej 

Inteligencji

Jan Kusiak

Na rysunku zaznaczono energie obliczone dla każdego z 2

4

 

wierzchołków hipersześcianu, reprezentujących stany 
analizowanej sieci. Energia przyjmuje wartość minimalną dla 
stanów równowagi y

1

 = [1 1 1 –1]

T

 lub y

2

 = [-1 –1 –1 1]

T

.

Sieć Hopfielda

background image

Podstawy Sztucznej 

Inteligencji

Jan Kusiak

Sieci Hopfielda

•Proces odczytu (odtwarzania)

•Proces zapisu (uczenia)

background image

Podstawy Sztucznej 

Inteligencji

Jan Kusiak

W trybie odczytu (odtwarzania), przy zamrożonych 
wartościach wag i założeniu określonego stanu 
początkowego neuronów v(0) = x następuje proces 
przejściowy, przebiegający zgodnie z zależnością:

€ 

v

i

k+1

=sgn w

ij

j=1

n

v

j

k

(

)

Funkcja energii wynosi:

Uczenie sieci Hopfielda - odczyt

(1)

k – numer kroku, i – numer neuronu, którego stan 
ulega zmianie (założone zerowe sygnały progowe 
oraz wymuszenia zewn.)

€ 

E(v)=−

1

2

v

T

Wv

background image

Podstawy Sztucznej 

Inteligencji

Jan Kusiak

W trybie zapisu (uczenia) na podstawie zadanych 
wzorców uczących dobierane są wagi w

ij

.

Uczenie sieci Hopfielda –zapis

Przy zapisie do pamięci wektorów wzorcowych s

(m)

, 

m=1,2,...,p o składowych +1, -1, wagi wyznaczane są 
wg algorytmu Hebba:

€ 

Ws

(m)

(s

(m)

)

T

pI

m=1

p

lub:

€ 

w

ij

=(1−δ

ij

s

i

m)

s

j

(m)

m=1

p

background image

Podstawy Sztucznej 

Inteligencji

Jan Kusiak

Uczenie sieci Hopfielda – algorytm

Danych jest p wektorów wzorcowych bipolarnych:

€ 

W← 0

Gdzie s

(m)

 ma wymiar n x 1, m = 1, 2, ..., p

Początkowy wektor stanu v

(0) 

ma wymiar n x 1

  

€ 

{s

(1)

,s

(2)

,K ,s

p)

}

Zapis

Krok 1:  Podstawienie

Macierz W ma wymiar n x n

Krok 2:  Dla m = 1, ...,  p

€ 

W← s

(m)

s

m)T

I

Krok 3:  Zapis wektorów do pamięci zakończony. 

   W jest macierzą wag.

background image

Podstawy Sztucznej 

Inteligencji

Jan Kusiak

Uczenie sieci Hopfielda – algorytm

Odczyt

Krok 1:  Założenie stanu początkowego v

(0)

 = x

Krok 2:  Ustawienie liczb 1, 2 ...,  n  w losowej kolejności α

1, 

α

2,

..., α

n

€ 

v'

α

i

=sgn w

α

i

j

v

j

j=1

n

(

)

Krok 3:  Dla i = 1, ...,  wykonanie: 

Krok 4:  Jeżeli 

€ 

v'

α

i

=v

α

i

dla i = 1,2, ..., n

czyli w danym cyklu nie było zmian, to 
koniec odczytu i uznanie otrzymanych 
sygnałów za sygnały wyjściowe.
W przeciwnym razie powrót do Kroku 2.

background image

Podstawy Sztucznej 

Inteligencji

Jan Kusiak

Sieć Hopfielda – przykład

Sieć pamiętająca dwa wektory:

€ 

s

(1)

=[−1−111]

T

€ 

W=

0 0 −2 0
0 0 0 −2

−2 0 0 0

0 −2 0 0

⎡ 

⎣ 

⎢ 

⎢ 

⎢ 

⎢ 

⎤ 

⎦ 

⎥ 

⎥ 

⎥ 

⎥ 

Funkcja energii:

€ 

s

(2)

=[−111−1]

T

Obliczona zgodnie z algorytmem macierz wag:

€ 

E(v)=2(v

1

v

3

+v

2

v

4

)

background image

Podstawy Sztucznej 

Inteligencji

Jan Kusiak

Sieć Hopfielda – przykład

Uwaga:
Asynchroniczne uaktualnianie stanu powoduje, że 
wartość funkcji energii nie rośnie i sieć osiąga 
jedno z lokalnych minimów energii.

Energia układu dla wektora komplementarnego E(-
v) = E(v).

Wartość minimum energii jest taka sama dla 
wektorów komplementarnych.

Wniosek:

Układ może zmierzać zarówno do v jak i do –v. 
Dojdzie do tego, który jest bliżej stanu początkowego. 

background image

Podstawy Sztucznej 

Inteligencji

Jan Kusiak

Sieć Hopfielda – przykład

Układ osiągnął stan 
stabilny, który jest 
komplementarny do 
zapamiętanego obrazu s

(2)

 

Przy innej kolejności 
aktualizowania 
neuronów, moglibyśmy 
osiągnąć wzorzec.

(bo stan początkowy nie 
był podobny do żadnego 
wzorca – odległość 
Hamminga do wzorców 
wynosiła 2, czyli 50%
)

Stosunek liczby zapamiętanych obrazów do liczby neuronów 
p/n = ½ 
pamięć była przeładowana

background image

Podstawy Sztucznej 

Inteligencji

Jan Kusiak

Tyle na dzisiaj 

background image

Podstawy Sztucznej 

Inteligencji

Jan Kusiak

Przy prezentacji jednego wzorca uczącego x proces 
zmian przebiega dopóty, dopóki zależność (1) nie jest 
spełniona dla wszystkich N neuronów. Warunek ten 
będzie automatycznie spełniony przy wyborze wag 
spełniających relację:

j

i

ij

x

x

N

W

1

Wówczas

N

j

i

j

j

i

x

x

x

x

N

1

)

(

1

Ponieważ wartości bipolarnych elementów wektora x, 
spełnione jest zawsze

1

)

1

(

2

2

j

x

Uczenie sieci Hopfielda

background image

Podstawy Sztucznej 

Inteligencji

Jan Kusiak

Przy prezentacji wielu wzorców uczących x

(k)

 dla 

k=1,2,...p wagi W

ij

 są dobierane według uogólnionej 

reguły Hebba, zgodnie z którą:

)

(

1

)

(

1

k

j

p

k

k

i

ij

x

x

N

W

Przy takim trybie uczenia wagi przyjmują wartości 
uśrednione wielu próbek uczących. 

Uczenie sieci Hopfielda

background image

Podstawy Sztucznej 

Inteligencji

Jan Kusiak

Na starcie y

0 

= x, a następnie proces iteracyjny 

powtarza się dla kolejnych wartości y

i

 aż do ustalenia 

się odpowiedzi. 

Proces iteracyjny (rekurencyjny) ustalania się 
odpowiedzi sieci trwa zwykle wiele cykli i zajmuje dużo 
czasu.

W trybie odtworzeniowym na wejście sieci podaje się 
wektor testowy x i oblicza odpowiedź sieci w postaci:

€ 

y

k+1

=sgn(Wy

k

)

Sieci Hopfielda – tryb odtworzeniowy

background image

Podstawy Sztucznej 

Inteligencji

Jan Kusiak

Podczas odczytu pamięć może odtworzyć oczekiwany 
wzorzec, wzorzec inny niż oczekiwany lub wektor nie 
należący do zbioru zapamiętanych wzorców. 

Podstawowym zadaniem pamięci asocjacyjnej jest 
zapamiętanie zbioru próbek wejściowych (uczących) w 
taki sposób, aby przy prezentacji nowej próbki układ 
mógł wygenerować odpowiedź, która dotyczyć będzie 
jednej z zapamiętanych wcześniej próbek, położonej 
najbliżej próbki testującej. 

Najczęściej używaną miarą odległości między zbiorami 
jest miara Hamminga.

Pamięć asocjacyjna, c.d.

background image

Podstawy Sztucznej 

Inteligencji

Jan Kusiak

Rekurencja zaczyna się od stanu y

0 

wymuszonego 

sygnałem inicjującym. W pierwszym kroku, dla k = 1
oblicza się y

i

1

przy czym wskaźnik wybierany jest 

przypadkowo. Obliczenia dla pozostałych 
składowych, również wybieranych losowo, prowadzi 
się z wykorzystaniem składowych wektora już 
zaktualizowanych w tym kroku, uzyskując ostatecznie 
y

1. 

Dla ilustracji graficznej przedstawmy wektor 
wyjściowy w przestrzeni E

n

Jest on tam 

reprezentowany przez jeden z wierzchołków n-
wymiarowego hipersześcianu [-1,1]

n

. Podczas 

rekurencji, przebiegającej asynchronicznie, wektor y 
przesuwa się od wierzchołka do wierzchołka, aż 
wreszcie stabilizuje się w jednym z 2

n

 możliwych 

wierzchołków. Stan końcowy y

k

, gdy k  , 

uzależniony jest od wag, progów, stanu początkowego 
i kolejności aktualizacji składowych y

i

background image

Podstawy Sztucznej 

Inteligencji

Jan Kusiak

Inne sieci

•sieci Hamminga

•Sieci RBF

•Sieci Bayesa

•Sieci probabilistyczne PNN, 

GRNN

•Itp.


Document Outline