Sunteți pe pagina 1din 11

2.

Logica cu prag
2.1 Reţele de funcţii
În continuare este considerat cel mai simplu tip de element de calcul folosit
în construirea RNA şi care constituie o generalizare a porţilor logice.

2.1.1. Reţele unidirecţionale şi recurente

Din punct de vedere practic, este important să se definească modul în care se


comportă o reţea fără specificarea completă a parametrilor ale căror valori
urmează să fie determinate în procesul de învăţare, adică de a opera cel puţin
până la un anumit nivel al proiectării cu o cutie neagră. (v. fig. 1)

x1 y1
F
...

...
xn ym

Fig.1. Reprezentare cutie neagră pentru o reţea neuronală

În acest sens, interesează ca un anumit set de intrări să producă anumite


ieşiri, dar cum se face acest lucru este lăsat în seama procesului de
autoorganizare. Să considerăm cazul frecvent în care o RNA se comportă ca
o maşină de asociere capabilă să modeleze o funcţie F : R n → R m . Când o
funcţie este evaluată cu o reţea de funcţii primitive, datele circulă prin
muchiile reţelei. O parte din noduri calculează pe baza intrărilor valori care
vor fi folosite ca intrări/argumente pentru alte calcule, ca în fig. 2(a). Dacă
reţeaua nu are circuite atunci sosirea tuturor valorilor de intrare la un nod (nu
neapărat în acelaşi moment) garantează corectitudinea calculului funcţiei
asociate acesteia şi a rezultatului final. Dacă RNA conţine circuite (fig.2(b))
atunci recircularea datelor poate conduce la rezultate diferite pentru treceri
diferite ale fluxurilor de date şi pentru calcul recursiv realizat astfel trebuie
precizat fie numărul de iteraţii fie o condiţie de “stabilizare” a valorilor
iterate (v. fig. 2.1(b)).
x f1 f2 f1 ( f2(x)) x f ( f o ... o f ) (x )
f1(x)

(a) (b)

Fig.2. Compunere de funcţii (a) şi calcul recursiv (b)


1
Implementarea unei astfel de condiţii, se poate face prin definirea unităţii de
timp ca fiind timpul necesar ca orice unitate funcţională să efectueze complet
calculele asociate şi considerând că funcţionarea are loc în tacte. Dacă la
tactul t intrarea este disponibilă la unitatea ce calculează funcţia f atunci
ieşirea acestei unităţi la momentul t + 1 este chiar f (x) . În acest fel, calculul
recursiv asociat în circuit poate fi oprit după un număr dorit de tacte.
În cele ce urmează prezentarea va fi făcută din perspectiva reţelelor de funcţii
în care sincronizarea este explicită sau implicită.

2.1.2. Unităţi de calcul


Nodurile reţelei sunt numite elemente sau unităţi de calcul. Se va presupune
că muchiile reţelei transmit în informaţia într-un sens precizat şi că numărul
de arce care intră într-un nod este nelimitat (fun–in nelimitat). Funcţia
primitivă calculată într-un nod este în general o funcţie reală de mai multe
variabile reale (v. fig. 3(a)). Este de dorit să se utilizeze funcţii primitive
simple, de preferat de o singură variabilă reală. Într-un astfel de caz, mai
multe valori de intrare ar trebui combinate într-o singură valoare numerică
înainte de a aplica funcţia primitivă. Pentru a realiza acest lucru, o unitate de
calcul este împărţită în două părţi funcţionale. Prima, este o funcţie de
integrare g care reduce cele n argumente la o singură valoare, iar a doua
implementează o funcţie de ieşire sau de activare care produce rezultatul
final şi are ca argument funcţia g (v. fig. 3 (b)). Ca funcţie de integrare se
consideră de cele mai multe ori adunarea.
x1 x1
f f ( x1,..., xn) g f f (g (x1,..., xn))
...

...

xn xn

(a) (b)
Fig.3. Exemple de unităţi de calcul

Vom ilustra conceptele prezentate cu ajutorul unităţii McCulloch-Pitts care


utilizează doar semnale binare, 0/1. Nodurile produc 0 sau 1 iar prin arce
circulă exclusiv 0 sau 1. Muchiile sunt neponderate şi sunt de tip excitator
sau inhibitor (în reprezentări grafice, un arc inhibitor are capătul final marcat
cu un cerc). O unitate McCulloch-Pitts are asociată o valoare de prag θ .
Reprezentarea unei unităţi McCulloch-Pitts este dată în fig. 4.

2
x1

...
xn
θ R

...
y
1

...
ym

Fig.4. Unitate McCulloch-Pitts

Funcţionarea unităţii este următoarea:

dacă m ≥ 1 şi (∃) i ∈ {1,..., m} astfel încât yi = 1 atunci


R = 0;
în caz contrar
- calculează x = x1 + .... + x n (dacă n = 0 atunci x = 0 )
- dacă x ≥ θ atunci R = 1
în caz contrar R = 0 .

Atunci când nu există nici un semnal inhibitor, unitatea funcţionează ca o


poartă cu prag. Funcţia de activare asociată acestei unităţi este arătată în fig.
5.

0 θ

Fig. 5. Funcţia de activare a unităţii McCulloch-Pitts

Dacă nu există nici un semnal inhibitor şi θ = 0 , unitatea produce


întotdeauna 1 la ieşire. Dacă θ este mai mare decât numărul de intrări
exitatoare se produce întotdeauna 0 la ieşire.

2.2. Sinteza funcţiilor booleene

În continuare este prezentată capacitatea porţilor cu prag de tipul McCulloch-


Pitts de a sintetiza orice funcţie logică dată cu n argumente.

3
2.2.1. Operaţiile booleene de bază
O funcţie f : {0,1} → {0,1} se numeşte funcţie logică sau booleană. Valoarea
n

1 este asociată valorii adevărat în timp ce 0 valorii de fals. Unităţile din fig.
6(a-b) implementează operaţiile logice de conjuncţie (şi logic) şi respectiv
disjunctive (sau logic) iar generalizarea cu n ≥ 2 argumente este evidentă.
AND OR NOT
x1 x1 _
2 x1 x2 1 x1 x2 x1 0 x1
x2 x2

(a) (b) (c)

Fig. 6. Implementarea operaţiilor AND, OR şi NOT

Negaţia logică se poate realiza cu un arc inhibitor şi cu θ = 0 (v. fig.6(c).


O chestiune naturală se referă posibilităţile de calcul ale unităţii McCulloch-
Pitts în ipoteza că nu există muchii inhibitoare.

Definiţie. Funcţia logică f de n argumente este monotonă dacă pentru


x = ( x1 ,..., x n ) ∈ {0,1} şi y = ( y1 ,..., y n ) ∈ {0,1} avem f ( x) ≥ f ( y ) ori de
n n

câte ori mulţimea poziţiilor egale cu 1 în intrarea y este o submulţime a


poziţiilor egale cu 1 în intrarea x , adică
{i | yi = 1} ⊆ {j | x j = 1} ⇒ f ( x) ≥ f ( y ).

Rezultatul următor stabileşte care este capacitatea unităţii McCulloch-Pitts


când muchiile inhibitoare au fost eliminate.

Propoziţia 1. Un element de tip McCulloch-Pitts fără muchii inhibitoare


poate implementa doar funcţii logice monotone.
Demonstraţie. Fie f funcţia calculată de o unitate cu n muchii exicitatoare.
Să presupunem de exemplu, că f (1,1,...,1) = 0 . Deoarece nici un alt vector de
intrare nu poate trimite 1 pe un număr de muchii mai mare decât vectorul
(1,1,...,1) rezultă că pentru orice vector x avem f ( x) ≤ f (1,1,...,1) deci
f ( x) = 0 . În general, dacă {i | y i = 1} ⊆ {j | x j = 1} rezultă că y nu poate
trimite mai mulţi de 1 către unitate decât x . Aşadar, f ( x) ≥ f ( y ) .

Exemple de funcţii nemonotone sunt f ( x1 , x 2 ) = x1 ∧ x 2 şi


f ( x1 , x 2 ) = x1 ∧ x 2 şi sunt calculate de unităţile arătate în fig. 7 (a) şi
respectiv 7 (b).
4
x1 x1
1 -
x1 x2 0 -
x1 -
x2
x2 x2
(a) (b)
Fig. 7. Calculul unor funcţii nemonotone cu unităţi McCulloch-Pitts

2.2.2. Interpretare geometrică


Să considerăm x1 , x 2 , x3 trei variabile binare. Vârfurile cubului din fig. 8 (a)
corespund valorilor posibile ale tripletei ( x1 , x 2 , x3 ) . O funcţie booleană
corespunde unui asignări a valorilor 0 şi 1 la vârfurile cubului. Pentru funcţia
OR asignarea este arătată în fig. 8(b). Unitatea împarte spaţiul intrărilor în
două subspaţii care în cazul funcţiei OR sunt separate de planul de ecuaţie
x1 + x 2 + x3 = 1 .

Fig.8. Plane de separare în spaţiul intrărilor binare

În general, condiţia x1 + x 2 + x3 ≥ θ este adevărată pentru toate punctele de o


parte a planului x1 + x 2 + x3 = θ şi pentru punctele din acest plan funcţia
calculată de unitate ia valoarea 1, în timp ce pentru punctele din cealaltă parte
a planului conduce ieşiri egale cu zero. O altă funcţie, numită funcţie de
5
majoritate cu trei variabile separă spaţiul de intrare prin planul
x1 + x 2 + x3 = 2 (v. fig. 8 (c)). În cazul acestui tip de unităţi planele de
separaţie sunt întotdeauna paralele.

2.2.3. Sinteză constructivă


Să propunem că o funcţie logică de n variabile este dată sub formă tabelară
indicând valorile variabilelor pentru care funcţia ia valoarea 1. Dacă numărul
de unităţi nu este limitat, atunci se poate constitui o reţea de unităţi de tip
McCulloch-Pitts care calculează funcţia respectivă. Acest fapt poate fi
demonstrat constructiv folosind faptul că aceste unităţi pot fi folosite ca
decodificatori binari.

x1
x2 1 x1 0
x1 x3
x3 2
x2
-
x1 x2 x3
1 F x2 0 3

1 x3

(a) (b) (c)

Fig. 9. Decodificator pentru (1,0,1) (a), implementarea funcţiei f (b),


alternativă de docodificator pentru intrarea (0,0,1)

De exemplu, dacă pentru funcţia f = f ( x1 , x 2 , x3 ) avem f (1,0,1) = 1 atunci


vectorul (1,0,1) este singurul pentru care expresia x1 ∧ x 2 ∧ x3 ia valoarea 1.
Această condiţie se poate testa cu o singură unitate de calcul ca în fig. 9(a)
care acţionează ca un decodificator al intrărilor. Să considerăm acum funcţia
logică F = F ( x1 , x 2 , x3 ) , pentru care F (0,0,1) = F (0,1,0) = 1 şi pentru
celelalte asignări ale variabilelor ia valoarea zero. Pentru a o calcula este
suficient să se decodifice toţi vectorii x pentru care F ( x) = 1 şi apoi
rezultatele decodificatorilor să fie operate cu OR. Reţeaua din fig. 9 (b)
realizează acest calcul. Pragul asociat unei unităţi este egal cu numărul de 1
din vectorul de intrare corespunzător. Această construcţie se poate extinde la
funcţii logice cu oricâte variabile. Aşadar, putem enunţa:

Propoziţia 2. Orice funcţie logică F : {0,1} → {0,1} poate fi calculată de o


n

reţea de unităţi McCulloch-Pitts cu două straturi.


6
Să observăm că potrivit tehnicii anterioare, numărul de unităţi de pe primul
strat este egal cu numărul de vectori de intrare pentru care funcţia logică ia
valoarea 1. Dacă numărul de blocuri constructive este limitat, se pot găsi
variante constructive cu mai puţine blocuri. De exemplu, decodorul pentru
(0,0,1) din fig. 9(b), se poate înlocui cu o reţea în care se folosesc două
unităţi pentru negaţie logică şi una pentru conjuncţie, aşa cum este arătat în
fig. 9(c). Numărul de intrări poate fi scăzut înlocuind muchiile inhibitoare cu
porţi de negare, iar ieşirile decodorilor sunt dirijate către o unitate de
conjuncţie.

2.3. Reţele echivalente

În această secţiune se va ilustra modul în care circuite construite cu unităţi


McCulloch-Pitts pot executa funcţii ale unor circuite complexe, pe baza unui
compromis între complexitatea reţelei şi cea a unităţilor de calcul.

2.3.1. Reţele ponderate şi neponderate


Unităţilor McCulloch-Pitts li se pot adăuga muchii ponderate. O problemă
evidentă este dacă prin aceasta se pot obţine reţele mai generale. Să
considerăm unitatea ponderată din fig. 10 (a). Aceasta realizează testul
0.2 x1 + 0.4 x 2 + 0.3x3 ≥ 0.7
care este echivalent cu
2 x1 + 4 x2 + 3 x3 ≥ 7
şi acest calcul poate fi făcut şi de unitatea din fig. 10 (b). Evident, numărul de
arce care intră în nodul unităţii a crescut de la 3 la 7. Aşadar, în condiţiile în
care cele două unităţi execută aceeaşi funcţie, avem de ales între a utiliza
muchii ponderate sau reţele cu muchii redundante.
x1
x1 0.2
x3 0.4 x3
0.7 7
0.3
x2
x2

(a) (b)
Fig.10. Unitate cu muchii ponderate şi unitatea echivalentă redundantă

2.3.2. Inhibiţie absolută şi relativă


Inhibiţia absolută este cea realizată prin muchiile inhibitoare în unităţile
McCulloch-Pitts. Se poate introduce şi tipul de inhibiţie relativă realizat prin
7
considerarea de muchii excitatoare cărora li se asociază ponderi negative.
Efectul unei astfel de muchii este inhibarea “aprinderii” unităţii când prin ea
se transmite 1.

Propoziţia 3. Reţelele cu unităţi McCulloch-Pitts sunt echivalente cu reţelele


cu inhibiţie relativă.
Demonstraţie. Este suficient să arătăm că orice unitate în care este folosită o
muchie pentru inhibiţie relativă este echivalentă cu o reţea din una sau mai
multe unităţi în care este folosită doar inhibiţia absolută.

Să arătăm mai întâi că se poate implementa inhibiţia absolută cu muchii de


inhibiţie relativă. Dacă pragul unităţii este m iar numărul de muchii
excitatoare este n atunci excitaţia totală maximă pentru unitate este n , adică
x1 + ... + xn ≤ n .
Dacă n < m atunci unitatea nu se aprinde niciodată şi o muchie cu pondere
negativă oarecare păstrează funcţia sistemului. În caz contrar, adică n ≥ m ,
fie k numărul de muchii inhibatoare în unitatea cu inhibiţie absolută (v. fig.
11 (a)) şi să construim reţeaua din fig. 11(b).
x1
x1 ...
xn
...

xn
m
m
...

y y1 OR
1
k
...

...

yk 1 (a)
y
k

(a) (b)
Fig.11.Conversia unităţii cu inhibiţie absolută într-o reţea cu inhibiţie relativă

Dacă cel puţin una din intrările y i primeşte 1 urmează că unitatea cu inhibiţie
absolută emite 0. Atunci unitatea OR din fig. 11(b) va emite 1 şi condiţia
testată este x1 + ... + x n + k ≥ m . Dacă alegem k < 0 astfel încât k < m − n ,
atunci condiţia de aprindere nu se verifică, deci reţeaua din dreapta emite
zero ca şi cea cu inhibiţie absolută. Dacă y1 = ... = y k = 0 atunci unitatea OR
emite 0 şi condiţia testată este x1 + ... + x n + 0 ⋅ k ≥ m ca şi condiţia testată de
sistemul cu inhibiţie absolută.

Să arătăm acum că muchiile de inhibiţie relativă pot fi simulate cu muchii


absolut inhibitoare. Pentru aceasta fie unitatea cu inhibiţie relativă din fig. 12
8
(a) în care ponderea muchiei care conectează intrarea y cu unitatea este
w < 0 . În reţeaua din dreapta, muchia de la intrarea y la unitate este absolut
inhibitoare. Unitatea din stânga execută testul
x1 + ... + x n + w ⋅ y ≥ m
care pentru y = 0 este echivalent cu x1 + ... + x n ≥ m iar dacă y = 1 devine
echivalent cu x1 + ... + x n ≥ m − w . Pe de altă parte însă, dacă y = 1 atunci
unitatea superioară din fig. 12(b) emite zero iar cea inferioară efectuează
testul x1 + ... + x n ≥ m − w . Aşadar, unitatea OR de pe stratul al doilea emite
pentru y = 1 valoarea logică a condiţiei x1 + ... + x n ≥ m iar cea de jos pe cea
a condiţiei x1 + ... + x n ≥ m − w . Daca însă y = 0 , atunci unitatea cu inhibiţie
absolută din fig. 12(b) dă rezultatul testului x1 + ... + xn ≥ m iar cea de jos
evaluează x1 + ... + x n ≥ m − w
Deoarece ( x1 + ... + x n ≥ m − w) ⇒ ( x1 + ... + x n ≥ m) , pentru că w < 0 ,
rezultă că ieşirea unităţii OR oferă pentru y = 0 , rezultatul evaluării condiţiei
x1 + ... + x m ≥ m . Aşadar, cele două reţele sunt echivalente.
x1 ...

xn m
x1
...

xn y
m 1

y w
m-w
...

(a) (b)
Fig.12. Conversia unităţii cu inhibiţie relativă într-o reţea cu inhibiţie
absolută

2.4. Reţele recurente

În continuare sunt prezentate câteva aspecte privind reţelele recurente. În


aceste reţele, rezultatele calculelor sunt recirculate prin reţeaua însăşi făcând
posibilă întreţinerea semnalelor pentru un anumit interval de timp din
momentul producerii acestora, prin reutilizarea valorilor intermediare.

9
2.4.1. Reţele cu stări memorate

Unităţile McCulloch-Pitty pot fi folosite în reţele recurente introducând


dimensiunea temporală în calcule. Putem presupune că calculele cerute de
fiecare unitate iau cel mult o unitate de timp, adică dacă toate intrările unei
unităţi sunt furnizate la momentul t atunci răspunsul se obţine la momentul
t + 1 . Să considerăm reţeaua recurentă din fig. 13.

x1 1 2 y
a

Fig. 13. Exemplu de reţea recurentă

Vom nota cu x(t ) , a (t ) şi y (t ) valoarea aflată la intrările x şi a şi ieşirea


y la momentul t . Unitatea care realizează conjuncţia logică conduce la
y (t + 2) = x(t + 1) ∧ a (t + 1),
iar unitatea a cărei intrare inhibitoare este furnizată de ieşirea y dă
a(t + 1) = y (t ) ∧ x(t ).
Aşadar, reţeaua implementează recurenţa
y (t + 2) = y (t ) ∧ x(t ) ∧ x(t + 1).
a cărei evoluţie pentru condiţiile iniţiale y (0) = 0 , y (1) = 1 este ilustrată în
tabelul următor pentru t = 0,1,...,8.
t x(t) y(t)
0 1 0
1 0 1
2 1 0
3 1 0
4 0 1
5 1 0
6 0 0
7 1 0
8 0 0

2.4.2.Câteva criterii de clasificare a reţelelor neuronale


Primul criteriu de clasificare este prezenţa sau absenţa ponderilor. În reţelele
neponderate pot fi adaptate doar pragurile şi conectivitatea. În cele ponderate,

10
topologia nu este de obicei schimbată în cursul procesului de învăţare şi se
caută o combinaţie optimă de valori ale ponderilor.

Un al doilea criteriu se referă la funcţionarea sincronă sau asincronă. În


modelul sincron se presupune că ieşirile elementelor se calculează
instantaneu, lucru posibil dacă reţeaua nu conţine circuite. Dacă unităţile sunt
grupate în straturi, activităţile unităţilor din acelaşi strat se execută simultan
dar evaluarea straturilor se face secvenţial. Într-un model asincron calculul
activităţii unei unităţi se face independent de celelalte şi la momente
aleatore.

Un al treilea criteriu discriminează între modele cu sau fără memorarea


stărilor unităţilor. Starea păstrată poate modifica ieşirea la următoarea
activare a unităţii. Când numărul de stări şi intrări este respectiv, finit, suntem
în cazul unui automat finit care poate fi simulat de o reţea de unităţi de tip
McCulloch-Pitts. Aşadar, reţelele cu memorare de stări sunt funcţional
echivalente cu cele fără memorare de stări.

11

S-ar putea să vă placă și