8
Perceptronul MLP “fuzzy” Perceptronul (MLP=Multilayer Perceptron) este cea mai simpla, cea mai utilizata si totodata cea mai veche retea neurala. Denumirea de perceptron deriva din perceptie. Vom prezenta in acest capitol perceptronul clasic comparativ cu variantele “fuzzy” care deriva din acesta. 2.1. Arhitectura perceptronului multinivel(MLP) Structura clasica de perceptron neliniar- “Non-linear Perceptron” (NP) este o retea fara reactie ( “feedforward”) care contine trei nivele de neuroni, asa cum este reprezentat in figura 2.1, de mai jos. Fig. 2.1 Retea perceptron neliniar cu trei straturi de neuroni ( strutura clasica). Primul strat al NP contine neuroni virtuali care nu realizeza o prelucrare de semnal, ci doar o multiplexare, prelucrarea propriu- zisa avand loc doar in stratul intermediar si in cel de iesire. Strat intermediar Strat de intrare 1 i i n 1 L j 1 k M Strat de iesire

Perceptronul MLP

  • Upload
    pakitza

  • View
    222

  • Download
    2

Embed Size (px)

DESCRIPTION

Perceptronul MLP

Citation preview

  • Perceptronul MLP fuzzy

    Perceptronul (MLP=Multilayer Perceptron) este cea mai simpla, cea mai utilizata si

    totodata cea mai veche retea neurala. Denumirea de perceptron deriva din perceptie. Vom

    prezenta in acest capitol perceptronul clasic comparativ cu variantele fuzzy care deriva din

    acesta.

    2.1. Arhitectura perceptronului multinivel(MLP)

    Structura clasica de perceptron neliniar- Non-linear Perceptron (NP) este o retea fara

    reactie ( feedforward) care contine trei nivele de neuroni, asa cum este reprezentat in figura

    2.1, de mai jos.

    Fig. 2.1 Retea perceptron neliniar cu trei straturi de neuroni ( strutura clasica).

    Primul strat al NP contine neuroni virtuali care nu realizeza o prelucrare de semnal, ci

    doar o multiplexare, prelucrarea propriu- zisa avand loc doar in stratul intermediar si in cel de

    iesire.

    Strat intermediar

    Strat de intrare

    1

    i

    i

    n

    1 L j

    1

    k

    M

    Strat de iesire

  • 1. Ecuatiile unui neuron din stratul intermediar

    Fig. 2.2 Conexiunile neuronului j ( j=1,,L) din stratul intermediar.

    tpn1pp x,,xX are semnificatia de vector care se aplica la intrarea NP.

    hji

    W , j=1,,L, i=1,,n reprezinta multimea ponderilor aferente stratului intermediar. L este

    numarul de neuroni ai stratului intermediar, iar n reprezinta numarul neuronilor de pe stratul

    de intrare. Indicele superior h care apare in notarea ponderilor acestui strat provine de la

    hidden.

    Avem doua etape de prelucrare:

    neliniara

    liniara.

    Etapa liniara ( )

    In cadrul acestei etape vom defini activarea neuronului j din stratul intermediar, cand la

    intrare se aplica vectorul pX ,

    ( ) pin

    1i

    hji

    hpj

    xWnet

    , j=1,,L (2.1),

    unde hpj

    net este o variabila de stare interna (activarea neuronului j).

    Daca thjn

    h1j

    hj

    W,,WW , atunci

    pth

    jphj

    hpj

    XWX,Wnet , j=1,,L (2.2)

    Etapa neliniara

    Aceasta etapa presupune calcularea iesirii neuronului intermediar j, conform formulei

    ( ) hpj

    hjpjnetfi , j=1,,L (2.3),

    j

  • unde hj

    f este o functie neliniara de tipul f: xe1

    1xf,

    (>0 constant)

    (neliniaritate sigmoidala conform figurii 2.3) sau xthxf (neliniaritate de tip tangenta

    hiperboloica, conform figurii 2.4).

    Fig 2.3. Functia tangenta hiperbolica .

    Fig 2.4. Functia tangenta hiperbolica .

    2. Ecuatiile unui neuron din stratul de iesire

    Fig. 2.5. Conexiunile neuronului k ( k=1,,M) din stratul de iesire.

    0

    0,1

    0,2

    0,3

    0,4

    0,5

    0,6

    0,7

    0,8

    0,9

    1

    -10 -5 -3 -1 0 1 3 5 10

    1/(

    1+

    exp

    (-x))

    x

    -1

    -0,8

    -0,6

    -0,4

    -0,2

    0

    0,2

    0,4

    0,6

    0,8

    1

    -7 -6 -1,5 -0,5 0,5 1,5 6 7

    tan

    h(x

    )

    x

    k

  • okj

    W , k=1,,M, j=1,,L reprezinta multimea ponderilor aferente stratului de iesire

    (indicele o=output). M este numarul de neuroni ai stratului de iesire.

    Avem doua etape de prelucrare:

    neliniara

    liniara.

    Etapa liniara ( )

    Activarea neuronului k din stratul de iesire, cand la intrarea NP se aplica vectorul pX este

    data de formula

    ( )

    L

    1jpj

    okj

    opk

    iWnet , k=1,,M (2.4),

    unde opk

    net este o variabila de stare interna (activarea neuronului k).

    Etapa neliniara ( )

    Iesirea neuronului de iesire k este determinata in functie de activarea opk

    net si este exprimata

    de formula

    ( ) opk

    okpknetfo , k=1,,M (2.5)

    okf poate fi sigmoidala sau tangenta hiperbolica.

    Variantele fuzzy ale perceptronului neliniar pe care le-am analizat sunt in numar de

    trei si sunt notate cu FNP (Fuzzy Non-linear Perceptron) urmat de o cifra care semnifica

    indicele versiunii fuzzy a perceptronului.

    a) FNP1

    In situatia in care s-a folosit prima varianta fuzzy FNP1, vectorii de intrare vor avea

    dimensiunea 3*n, rezultand din vectorii de dimensiune n care s-au furnizat la intrarea

    perceptronului clasic, in care fiecare componenta a fost reprezentata prin trei valori ce

    constituiau apartenenta componentei respective la cele trei proprietati lingvistice: small,

    medium si respectiv big, iar iesirile retelei le-am considerat crisp.

    Functiile de apartenenta ale termenilor fuzzy small, medium si respectiv big sunt definite in

    felul urmator

    altfel0

    2.0u0daca1

    5.0u2.0daca3.0

    2.0u1

    usmall (2.6),

  • altfel0

    75.0u25.0daca5.0u41umedium (2.7),

    altfel0

    1u8.0daca1

    8.0u5.0daca3.0

    u8.01

    ubig (2.8)

    si sunt reprezentate in figura de mai jos.

    Fig. 2.6. Functiile de apartenenta pentru small, medium si big.

    b) FNP2

    In cazul versiunii FNP2 a perceptronului neliniar s-a realizat o cuantizare cu 3 nivele a

    celor 256 de nivele de gri in care erau reprezentate imaginile originale obtinandu-se astfel

    intrari fuzzy pentru perceptron. Cuantizarea nivelelor de gri (la inceput au fost normalizate

    astfel incat sa apartina [0,1] ) s-a realizat in felul urmator: daca acesta este in [0, 0.2) atunci va

    fi inlocuit cu 0.1, cand este in [0.2, 0.8) se cuantizeaza cu valoarea 0.5, iar in situatia in care

    este in [0.8, 1] valoarea cuantizata este 0.9. Vectorii fuzzy de intrare au dimensiunea n.

    Iesirile retelei au fost considerate tot crisp ca si in cazul NP si FNP1.

    c) FNP3

    O alta varianta fuzzy a perceptonului este aceea care are in plus fata de FNP2 faptul

    ca iesirile ideale sunt fuzzy, de forma urmatoare

    eF

    d

    ik

    i

    F

    z1

    1y

    (2.9), k=1,, K (K numarul de vectori din lotul de instruire si

    respectiv din cel de test), i=1, , M ( M numarul de clase) unde ikz reprezinta distanta

    ponderata dintre fiecare vector de intrare si vectorul medie al fiecarei clase iar Fd si Fe sunt

    u

    0.2 0.5 0.8 1

    1

    big small medium

  • niste parametri. Pentru fiecare vector care se aplica la intrarea retelei, vectorul de iesire ideal

    este de forma: kM1k y,,y , k=1,, K.

    2.2. Algoritmul de instruire

    Atat perceptronul clasic cat si perceptronul fuzzy au un algoritm de instruire

    supervizata, de tip back-propagation, in scopul minimizarii erorii pe lotul de instruire

    K

    1ppE

    K

    1E (2.10),

    K fiind numarul de vectori din lotul de instruire, iar

    M

    1k

    2pkpkp oy

    2

    1E (2.11)

    constituie eroarea determinata de vectorul p de instruire.

    Pasul 1. Se ia p=1. Se aplica la intrarea retelei vectorul

    Tpn1pp x,,xX ,

    pentru care se cunoaste vectorul de iesire ideal

    TpMy,,1pp

    yY ,

    unde:

    n reprezinta dimensiunea vectorului de intrare,

    M numarul de clase( numarul neuronilor de pe stratul de iesire).

    Apoi se genereaza aleator multimea ponderilor aferente stratului intermediar adica hji

    W ,

    j=1, , L, i=1 ,,n si cea aferenta stratului de iesire al retelei: okj

    W k=1,,M, j=1,,L,

    unde L este numarul de neuroni de pe stratul intermediar.

    Pasul 2. Se calculeaza activarile neuronilor din stratul intermediar folosind formula (2.1)

    pi

    n

    1i

    hji

    hpj

    xWnet

    , j=1,,L.

    Pasul 3. Se calculeaza iesirile neuronilor din stratul intermediar folosind relatia (2.3)

    hpj

    hjpjnetfi , j=1,..,L.

    Pasul 4. Se calculeaza activarile neuronilor din stratul de iesire pe baza relatiei (2.4)

    L

    1jpj

    okj

    opk

    iWnet , k=1,,M.

  • Pasul 5. Se calculeaza iesirile neuronilor de pe stratul de iesire conform relatiei (2.5)

    opk

    okpknetfo , k=1,..,M

    Pasul 6. Se calculeaza termenii eroare pentru neuronii de iesire conform relatiei (2.12)

    M,,1k,netfoy opk

    o'kpkpk

    opk

    (2.12).

    Pasul 7. Se calculeaza termenii eroare pentru neuronii din stratul intermediar folosind (2.13)

    ,L,,1j,Wnetf M1k

    okj

    opk

    hpj

    h'j

    hpj

    (2.13),

    Pasul 8. Se rafineaza ponderile aferente stratului de iesire pe baza relatiei (2.14)

    okj

    pokj

    okj

    W

    EtW1tW

    , k=1,M, j=1,,L (2.14),

    unde , 10 este rata de invatare.

    okj

    opk

    opk

    ok

    pkpkokj

    ok

    pkpkokj

    p

    W

    net

    net

    foy

    W

    foy

    W

    E

    (2.15)

    pj

    L

    1jpj

    okjo

    kjokj

    opk

    iiWWW

    net

    (2.16)

    Inlocuind relatia (2.16) in relatia (2.15) rezulta

    pjopkpjopkokpkpkokj

    piinetfoy

    W

    E

    )12.2(' (2.17)

    Pe baza relatiei (2.17), formula (2.14) de rafinare a ponderilor aferente stratului de

    iesire este echivalenta cu formula urmatoare

    L,,1j,M,,1k,itW1tW pjopk

    okj

    okj

    (2.18)

    Pasul 9. Se rafineaza ponderile aferente stratului intermediar

    hji

    phji

    hji

    W

    EtW1tW

    , j=1,,L, i=1,,n (2.19)

    2

    M

    1kpj

    L

    1j

    okj

    o'kpk

    2M

    1k

    opk

    o'kpkp

    iWfy2

    1netfy

    2

    1E

    (2.20)

    21.2

    W

    net

    net

    i

    i

    net

    net

    ooyoy

    W2

    1

    W

    E

    hji

    hpjM

    1khpj

    pj

    pj

    opk

    opk

    pkpkpk

    2pkpk

    M

    1khji

    hji

    p

  • pihpjh'jokjM

    1k

    opk

    o'kpkpkh

    ji

    pxnetfWnetfoy

    W

    E

    (2.22)

    23.2][1

    '

    1

    )12.2(''

    pi

    o

    kj

    M

    k

    o

    pk

    h

    pj

    h

    j

    M

    k

    pi

    o

    kj

    o

    pk

    o

    kpkpk

    h

    pj

    h

    jh

    ji

    pxWnetfxWnetfoynetf

    W

    E

    pihpj

    )13.2(

    hji

    px

    W

    E

    (2.24)

    Tinand cont de relatia (2.24), formula (2.19) de rafinare a ponderilor aferente stratului

    intermediar devine formula (2.25)

    pihpj

    hji

    hji

    xtW1tW , j=1,,L, i=1,,n (2.25)

    Pasul 10. Se calculeaza eroarea datorata vectorului p de instruire data de formula (2.11)

    M

    1k

    2pkpkp oy

    2

    1E .

    Pasul 11. Daca p