retele_neurale
DESCRIPTION
IA retele neuraleTRANSCRIPT
-
Reele neurale
Reelele neurale caracterizeaz ansambluri de elemente de procesare simple,
interconectate i opernd n paralel, care urmresc s interacioneze cu mediul
nconjurtor ntr-un mod asemntor creierelor biologice i care prezint capacitatea de a
nva. Nu exist o definiie general acceptat a acestor tipuri de sisteme, dar majoritatea
cercettorilor sunt de acord cu definirea reelelor artificiale ca reele de elemente
simple puternic interconectate prin intermediul unor legturi numite interconexiuni
prin care se propag informaie numeric.
Originea acestor reele trebuie cutat n studierea reelelor bioelectrice din creier
formate din neuroni i sinapsele acestora. Principala trstur a acestor reele este
capacitatea de a nva din exemple ntr-un mod conexionist, folosindu-se de experiena
anterioar pentru a-i mbunti performanele.
O reea neural este antrenat astfel nct o intrare particular s conduc la o
ieire int. Reeaua va fi ajustat, pe baza comparaiilor dintre datele de ieire pe care le
genereaz i ieirile int, pn cnd ieirile reelei se potrivesc cu ieirile int.
Pocedeul folosit pentru a executa procesul de antrenare se numete algoritm de
nvare, care are funcia de a modifica ponderile sinaptice ale reelei ntr-un mod
sistematic pentru a atinge obiectivul dorit de proiectare. Exist dou tipuri importante de
nvare: supervizat i nesupervizat. nvarea supervizat presupune aplicarea unei
intrri reelei, dup care se compar ieirea produs de reea cu ieirea dorit i se
modific ponderile astfel nct s se minimizeze diferena dintre cele dou. n nvarea
nesupervizat mulimea de antrenare const numai din vectori de intrare. Iar scopul
algoritmului este de a produce vectori consisteni, n sensul c dou semnale foarte
apropiate s produc rspunsuri identice sau foarte asemntoare. Astfel perechile (
vector de intare, vector de ieire ) similare sunt grupate n clase, proces numit i
clusterizare.
-
n cazul nvrii supervizate distingem dou modaliti de antrenare:
antrenarea de tip bach const n modificarea ponderilor i a bias-ului presupunnd
ca fiind dat o mulime de vectori de intrare
antrenarea incremental modific ponderile i bias-ul unei reele imediat dup
introducerea unui vector de intrare. Antrenarea incremental poart numele i de
antrenare on-line sau adaptiv.
Reelele neurale au fost antrenate s efectueze funcii complexe n domenii
diverse de aplicabilitate, incluznd recunoaterea, identificarea i clasificarea formelor,
sisteme de vorbire, imagine i control.
Caracteristici
Reelele neurale artificiale se pot caracteriza pe baza a 3 elemente:
modelul adoptat pentru elementul de procesare individual,
structura particular de interconexiuni (arhitectura)
mecanismele de ajustare a legturilor (algoritmii de nvare).
Modelul neuronului i arhitectura acestuia descriu modul n care o reea
transform datele de intrare n date de ieire. Aceast transformare poate fi privit ca pe o
compunere.
Modelul neuronului
Structura unui neuron avnd ca dat de intrare un scalar este urmtoarea:
-
Intrarea p, transmis printr-o conexiune, este multiplicat de ponderea w, iar
produsul wp este argumentul funciei de transfer f, care produce scalarul de ieire a.
Neuronul din partea stng nu are bias ( este nedeplasat ), iar cel din dreapta are un bias (
deplasare ), notat b, care este un scalar. Bias-ul poate fi privit ca o simpl adunare la
valoarea wp, reprezentat prin simbolul sau ca pe o deplasare a funciei f la stnga cu o
valoare b. Bias-ul poate fi considerat ca fiind o pondere corespunztoare intrrii
constante 1.
Att w, ct i b sunt parametri reglabili ai neuronului. Ideea central a reelelor
neurale const n faptul c parametrii pot fi modificai astfel nct reeaua s ilustreze un
comportament dorit. Astfel, putem antrena reeaua s realizeze un anumit lucru (
problema de clasificare pentru reeaua de tip perceptron ) prin ajustarea ponderilor i a
bias-ului sau reeaua nsi poate ajusta aceti parametri pentru a produce un anumit
comportament.
Funcii de transfer
Multe dintre funciile de transfer sunt incluse n toolbox-ul nnet. n continuare voi
prezenta cele mai utilizate trei funcii.
-
1. Funcia de transfer hard-limit limiteaz ieirea ( output-ul ) unui neuron la
dou valori 0 i 1, dup formula:
hardlim(n) = 0, dac 0
1, dac 0
n
n
Aceast funcie este utilizat n reeaua cu un singur neuron ( perceptron ) pentru
a lua decizii legate de misclasificarea unui punct ( problema clasificrii ).
Toolbox-ul nnet conine o funcie numit hardlim pentru a obine funcia
matematic de transfer hard-limit. Codul urmtor genereaz graficul funciei hard-
limit pe intervalul [-5, 5].
n = -5:0.1:5;
plot(n,hardlim(n),'*r:');
2. Funcia de transfer liniar
purelin(n)=n
-
Neuronii care au ca funcie de transfer aceast funcie sunt folosii ca aproximatori
liniari n cadrul filtrelor liniare.
3. Funcia de transfer sigmoidal transform argumentul ntr-un numr cu
valoarea cuprins ntre 0 i 1; este folosit n reelele backpropagation, datorit
proprietii de difereniabilitate a funciei.
logsig(n) = 1 / (1 + exp(-n))
Simbolul din dreapta fiecrui grafic arat reprezentarea funciei de transfer;
aceste reprezentri vor fi folosite n diagramele reelelor pentru a sugera tipul funciei
de transfer folosit.
Exerciiu: Studiai comportarea unui neuron cu o singur intrare folosind
programul demonstrativ nnd2n1.
-
Exerciiu: Reprezentai grafic funciile de transfer exemplificate n programul
demonstrativ.
Neuron avnd ca intrare un vector
Un neuron avnd ca intrare un vector cu R elemente este reprezentat mai jos:
Elementele vectorului de intrare 1,..., Rp p sunt multiplicate cu ponderile
1,1 1,2 1,, ,..., Rw w w i apoi sumate. Suma lor poate fi scris ca produsul scalar dintre matricea
W ( matrice cu o linie i R coloane ) i vectorul p. Neuronul are bias-ul b, care este
adunat intrrilor ponderate, rezultnd intrarea reelei, n, care reprezint argumentul
funciei de transfer:
1,1 1 1,2 2 1,... R Rn w p w p w p b
Expresia poate fi scris n MATLAB astfel:
n = W*p + b
-
n reprezentarea reelelor cu mai muli neuroni i mai multe nivele de neuroni,
detaliile nu sunt foarte importante i prin urmare va fi preferat urmtoarea notaie pentru
a reprezenta un neuron:
p reprezint vectorul intrrilor i are dimensiunile R 1;
W reprezint matricea ponderilor;
b reprezint bias-ul;
n reprezint intrarea reelei, n= W*p + b ;
a este ieirea reelei, a = f(n); trebuie fcut observaia c dac avem avem o reea cu mai
mult de un neuron ieirea este un vector.
Nivelul unei reele neurale este un 4-uplu format din:
matricea ponderilor,
operaiile de multiplicare i adunare,
bias-ul b i
funcia de transfer f.
Exerciiu: Exprimentai folosind programul experimental nnd2n2 neuronul
avnd ca intrare un vector cu dou elemente.
-
Arhitecturi neurale
Mai muli neuroni pot fi grupai pe un nivel, iar o reea neural poate conine
unul sau mai multe nivele. Mai jos este reprezentat o reea cu un singur nivel ce conine
S neuroni:
n reeaua de mai sus, fiecare element al vectorului de intrare p va constitui o intrare
pentru fiecare neuron, ponderat de componentele matricei de ponderi W. Starea
neuronul i, n(i), este dat de produsul scalar dintre intrrile vectorului p i coloana i a
matricei ponderilor. Cele S valori n(i) determin intrarea reelei, n. Ieirile nivelului de
neuroni sunt reinute n vectorul a. Matricea ponderilor este:
1,1 1,2 1,
2,1 2,2 2,
,1 ,2 ,
. . .
. . .
. . . . . . . . . .
. . .
R
R
S S S R
w w w
w w w
w w w
W
-
Reeaua de mai sus cu un singur nivel, avnd S neuroni i R intrri poate fi reprezentat
prescurtat astfel:
Input-uri i nivele
Vom defini imediat reele avnd mai multe nivele, de aceea este necesar
dintincia dintre matricea ponderilor asociat input-urilor i matricea ponderilor care
conecteaz dou nivele. De asemenea, trebuie s identificm sursa i destinaia ponderilor
matricei. Vom numi matricea ponderilor conectat intrrilor InputWeights, iar matricea
ponderilor provenind din ieirile unui nivel o vom numi LayerWeights. Vom considera
c al doilea indice reprezint sursa, iar primul destinaia ponderii; de asemenea bias-ul va
conine un indice care indic nivelul n care apare.
Matricea ponderilor asociat intrrii j i nivelului i este reinut n celula
aflat pe linia i i coloana j a unei matrice de celule notat IW de dimensiune
numrul_nivelelor numrul_intrrilor ( exemplu: 1,1IW este structura de ponderi
care leag sursa 1 ( al doilea indice ) i destinaia 1 ( primul indice ), adic primul vector
de intrare de primul nivel, iar 1b este bias-ul asociat nivelului 1 ).
n mod similar, matricea ponderilor asociat nivelului surs j i nivelului destinaie i
este reinut n celula aflat pe linia i i coloana j a unei matrice de celule notat
LW de dimensiune numrul_nivelelor numrul_nivelelor.
Reeaua cu un singur nivel de mai jos ilustreza ceea am spus mai sus:
-
Observaii:
1. Structurii 1,1IW pentru o reea net ( creat ) i este asociat urmtorul cod
MATLAB folosind matricea ponderilor:
1,1IW net.IW{1,1}
2. Pentru a calcula n MATLAB intrarea funciei de transfer vom folosi codul:
n{1} = net.IW{1,1}*p + net.b{1}
Reele cu mai multe nivele
O reea poate avea mai multe nivele, fiecrui nivel corespunzndu-i o matrice de
ponderi W, un vector bias b i un vector rezultant a. Pentru a distinge matricele de
ponderi pentru fiecare nivel n parte vom aduga fiecrei variabile ca superscript
indicele nivelului din care face parte. Figura de mai jos ilustreaz modul n care este
reprezentat o reea cu trei nivele, fiecare nivel coninnd 1S , 2S , respectiv 3S
neuroni.
-
Trebuie remarcat faptul c ieirile unui nivel intermediar reprezint intrrile
nivelului urmtor. Astfel, nivelul 2 poate fi analizat ca o reea avnd 1S intrri, 2S
neuroni i matricea ponderilor de dimensiune 2S 1S .
Reprezentarea prescurtat a reelei de mai sus este urmtoarea:
Nivelul care produce ieirea reelei se numete nivel de ieire ( output layer ),
iar celelalte nivele se numesc nivele ascunse ( hidden layers ). Reelele neurale cu mai
multe nivele sunt foarte utilizate n aplicarea tehnicii backpropagation pe care o vom
discuta mai trziu.