Perceptrons_L1

download Perceptrons_L1

of 11

Transcript of Perceptrons_L1

  • 8/13/2019 Perceptrons_L1

    1/11

    Reele neuronale artificiale 1.Generarea, simularea i antrenarea perceptronilor.

    1. Obiectivele lucrrii

    Aceast lucrare de laborator are drept scop principal nsuirea de ctre studeni a principalelor cunotine legate de proiectarea unei reele neuronale artificiale formate din perceptroni. Trebuie s se afle ce este un perceptron, care sunt parametrii unei reeleneuronale artificiale, ce nseamn antrenarea unei astfel de reele i cum se poate antrena.Apoi, trebuie s se afle cum se poate elabora un algoritm de antrenare.

    ntreaga lucrare se bazeaz pe folosirea MATLAB, toolbo !ul "eural "et#or$s. "otaiilesunt de asemenea cele folosite n MATLAB.

    2. Breviar teoretic

    %osenblatt a dez&oltat mai multe modele ale perceptronului. 'nul dintre cele mai simpleeste reprezentat de o unitate elementar de calcul ale crei ponderi i polarizri pot fiantrenate astfel nc(t s produc la ieire un &ector de ieire corect, atuni c(nd i se prezintintrarea corespunztoare. Te)nica de antrenare folosit se numete regula de antrenare a perceptronului. *erceptronul a generat un interes important datorit capacitii lui de ageneraliza din &ectorii folosii n setul de antrenare i de a n&a din cone iuni iniialedistribuite aleator. *erceptronii sunt folosii mai ales pentru rezol&area problemelor simple declasificare a formelor.

    +omanda MATLAB

    >help percept

    conduce la afiarea tuturor funciilor legate de perceptroni.%eelele cu perceptroni pot fi formate cu a utorul funcieinewp . Aceste reele pot fi

    iniializate i simulate cuinit i respecti&sim . n continuare se &a descrie modul n carefuncioneaz un perceptron i cum pot fi folosite funciile amintite mai nainte.*ot fi accesate i unele programe demonstrati&e, cum ar fidemop1 .

    2.1 Modelul perceptronului'n perceptron care folosete o funcie de acti&are cu prag -n MATLAB funcia este

    hardlim are R intrri i o ieire. /iecare intrare din e terior are ponderea de intercone iune# 0 . Mai nt(i se formeazactivarea ca suma ponderat a intrrilor, apoi se formeaz ieirea prin aplicarea unei funcii cu prag. "euronul are o intrare suplimentar conectat n permanen la un semnal egal cu unitatea, ponderea acestei intrri fiindb, polarizarea .*erceptronul produce la ieire 0 dac suma intrrilor ponderate este egal sau mai mare dec(tzero. 1eirea este 2 dac suma respecti& este mai mic dec(t zero.

    0

  • 8/13/2019 Perceptrons_L1

    2/11

    /uncia de acti&arehardlim ofer perceptronului capacitatea de a clasifica &ectori deintrare prin mprirea spaiului de intrare -&ariabilele spaiului de intrare sunt de fapt intrrilereelei n dou regiuni -dac sunt dou intrri .

    3paiul de intrare al unui perceptron cu dou intrri, cu funcie de acti&arehardlim , cu ponderile de intercone iune #00 4 ! 0, #05 4 0, i cu polarizarea b 4 0, este mprit n douregiuni de dreapta de decizie6#p 7 b 4 2,unde # este matricea ponderilor, p este &ectorul de intrare iar b este polarizarea.

    8reapta de decizie pentru neuronii cu funcie de acti&are de tiphardlim , fr polarizare,trece prin origine.

    3e poate rula programul de testnnd4db . 9bser&ai cum se poate deplasa dreapta dedecizie, cum se pot selecta noi intrri pentru clasificare.

    2.2. Ar itectura unei reele multiperceptron cu un sin!ur strat9 astfel de reea const dintr!un singur strat format din 3 perceptroni, conectai cu cele %

    intrri cu ponderile #i . 1ndicii i i indic faptul c #i este ponderea cone iunii de la intrarea la neuronul i.

    p0, p5, ..., p% sunt intrrile reelei1eirea se obine prin6a = hardlim(IW+b)

    %egula de antrenare a perceptronului, pe care o &om descrie n continuare, poate santreneze o reea care are numai un singur strat.

    2." #ormarea unui perceptron $%&'()'n perceptron poate fi format folosind funcia ne#p6

    net = newp(PR, S)

    unde argumentele de intrare sunt6*% este o matrice % 5 n care se trec &alorile minime i ma ime ale celor % intrri.3 este numrul de neuroni.8e cele mai multe ori se folosete funcia de acti&arehardlim , aa nc(t aceasta este

    presupus n mod implicit.+odul de mai os conduce la formarea unei reele care are un singur neuron cu o singur

    intrare. :ama n care &ariaz semnalul de intrare este ;2, 5

  • 8/13/2019 Perceptrons_L1

    3/11

  • 8/13/2019 Perceptrons_L1

    4/11

    p! = [1#/1"a! = sim(net,p!)a! =

    +ele dou seturi de intrri ar fi putut fi prezentate n aceeai instruciune6p0 = '[1#1" [1#/1" #a0 = sim(net,p0)a0 =

    [1" [ "

    +niiali area $+%+-)*entru a stabili &alorile ponderilor i ale polarizrii la &alorile lor iniiale se folosete

    init . 3 presupunem, de e emplu, c ncepem cu urmtoarea reea6net = newp([/! !#/! +!",1)#

    3 &erificm ponderile cuwts = net&IW'1,1 &

    Aceasta conduce la6wts =

    n acelai mod putem &erifica &aloarea 2 pentru polarizare6bias = net&b'1

    care conduce labias =

    &

    n continuare, s setm la = i > &alorile ponderilor, iar polarizarea s o setm la ?6net&IW'1,1 = [0,4"#net&b'1 = #

    @erificm din nou ponderile i polarizarea, ca mai sus. Trebuie s obinem6wts =

    0 4bias =

    &

    Acum, s folosim init pentru a reseta ponderile i polarizarea la &alorile lor iniiale6net = init(net)#

    @erific(nd din nou, obinemwts =

    bias =

    &

    >

  • 8/13/2019 Perceptrons_L1

    5/11

    *utem sc)imba &alorile atribuite prininit . 8e e emplu, s presupunem c definim ponderile i polarizarea reelei prin funciileinit cn ca fiind aleatorii,rands , apoiaplicminit ca n continuare6

    net&inp$twei%hts'1,1 &init cn = rands #net&biases'1 &init cn = rands #

    net = init(net)#

    Acum , s &erificm &alorile pentru ponderi i polarizare6wts =

    &!0 2 & 302biases =

    / &11

    Acestea au acum &alori aleatorii.

    2. Re!uli de /nvare8efinim o regul de n&are ca fiind o procedur de modificare a ponderilor i a

    polarizrilor unei reele -algoritm de antrenare . %egula se aplic unei reele pentru ca aceastas ndeplineasc o anumit sarcin. %egulile folosite n MATLAB sunt de dou tipuri6n&are super&izat i n&are nesuper&izat.

    n n&area supervizat , se folosete un set de antrenare alctuit din perec)i6 &ector deintrare cunoscut, ieire dorit.

    n n&areanesupervizat ponderile &ariaz ca rspuns numai la intrrile reelei.n aceast lucrare se &a aplica numai n&area super&izat.

    2.0 Re!ula de /nvare a perceptronului $ &AR%()*erceptronii sunt antrenai folosind e emple care indic o comportare dorit. Aceast

    comportare dorit este indicat sub forma unor perec)i6-p0,t0 , ..., -p,t

    unde p este un &ector de intrare iare t este &ectorul dorit de ieire.9biecti&ul este reducerea erorii e 4 t ! a, dintre rspunsul a al neuronului i &ectorul int t.

    n urma e&alurii erorii, se actualizeaz ponderile perceptronului.*ot aprea trei cazuri.

    a ul 1 . 8ac se aplic un &ector de intrare i ieirea este corect -a 4 t, e 4 t ! a 4 2 ,atunci &ectorul ponderilor nu este afectat.

    a ul 2 . 8ac ieirea neuronului este 2 i ar trebui s fie 0 -a 4 2 i t 4 0, e 4 t ! a 4 0 ,

    &ectorul de intrare p se adun la &ectorul ponderilor #.a ul " . 8ac ieirea neuronului este 0 i ar trebui s fie 2 -a 4 2 i t 4 0, e 4 t ! a 4 !0 ,&ectorul de intrare p se scade din &ectorul ponderilor #.

    %egula de antrenare a perceptronului se poate scrie succint sub formaa ul 1 . 8ac e 4 2, atunci 3 4 2a ul 2 . 8ac e 4 0, atunci se face o sc)imbare 3 4 pT.a ul " . 8ac e 4 !0, atunci se face o sc)imbare 3 4 !pT.

    +ele trei cazuri se pot scrie sub forma unei singure e presii,3 4 -t ! a 4 e pT

    @om e emplifica aceast metod de antrenare pe un e emplu simplu.

    ?

  • 8/13/2019 Perceptrons_L1

    6/11

    @om ncepe cu un singur neuron care are un &ector de intrare cu dou elemente6net = newp([/! !#/! +!",1)#

    *entru a simplifica, &om seta polarizarea la zero i ponderile la 0 i !2.C.net&biases'1 &5al$e = [ "#

    w = [1 / &3"#net&IW'1,1 &5al$e = w#

    3etul de antrenare este reprezentat de o perec)e6p = [1# !"#t = [1"#

    *utem calcula &aloarea de ieire i eroarea6a = sim(net,p)a =

    e = t/ae =

    1

    /olosim funcialearnp pentru a determina sc)imbrile ponderilor6dw = learnp(w,p,[",[",[",[",e,[",[",[")dw =1 !&

    8eci, noile ponderi se obin prin6w = w + dww =

    !& 1&!

    *rocesul de determinare a noilor ponderi se poate continua p(n c(nd nu mai sunt erori.3e poate studiannd4pr .

    2.4 Antrenarea adaptiv $A5A(-)8ac sim i adapt se folosesc n mod repatat, este posibil s se determine ponderile

    pentru care perceptronul realizeaz funcia propus, presupun(nd c el poate rezol&a acea problem.

    /uncia adapt realizeaz o astfel de antrenare iterati&. Da nu garanteaz c reeauaobinut realizeaz sarcina dorit. "oile &alori pentru # i b trebuie &erificate prin calcululieirii pentru fiecare &ector de intrare pentru a se &edea dac se ating toate intele.

    3 presupunem c a&em urmtoarea problem de clasificare i dorim s o rezol&m cu unsingur perceptron cu dou intrri6

    .E0,0

    0-.F2,

    5

    5-.F0,

    5

    0-.F2,

    5

    5G- >>==5500 =

    ==

    ==

    === t pt pt pt p

    3e folosesc ponderile i polarizarea iniiale. "otm &ariabilele la fiecare pas al acestuicalcul folosind un numr ntre paranteze, dup &ariabil. 8eci, &alorile iniiale sunt

    #-2 4 ;2 2< , b-2 4 2

    ncepem prin a calcula ieirea a a perceptronului pentru primul &ector de intrare, p0,folosind ponderile i polarizarea iniiale6

    H

  • 8/13/2019 Perceptrons_L1

    7/11

    a = hardlim (w( ) p1 + b( )) = hardlim = hardlim ( ) = 1

    1eirea a nu este egal cu &aloarea int t0, aadar &om folosi regula perceptronului pentru agsi &ariaia ponderilor6

    e = t 1 / a = / 1 = /16w = e(p 1 ) 7 = [/! /!"6b = e = /1

    3e pot calcula noile ponderi prin6wno$ = w 5echi + e(p) 7 = [ " + [/! /!" = [/! /!" = w(1)b no$ = b 5echi + e = + (/1) = /1 = b(1)

    n continuare, se prezint urmtorul &ector de intrare, p5. 1eirea estea = hardlim (w(1) p! + b(1)) = hardlim = hardlim (1) = 1

    Iinta este 0, deci eroarea este 2. 8eci, nu sunt sc)imbri ale &alorilor ponderilor6w(!) = w(1) = [/! /!"p(!) = p(1) = /1

    *rocedeul se continu p(n c(nd se obin &alorile finale6w( ) = [/! /0"p( ) = 1

    'rmtoarele instruciuni definesc un perceptron cu ponderile iniiale egale cu zero.net = newp([/! !#/! +!",1)#

    3 considerm mai nt(i aplicarea unei singure intrri. @om defini defini primul &ector deintrare i prima int n sec&ene -tablouri ntre acolade .p = '[!# !" #t = '

    3etm numrul de pai -iteraii la 0, aa nc(tadapt &a aplica &ectorul de intrare -numaiunul, n acest caz o singur dat.

    net&adaptParam&passes = 1#[net,a,e" = adapt(net,p,t)#

    1eirea i eroarea returnate sunt6a =

    [1"e =

    [/1"

    "oile ponderi i polarizarea sunt6twts = net&IW'1,1twts =

    /! /!tbiase = net&b'1tbiase =

    /1

    Aadar, ponderile iniiale sunt zero i dup antrenarea cu numai primul &ector ele au&alorile ;!5 !5< i !0, aa cum au fost calculate i mai nainte.

    J

  • 8/13/2019 Perceptrons_L1

    8/11

    Aplicm apoi al doilea &ector, p5, s.a.m.d.

    3 aplicmadapt un singur pas, folosind sec&ena format din toi cei patru &ectori deintrare. ncepem prin definirea reelei.

    net = newp([/! !#/! +!",1)#

    net&trainParam&passes = 1#

    1ntrrile i intele corespunztoare din setul de antrenare sunt6p = '[!#!" [1#/!" [/!#!" [/1#1"t = ' 1 1 &

    Antrenm reeaua cu6[net,a,e" = adapt(net,p,t)#

    1eirea i eroarea returnate sunt6a =

    [1" [1" [ " [ "

    e =[/1" [ " [ " [1"

    "oile ponderi sunt6twts =

    /0 /1tbias =

    n final, simulm reeaua antrenat pentru fiecare intrare.a1 = sim(net,p)

    a1 = [ " [ " [1" [1"

    1eirile nu sunt egale cu intele, deci trebuie s antrenm reeaua cu mai mult de un pas.8ac reeaua se antreneaz n doi pai6

    twts =/! /0

    tbiase =1

    iar ieirea estea1 =

    [ " [1" [ " [1"

    Aadar, la al doilea pas se atinge scopul propus. %eeaua este con&ergent i produceieirile dorite pentru toi cei patru &ectori de intrare. *entru a &erifica, putem determinaeroarea pentru fiecare intrare6

    error = 'a1'1 /t'1 a1'! /t'! a1'0 /t'0 a1'4 /t'4error =

    [ " [ " [ " [ "

    Toate intrrile sunt clasificate corect.

    ". 5esfurarea lucrrii

    C

  • 8/13/2019 Perceptrons_L1

    9/11

    A. @erificai toate programele descrise n paragrafele anterioare i prezentai rezultatele nreferatul de laborator.

    B. *roiectai o reea neuronal artificial pentru realizarea funciei logice A"8 cu douintrri. Aplicai algoritmul de antrenare adapt. 8esenai reeaua i notai ponderile finale.

    +. *roiectai o reea neuronal artificial pentru realizarea funciei logice A"8 cu dou

    intrri. Aplicai algoritmul de antrenare adapt. 8esenai reeaua i notai ponderile finale.8. *roiectai o reea neuronal artificial pentru realizarea unui detector de paritate cu patruintrri. 1eirea 0 numai dac numrul de intrri 0 este par. Aplicai algoritmul de antrenareadapt. 8esenai reeaua i notai ponderile finale.

    K

  • 8/13/2019 Perceptrons_L1

    10/11

    # net#or$s. ne#p ! +reate a perceptron. 'sing net#or$s.

    sim ! 3imulate a neural net#or$. init ! 1nitialize a neural net#or$. adapt ! Allo# a neural net#or$ to adapt. train ! Train a neural net#or$.

    eig)t functions. dotprod ! 8ot product #eig)t function. "et input functions. netsum ! 3um net input function. Transfer functions.

    )ardlim ! ard limit transfer function. )ardlims ! 3Nmmetric )ard limit transfer function. 1nitialization functions.

    initlaN ! LaNer!bN!laNer net#or$ initialization function.

    init#b ! BN!#eig)t!and!bias laNer initialization function. initzero ! Oero #eig)tPbias initialization function. *erformance functions.

    mae ! Mean absolute error performance function. Learning functions.

    learnp ! *erceptron learning function. learnpn ! "ormalized perceptron learning function. Adapt functions.

    adapt#b ! BN!#eig)t!and!bias net#or$ adaption function.

    02

  • 8/13/2019 Perceptrons_L1

    11/11

    Training functions. train#b ! BN!#eig)t!and!bias net#or$ training function. 8emonstrations

    demop0 ! +lassification #it) a 5!input perceptron.

    demop5 ! +lassification #it) a =!input perceptron. demop= ! +lassification #it) a 5!neuron perceptron. demop> ! 9utlier input &ectors. demop? ! "ormalized perceptron rule. demopH ! LinearlN non!separable &ectors. demopJ ! +lassification #it) a t#o!laNer perceptron.

    00