SlideShare a Scribd company logo
Variante ale algoritmului
           BackPropagation
 Algoritmul BackPropagation standard

 Variante ale algoritmului standard

 Probleme ale algoritmului BackPropagation
    Cauze
    Solutii




                  Retele neuronale - curs 6   1
Algoritmul BackPropagation
Reminder: retea cu doua
  nivele
          N1            N2            
                              w kj x j  
yi = f 2 ∑
          k =0
                 ( 2)
                w ik f1 
                         ∑     (1)
                                        
                        j =0          

Antrenare:
• Set de antrenare: {(x1,d1),…,
  (xL,dL)}

• Functie de eroare: eroarea
  medie patratice

• Minimizare: metoda
  gradientului
                              Retele neuronale - curs 6   2
Algoritmul BackPropagation
                         Structura generala
        Varianta seriala                          Varianta batch (cu ajustare cumulata)
        Initializare aleatoare a ponderilor       Initializare aleatoare a ponderilor
        REPEAT                                    REPEAT
            FOR l=1,L DO                              Initializarea variabilelor ce vor
                                                      contine ajustarile
epoca




              etapa FORWARD
                                                      FOR l=1,L DO
              etapa BACKWARD
                                                         etapa FORWARD
              modificarea ponderilor
                                          epoch
                                                         etapa BACKWARD
            ENDFOR                                       cumularea ajustarilor
            Recalcularea erorii                       ENDFOR
        UNTIL <conditie de oprire>                    Modificarea ponderilor
                                                      Recalcularea erorii
                                                  UNTIL <conditie de oprire>

                               Retele neuronale - curs 6          3
Algoritmul BackPropagation
Detalii (varianta seriala)
     w1 := rand (−1,1), wik := rand (−1,1)
      kj
                         2


     p := 0
     REPEAT
      FOR l := 1, L DO
        / * Etapa FORWARD * /
                    N0                                                 N1
           l
          xk   :=   ∑
                    j =0
                           w1 x lj ,
                            kj
                                        l
                                       yk   :=   f1 ( xk ), xil
                                                       l
                                                                  :=   ∑w
                                                                       k =0
                                                                              2
                                                                              ik   y k , yil := f 2 ( xil )
                                                                                     l



        / * Etapa BACKWARD * /
                                                                       N2
         δ il := f 2' ( xil )(d il − yil ), δ k := f1' ( xk )
                                              l           l
                                                                       ∑w
                                                                       i =1
                                                                              2 l
                                                                              ik δ i


         / * Etapa de ajustare * /
          w1 := w1 + ηδ k x lj , wik := wik + ηδ il y k
           kj    kj
                        l         2      2            l


       ENDFOR
                                       Retele neuronale - curs 6                                       4
Algoritmul BackPropagation
Detalii (varianta seriala)

           / * Calculul erorii * /
           E := 0
           FOR l := 1, L DO
               / * Etapa FORWARD (cu noile valori ale ponderilor) * /
                        N0                                                 N1
               l
              xk   :=   ∑
                        j =0
                               w1 x lj ,
                                kj
                                            l
                                           yk   :=   f1 ( xk ), xil
                                                           l
                                                                      :=   ∑w
                                                                           k =0
                                                                                  2
                                                                                  ik   y k , yil := f 2 ( xil )
                                                                                         l



             / * Sumarea erorii * /
                                L
              E := E +         ∑ (d
                               l =1
                                      l
                                      i    − yil ) 2

           ENDFOR
           E := E /( 2 L)
           p := p + 1
          UNTIL p > p max OR E < E *


                                      Retele neuronale - curs 6                                             5
Algoritmul BackPropagation
Particularitati ale variantei “batch”
     w1 := rand ( −1,1), wik := rand (−1,1), i = 1..N 2, k = 0..N1, j = 0..N 0
      kj
                          2


     p := 0
    REPEAT
        1           2
       Δkj : = 0 ,Δik : = 0
      FOR l := 1, L DO
         / * Etapa FORWARD * /
                    N0                                                       N1
           l
          xk   :=   ∑
                    j =0
                           w1 x lj ,
                            kj
                                         l
                                        yk   :=          l
                                                  f1 ( x k   ),   xil   :=   ∑w
                                                                             k =0
                                                                                    2
                                                                                    ik   y k , yil := f 2 ( xil )
                                                                                           l



        / * Etapa BACKWARD * /
                                                                             N2
         δil   :=   f 2' ( xil )(d il   −   yil ), δ k
                                                     l
                                                         :=   f1' ( xk
                                                                     l
                                                                         )   ∑w
                                                                             i =1
                                                                                    2 l
                                                                                    ik δi


         / * Etapa de ajustare * /
          ∆kj := ∆kj +ηδ k x lj , ∆2 := ∆2 +ηδil y k
           1      1      l
                                   ik    ik
                                                   l


       ENDFOR
     w1 := w1 + ∆kj , wik := wik + ∆2
      kj    kj
                 1     2      2
                                    ik

                                             Retele neuronale - curs 6                                          6
Variante
Noi variante ale algoritmului BackPropagation pot fi
  obtinute prin modificarea:

 Functiei de eroare

 Metodei de minimizare

 Metodei de alegere a ratei de invatare

 Initializarii ponderilor


                    Retele neuronale - curs 6   7
Variante
  Functia de eroare:
  • Eroarea medie patratica este potrivita pentru rezolvarea problemelor
    de aproximare
  • Pentru problemele de clasificare a masura mai adecvata este entropia
    incrucisata (cross-entropy):
  • Caz particular: clasificarea in doua clase
     – dl este din {0,1} (0 corespunde clasei 0 iar 1 corespunde clasei 1
     – yl este din (0,1) si poate fi interpretata ca probabilitatea de
        apartenenta la clasa 1
               L                                          Obs: Valoarea minima (0) se
CE (W ) = −   ∑ (d ln y
              l =1
                     l    l   + (1 − d l ) ln(1 − yl ))   obtine cand dl si yl sunt
                                                          suficient de
           − ln yl      daca d l = 1                     apropiate
El (W ) = 
          − ln(1 − yl ) daca d l = 0

                                Retele neuronale - curs 6         8
Variante
Eroare bazata pe entropie:
 Se schimba valorile derivatelor partiale
 Semnalul de eroare corespunzator unitatii de iesire (cu functie
   logistica de transfer) va fi:


         d l 1 − d l ' ( 2)     d l (1 − yl ) − yl (1 − d l )
   δl = ( −         ) f2 (x ) =                               ⋅ yl (1 − yl )
         y l 1 − yl                     yl (1 − yl )
      = d l (1 − yl ) − yl (1 − d l )




                              Retele neuronale - curs 6                9
Variante
Metoda de minimizare:

•   Metoda gradientului este simpla dar are dezavantaje:
     – Convergenta lenta
     – Sensibilitate mare la alegerea valorii ratei de invatare (pasul de
       descrestere)
•   Se pot utiliza metode mai rapide (insa mai complexe):
     – Metoda gradientului conjugat (si variante ale ei)
     – Metoda lui Newton
•   Particularitati ale acestor metode:
     – Convergenta rapida (ex: metoda gradientului conjugat converge in n
       iteratii pentru functii patratice de argument n-dimensional)
     – Necesita calculul matricii hessiene (matrice continand derivatele de
       ordin doi ale functiei de eroare) si uneori a inversei acesteia



                         Retele neuronale - curs 6          10
Variante
Exemplu: metoda lui Newton

 E : R n → R, w ∈ R n (vectorul ce contine toate ponderile)
Prin dezvoltare in serie Taylor in w( p) (estimarea corespunzatoare epocii p)
                                                     1
E ( w) ≅ E ( w( p )) + (∇E ( w( p ))) ( w − w( p )) + ( w − w( p))T H ( w( p))( w − w( p))
                                     T
                                                     2
                ∂ 2 E ( w( p ))
H ( w( p)) ij =
                  ∂wi ∂w j
Derivand dezvoltarea in serie Taylor in raport cu w si punand conditia
de punct critic noua aproximare pentru w se va obtine ca solutie a ec :
H ( w( p)) w − H ( w( p)) w( p) + ∇E ( w( p )) = 0
Noua estimare a lui w va fi :
w( p + 1) = w( p ) − H −1 ( w( p)) ⋅ ∇E ( w( p))

                              Retele neuronale - curs 6         11
Variante
 Caz particular: metoda Levenberg-Marquardt
 • Metoda lui Newton adaptata pentru cazul in care eroarea este o
   suma de patrate de diferente (cum este eroarea medie patratica)
                  L
      E ( w) =   ∑
                 l =1
                        El ( w), e : R n → R L , e( w) = ( E1 ( w),..., E L ( w))T

      w( p + 1) = w( p) − ( J T ( w( p)) ⋅ J ( w( p)) + µ p I ) −1 J T ( w( p))e( w( p))
      J ( w) = jacobianul lui e( w) = matricea derivatelor lui e in raport
      cu toate argumentele
                ∂E ( w)
      J ij( w) = i                                Termen de perturbare care elimina
                  ∂w j
                                                             cazurile singulare (matrice
                                                             neinversabila)
Avantaj:
• Nu necesita calculul hessianei
• Pentru valori mari ale factorului de atenuare ajustarea devine
  similara celei de la metoda gradientului
                                    Retele neuronale - curs 6                    12
Variante
Alegerea ratei de invatare:

• Constanta

• Adaptiva
    – Metode euristice
    – Aplicand, la fiecare etapa de ajustare, o metoda unidimensionala de
      minimizare




                        Retele neuronale - curs 6        13
Variante
Initializarea ponderilor:

• Aleator

• Aplicand o metoda aleatoare de minimizare




                            Retele neuronale - curs 6   14
Probleme ale algoritmului BP
• Viteza mica de convergenta (eroarea descreste prea
  incet)

• Oscilatii (valoarea erorii oscileaza in loc sa
  descreasca in mod constant)

• Problema minimelor locale (procesul de invatare se
  blocheaza intr-un minim local al functiei de eroare)

• Stagnare (procesul de invatare stagneaza chiar daca
  nu s-a ajuns intr-un minim local)

• Supraantrenarea si capacitatea limitata de
  generalizare
                Retele neuronale - curs 6 15
Probleme ale algoritmului BP
P1: Eroare descreste prea incet sau oscileaza in loc sa descreasca

Cauze:
• Valoare inadecvata a ratei de invatare (valori prea mici conduc
  la convergenta lenta iar valori prea mari conduc la oscilatii)
    – Solutie: adaptarea ratei de invatare


• Metoda de minimizare are convergenta lenta
  Solutii:
   - modificarea euristica a variantei standard (e.g. momentum)
   - utilizarea unei alte metode de minimizare (Newton, gradient
  conjugat)



                       Retele neuronale - curs 6   16
Probleme ale algoritmului BP
Rata adaptiva de invatare:
• Daca eroarea creste semnificativ atunci rata de invatare trebuie
  redusa (ajustarile sunt ignorate)
• Daca eroarea descreste semnificativ atunci rata de invatare poate
  fi marita (ajustarile sunt acceptate)
• In toate celelalte cazuri rata de invatare ramane neschimbata


E ( p) > (1 + γ ) E ( p − 1) ⇒ η ( p ) = aη ( p − 1), 0 < a < 1
E ( p) < (1 − γ ) E ( p − 1) ⇒ η ( p ) = bη ( p − 1), 1 < b < 2
(1 − γ ) E ( p − 1) ≤ E ( p) ≤ (1 + γ ) E ( p − 1) ⇒ η ( p ) = η ( p − 1)

Exemplu: γ=0.05

                        Retele neuronale - curs 6        17
Probleme ale algoritmului BP
Varianta cu “moment” (termen de inertie):
• Se introduce o “inertie” in calculul ponderilor:
  termenul de ajustare a ponderilor de la epoca curenta se
  calculeaza pe baza semnalului de eroare precum si a ajustarilor
  de la epoca anterioare

•   Actioneaza ca o adaptare a ratei de invatare: ajustarile sunt mai
    mari in portiunile plate ale functiei de eroare si mai mici in cele
    abrupte

•   Se combina cu varianta pe blocuri

            ∆wij ( p + 1) = ηδ i y j + α∆wij ( p )
            α = 0.9

                        Retele neuronale - curs 6       18
Probleme ale algoritmului BP
P2: Problema minimelor locale (procesul de invatare se blocheaza
  intr-un minim local al functiei de eroare)

Cauza: metoda gradientului este o metoda de minimizare locala

Solutii:
• Se restarteaza antrenarea de la alte valori initiale ale ponderilor
• Se introduc perturbatii aleatoare (se adauga la ponderi dupa
   aplicarea ajustarilor):

     wij := wij + ξ ij , ξ ij = valori aleatoare uniform
                                sau normal distribuite

                      Retele neuronale - curs 6       19
Probleme ale algoritmului BP
Solutie:
• Inlocuirea metodei gradientului cu o metoda aleatoare de
   optimizare
• Inseamna utilizarea unei perturbatii aleatoare in locul celei
   calculate pe baza gradientului
• Ajustarile pot conduce la cresterea valorii erorii
• Pasul de ajustare

  ∆ ij := valori aleatoare
  IF E (W + ∆) < E (W ) THEN se accepta ajustare (W := W + ∆)

Obs:
• Ajustarile sunt de regula generate in conformitate cu repartitia
  normala de medie 0 si dispersie adaptiva
• Daca ajustarea nu conduce la o descrestere a valorii erorii atunci
  nu se accepta deloc sau se accepta cu o probabilitate mica

                       Retele neuronale - curs 6      20
Probleme ale algoritmului BP
Pb 3: Stagnare (procesul de invatare stagneaza chiar daca nu s-a
  ajuns intr-un minim local)

Cauza: ajustarile sunt foarte mici intrucat se ajunge la argumente
  mari ale functiilor sigmoidale ceea ce conduce la valori foarte mici
  ale derivatelor; argumentele sunt mari fie datorita faptului ca
  datele de intrare nu sunt normalizate fie intrucat valorile ponderilor
  sunt prea mari

Solutii:
    – Se “penalizeaza” valorile mari ale ponderilor

    – Se utilizeaza doar semnele derivatelor nu si valorile lor



                        Retele neuronale - curs 6          21
Probleme ale algoritmului BP
Penalizarea valorilor mari ale ponderilor: se adauga un termen de
  penalizare la functia de eroare


            E( r ) (W ) = E (W ) + λ   ∑
                                       i, j
                                               2
                                              wij

Ajustarea va fi:


            ∆(ij ) = ∆ ij − 2λwij
               r




                      Retele neuronale - curs 6     22
Probleme ale algoritmului BP
Utilizarea semnului derivatei nu si a valorii (Resilient
    BackPropagation – RPROP)
                                   ∂E (W ( p − 1))
                 − ∆ ij ( p )   if
                                        ∂wij
                                                    >0
                 
  ∆wij ( p ) = 
                                    ∂E (W ( p − 1))
                  ∆ ij ( p )    if                 <0
                 
                                       ∂wij
                                    ∂E (W ( p − 1)) ∂E (W ( p − 2))
               a∆ ij ( p − 1)    if
                                         ∂wij
                                                    ⋅
                                                          ∂wij
                                                                     >0
               
  ∆ ij ( p ) = 
                                     ∂E (W ( p − 1)) ∂E (W ( p − 2))
               b∆ ij ( p − 1)    if                ⋅                <0
               
                                        ∂wij             ∂wij
  0 < b <1< a



                                 Retele neuronale - curs 6          23
Probleme ale algoritmului BP
Supraantrenare si capacitate limitata de generalizare:

Cauze:
• Arhitectura retelei (numarul de unitati ascunse)
   – Un numar prea mare de unitati ascunse poate provoca
     supraantrenare (reteaua extrage nu doar informatiile utile din
     setul de antrenare ci si zgomotul)
• Dimensiunea setului de antrenare
   – Prea putine exemple nu permit antrenarea si asigurarea
     capacitatii de generalizare
• Numarul de epoci (toleranta la antrenare)
   – Prea multe epoci conduc la supraantrenare

Solutii:
• Modificarea dinamica a arhitecturii
• Criteriul de oprire se bazeaza nu pe eroarea pe setul de
   antrenare ci pe un set de validare
                     Retele neuronale - curs 6      24
Probleme ale algoritmului BP
Supraantrenare si capacitate limitata de generalizare:




                         Retele neuronale - curs 6       25
Probleme ale algoritmului BP
Modificarea dinamica a arhitecturii:

• Strategie incrementala:

    – Se porneste cu un numar mic de unitati ascunse
    – Daca antrenarea nu progreseaza se adauga succesiv unitati;
      pentru asimilarea lor se ajusteaza in cateva epoci doar ponderile
      corespunzatoare


• Strategie decrementala:

    – Se porneste cu un numar mare de unitati
    – Daca exista unitati care au impact mic asupra semnalului de iesire
      atunci acestea se elimina



                       Retele neuronale - curs 6         26
Probleme ale algoritmului BP
Criteriu de oprire bazat pe eroarea pe setul de validare :

• Se imparte setul de antrenare in m parti: (m-1) sunt folosite
  pentru antrenare si una pentru validare
• Ajustarea se aplica pana cand eroarea pe setul de validare
  incepe sa creasca

Validare incrucisata:
• Algoritmul de invatare se aplica de m ori pentru cele m variante
   posibile de partitionare a datelor in subset de antrenare si
   subset de validare




                      Retele neuronale - curs 6      27
Probleme ale algoritmului BP
Criteriu de oprire bazat pe eroarea pe setul de validare :




                                    Eroare pe setul de validare




                                   Eroare pe setul de antrenare




                         Retele neuronale - curs 6           28

More Related Content

Viewers also liked (11)

úKol z kpi č. 13
úKol z kpi č. 13úKol z kpi č. 13
úKol z kpi č. 13
 
Gadzette no12 2Šme a
Gadzette no12 2Šme aGadzette no12 2Šme a
Gadzette no12 2Šme a
 
Assignment 46
Assignment 46Assignment 46
Assignment 46
 
чуло вида
чуло видачуло вида
чуло вида
 
El manual de la calidad software - Panel Ssistemas - 2ªedicion2015
El manual de la calidad software - Panel Ssistemas - 2ªedicion2015El manual de la calidad software - Panel Ssistemas - 2ªedicion2015
El manual de la calidad software - Panel Ssistemas - 2ªedicion2015
 
Fénix jako symbol v čínské kultuře
 Fénix jako symbol v čínské kultuře  Fénix jako symbol v čínské kultuře
Fénix jako symbol v čínské kultuře
 
Melisa bbb eng
Melisa bbb engMelisa bbb eng
Melisa bbb eng
 
Nieuwjaarswensen2013
Nieuwjaarswensen2013Nieuwjaarswensen2013
Nieuwjaarswensen2013
 
Proyecto Joven
Proyecto JovenProyecto Joven
Proyecto Joven
 
Periodizace
PeriodizacePeriodizace
Periodizace
 
Fronte Group - About us | short presentation
 Fronte Group - About us | short presentation Fronte Group - About us | short presentation
Fronte Group - About us | short presentation
 

Recently uploaded (7)

Papa Francisco canoniza los martires de Rumanía (Rumanian).pptx
Papa Francisco canoniza los martires de Rumanía (Rumanian).pptxPapa Francisco canoniza los martires de Rumanía (Rumanian).pptx
Papa Francisco canoniza los martires de Rumanía (Rumanian).pptx
 
TALENTELE COPIILOR DE PRETUDINTENI`` raport.pptx
TALENTELE  COPIILOR  DE      PRETUDINTENI`` raport.pptxTALENTELE  COPIILOR  DE      PRETUDINTENI`` raport.pptx
TALENTELE COPIILOR DE PRETUDINTENI`` raport.pptx
 
Să ne împrietenim cu lectura Ermurachi Nina/ Pruncia Monica
Să ne împrietenim cu lectura Ermurachi Nina/ Pruncia MonicaSă ne împrietenim cu lectura Ermurachi Nina/ Pruncia Monica
Să ne împrietenim cu lectura Ermurachi Nina/ Pruncia Monica
 
Electrotehnica si Masini_Electrice - partea II.ppt
Electrotehnica si Masini_Electrice - partea II.pptElectrotehnica si Masini_Electrice - partea II.ppt
Electrotehnica si Masini_Electrice - partea II.ppt
 
Documente de evidenta operativa
Documente de evidenta operativaDocumente de evidenta operativa
Documente de evidenta operativa
 
Balanta de verificare
Balanta de verificareBalanta de verificare
Balanta de verificare
 
Studiu Nike, Dascalu Ana-Georgiana, Crp.
Studiu Nike, Dascalu Ana-Georgiana, Crp.Studiu Nike, Dascalu Ana-Georgiana, Crp.
Studiu Nike, Dascalu Ana-Georgiana, Crp.
 

Rn2009 curs6

  • 1. Variante ale algoritmului BackPropagation  Algoritmul BackPropagation standard  Variante ale algoritmului standard  Probleme ale algoritmului BackPropagation  Cauze  Solutii Retele neuronale - curs 6 1
  • 2. Algoritmul BackPropagation Reminder: retea cu doua nivele  N1  N2   w kj x j   yi = f 2 ∑  k =0 ( 2) w ik f1   ∑ (1)    j =0  Antrenare: • Set de antrenare: {(x1,d1),…, (xL,dL)} • Functie de eroare: eroarea medie patratice • Minimizare: metoda gradientului Retele neuronale - curs 6 2
  • 3. Algoritmul BackPropagation Structura generala Varianta seriala Varianta batch (cu ajustare cumulata) Initializare aleatoare a ponderilor Initializare aleatoare a ponderilor REPEAT REPEAT FOR l=1,L DO Initializarea variabilelor ce vor contine ajustarile epoca etapa FORWARD FOR l=1,L DO etapa BACKWARD etapa FORWARD modificarea ponderilor epoch etapa BACKWARD ENDFOR cumularea ajustarilor Recalcularea erorii ENDFOR UNTIL <conditie de oprire> Modificarea ponderilor Recalcularea erorii UNTIL <conditie de oprire> Retele neuronale - curs 6 3
  • 4. Algoritmul BackPropagation Detalii (varianta seriala) w1 := rand (−1,1), wik := rand (−1,1) kj 2 p := 0 REPEAT FOR l := 1, L DO / * Etapa FORWARD * / N0 N1 l xk := ∑ j =0 w1 x lj , kj l yk := f1 ( xk ), xil l := ∑w k =0 2 ik y k , yil := f 2 ( xil ) l / * Etapa BACKWARD * / N2 δ il := f 2' ( xil )(d il − yil ), δ k := f1' ( xk ) l l ∑w i =1 2 l ik δ i / * Etapa de ajustare * / w1 := w1 + ηδ k x lj , wik := wik + ηδ il y k kj kj l 2 2 l ENDFOR Retele neuronale - curs 6 4
  • 5. Algoritmul BackPropagation Detalii (varianta seriala) / * Calculul erorii * / E := 0 FOR l := 1, L DO / * Etapa FORWARD (cu noile valori ale ponderilor) * / N0 N1 l xk := ∑ j =0 w1 x lj , kj l yk := f1 ( xk ), xil l := ∑w k =0 2 ik y k , yil := f 2 ( xil ) l / * Sumarea erorii * / L E := E + ∑ (d l =1 l i − yil ) 2 ENDFOR E := E /( 2 L) p := p + 1 UNTIL p > p max OR E < E * Retele neuronale - curs 6 5
  • 6. Algoritmul BackPropagation Particularitati ale variantei “batch” w1 := rand ( −1,1), wik := rand (−1,1), i = 1..N 2, k = 0..N1, j = 0..N 0 kj 2 p := 0 REPEAT 1 2 Δkj : = 0 ,Δik : = 0 FOR l := 1, L DO / * Etapa FORWARD * / N0 N1 l xk := ∑ j =0 w1 x lj , kj l yk := l f1 ( x k ), xil := ∑w k =0 2 ik y k , yil := f 2 ( xil ) l / * Etapa BACKWARD * / N2 δil := f 2' ( xil )(d il − yil ), δ k l := f1' ( xk l ) ∑w i =1 2 l ik δi / * Etapa de ajustare * / ∆kj := ∆kj +ηδ k x lj , ∆2 := ∆2 +ηδil y k 1 1 l ik ik l ENDFOR w1 := w1 + ∆kj , wik := wik + ∆2 kj kj 1 2 2 ik Retele neuronale - curs 6 6
  • 7. Variante Noi variante ale algoritmului BackPropagation pot fi obtinute prin modificarea:  Functiei de eroare  Metodei de minimizare  Metodei de alegere a ratei de invatare  Initializarii ponderilor Retele neuronale - curs 6 7
  • 8. Variante Functia de eroare: • Eroarea medie patratica este potrivita pentru rezolvarea problemelor de aproximare • Pentru problemele de clasificare a masura mai adecvata este entropia incrucisata (cross-entropy): • Caz particular: clasificarea in doua clase – dl este din {0,1} (0 corespunde clasei 0 iar 1 corespunde clasei 1 – yl este din (0,1) si poate fi interpretata ca probabilitatea de apartenenta la clasa 1 L Obs: Valoarea minima (0) se CE (W ) = − ∑ (d ln y l =1 l l + (1 − d l ) ln(1 − yl )) obtine cand dl si yl sunt suficient de  − ln yl daca d l = 1 apropiate El (W ) =  − ln(1 − yl ) daca d l = 0 Retele neuronale - curs 6 8
  • 9. Variante Eroare bazata pe entropie:  Se schimba valorile derivatelor partiale  Semnalul de eroare corespunzator unitatii de iesire (cu functie logistica de transfer) va fi: d l 1 − d l ' ( 2) d l (1 − yl ) − yl (1 − d l ) δl = ( − ) f2 (x ) = ⋅ yl (1 − yl ) y l 1 − yl yl (1 − yl ) = d l (1 − yl ) − yl (1 − d l ) Retele neuronale - curs 6 9
  • 10. Variante Metoda de minimizare: • Metoda gradientului este simpla dar are dezavantaje: – Convergenta lenta – Sensibilitate mare la alegerea valorii ratei de invatare (pasul de descrestere) • Se pot utiliza metode mai rapide (insa mai complexe): – Metoda gradientului conjugat (si variante ale ei) – Metoda lui Newton • Particularitati ale acestor metode: – Convergenta rapida (ex: metoda gradientului conjugat converge in n iteratii pentru functii patratice de argument n-dimensional) – Necesita calculul matricii hessiene (matrice continand derivatele de ordin doi ale functiei de eroare) si uneori a inversei acesteia Retele neuronale - curs 6 10
  • 11. Variante Exemplu: metoda lui Newton E : R n → R, w ∈ R n (vectorul ce contine toate ponderile) Prin dezvoltare in serie Taylor in w( p) (estimarea corespunzatoare epocii p) 1 E ( w) ≅ E ( w( p )) + (∇E ( w( p ))) ( w − w( p )) + ( w − w( p))T H ( w( p))( w − w( p)) T 2 ∂ 2 E ( w( p )) H ( w( p)) ij = ∂wi ∂w j Derivand dezvoltarea in serie Taylor in raport cu w si punand conditia de punct critic noua aproximare pentru w se va obtine ca solutie a ec : H ( w( p)) w − H ( w( p)) w( p) + ∇E ( w( p )) = 0 Noua estimare a lui w va fi : w( p + 1) = w( p ) − H −1 ( w( p)) ⋅ ∇E ( w( p)) Retele neuronale - curs 6 11
  • 12. Variante Caz particular: metoda Levenberg-Marquardt • Metoda lui Newton adaptata pentru cazul in care eroarea este o suma de patrate de diferente (cum este eroarea medie patratica) L E ( w) = ∑ l =1 El ( w), e : R n → R L , e( w) = ( E1 ( w),..., E L ( w))T w( p + 1) = w( p) − ( J T ( w( p)) ⋅ J ( w( p)) + µ p I ) −1 J T ( w( p))e( w( p)) J ( w) = jacobianul lui e( w) = matricea derivatelor lui e in raport cu toate argumentele ∂E ( w) J ij( w) = i Termen de perturbare care elimina ∂w j cazurile singulare (matrice neinversabila) Avantaj: • Nu necesita calculul hessianei • Pentru valori mari ale factorului de atenuare ajustarea devine similara celei de la metoda gradientului Retele neuronale - curs 6 12
  • 13. Variante Alegerea ratei de invatare: • Constanta • Adaptiva – Metode euristice – Aplicand, la fiecare etapa de ajustare, o metoda unidimensionala de minimizare Retele neuronale - curs 6 13
  • 14. Variante Initializarea ponderilor: • Aleator • Aplicand o metoda aleatoare de minimizare Retele neuronale - curs 6 14
  • 15. Probleme ale algoritmului BP • Viteza mica de convergenta (eroarea descreste prea incet) • Oscilatii (valoarea erorii oscileaza in loc sa descreasca in mod constant) • Problema minimelor locale (procesul de invatare se blocheaza intr-un minim local al functiei de eroare) • Stagnare (procesul de invatare stagneaza chiar daca nu s-a ajuns intr-un minim local) • Supraantrenarea si capacitatea limitata de generalizare Retele neuronale - curs 6 15
  • 16. Probleme ale algoritmului BP P1: Eroare descreste prea incet sau oscileaza in loc sa descreasca Cauze: • Valoare inadecvata a ratei de invatare (valori prea mici conduc la convergenta lenta iar valori prea mari conduc la oscilatii) – Solutie: adaptarea ratei de invatare • Metoda de minimizare are convergenta lenta Solutii: - modificarea euristica a variantei standard (e.g. momentum) - utilizarea unei alte metode de minimizare (Newton, gradient conjugat) Retele neuronale - curs 6 16
  • 17. Probleme ale algoritmului BP Rata adaptiva de invatare: • Daca eroarea creste semnificativ atunci rata de invatare trebuie redusa (ajustarile sunt ignorate) • Daca eroarea descreste semnificativ atunci rata de invatare poate fi marita (ajustarile sunt acceptate) • In toate celelalte cazuri rata de invatare ramane neschimbata E ( p) > (1 + γ ) E ( p − 1) ⇒ η ( p ) = aη ( p − 1), 0 < a < 1 E ( p) < (1 − γ ) E ( p − 1) ⇒ η ( p ) = bη ( p − 1), 1 < b < 2 (1 − γ ) E ( p − 1) ≤ E ( p) ≤ (1 + γ ) E ( p − 1) ⇒ η ( p ) = η ( p − 1) Exemplu: γ=0.05 Retele neuronale - curs 6 17
  • 18. Probleme ale algoritmului BP Varianta cu “moment” (termen de inertie): • Se introduce o “inertie” in calculul ponderilor: termenul de ajustare a ponderilor de la epoca curenta se calculeaza pe baza semnalului de eroare precum si a ajustarilor de la epoca anterioare • Actioneaza ca o adaptare a ratei de invatare: ajustarile sunt mai mari in portiunile plate ale functiei de eroare si mai mici in cele abrupte • Se combina cu varianta pe blocuri ∆wij ( p + 1) = ηδ i y j + α∆wij ( p ) α = 0.9 Retele neuronale - curs 6 18
  • 19. Probleme ale algoritmului BP P2: Problema minimelor locale (procesul de invatare se blocheaza intr-un minim local al functiei de eroare) Cauza: metoda gradientului este o metoda de minimizare locala Solutii: • Se restarteaza antrenarea de la alte valori initiale ale ponderilor • Se introduc perturbatii aleatoare (se adauga la ponderi dupa aplicarea ajustarilor): wij := wij + ξ ij , ξ ij = valori aleatoare uniform sau normal distribuite Retele neuronale - curs 6 19
  • 20. Probleme ale algoritmului BP Solutie: • Inlocuirea metodei gradientului cu o metoda aleatoare de optimizare • Inseamna utilizarea unei perturbatii aleatoare in locul celei calculate pe baza gradientului • Ajustarile pot conduce la cresterea valorii erorii • Pasul de ajustare ∆ ij := valori aleatoare IF E (W + ∆) < E (W ) THEN se accepta ajustare (W := W + ∆) Obs: • Ajustarile sunt de regula generate in conformitate cu repartitia normala de medie 0 si dispersie adaptiva • Daca ajustarea nu conduce la o descrestere a valorii erorii atunci nu se accepta deloc sau se accepta cu o probabilitate mica Retele neuronale - curs 6 20
  • 21. Probleme ale algoritmului BP Pb 3: Stagnare (procesul de invatare stagneaza chiar daca nu s-a ajuns intr-un minim local) Cauza: ajustarile sunt foarte mici intrucat se ajunge la argumente mari ale functiilor sigmoidale ceea ce conduce la valori foarte mici ale derivatelor; argumentele sunt mari fie datorita faptului ca datele de intrare nu sunt normalizate fie intrucat valorile ponderilor sunt prea mari Solutii: – Se “penalizeaza” valorile mari ale ponderilor – Se utilizeaza doar semnele derivatelor nu si valorile lor Retele neuronale - curs 6 21
  • 22. Probleme ale algoritmului BP Penalizarea valorilor mari ale ponderilor: se adauga un termen de penalizare la functia de eroare E( r ) (W ) = E (W ) + λ ∑ i, j 2 wij Ajustarea va fi: ∆(ij ) = ∆ ij − 2λwij r Retele neuronale - curs 6 22
  • 23. Probleme ale algoritmului BP Utilizarea semnului derivatei nu si a valorii (Resilient BackPropagation – RPROP)  ∂E (W ( p − 1)) − ∆ ij ( p ) if ∂wij >0  ∆wij ( p ) =  ∂E (W ( p − 1))  ∆ ij ( p ) if <0   ∂wij  ∂E (W ( p − 1)) ∂E (W ( p − 2)) a∆ ij ( p − 1) if ∂wij ⋅ ∂wij >0  ∆ ij ( p ) =  ∂E (W ( p − 1)) ∂E (W ( p − 2)) b∆ ij ( p − 1) if ⋅ <0   ∂wij ∂wij 0 < b <1< a Retele neuronale - curs 6 23
  • 24. Probleme ale algoritmului BP Supraantrenare si capacitate limitata de generalizare: Cauze: • Arhitectura retelei (numarul de unitati ascunse) – Un numar prea mare de unitati ascunse poate provoca supraantrenare (reteaua extrage nu doar informatiile utile din setul de antrenare ci si zgomotul) • Dimensiunea setului de antrenare – Prea putine exemple nu permit antrenarea si asigurarea capacitatii de generalizare • Numarul de epoci (toleranta la antrenare) – Prea multe epoci conduc la supraantrenare Solutii: • Modificarea dinamica a arhitecturii • Criteriul de oprire se bazeaza nu pe eroarea pe setul de antrenare ci pe un set de validare Retele neuronale - curs 6 24
  • 25. Probleme ale algoritmului BP Supraantrenare si capacitate limitata de generalizare: Retele neuronale - curs 6 25
  • 26. Probleme ale algoritmului BP Modificarea dinamica a arhitecturii: • Strategie incrementala: – Se porneste cu un numar mic de unitati ascunse – Daca antrenarea nu progreseaza se adauga succesiv unitati; pentru asimilarea lor se ajusteaza in cateva epoci doar ponderile corespunzatoare • Strategie decrementala: – Se porneste cu un numar mare de unitati – Daca exista unitati care au impact mic asupra semnalului de iesire atunci acestea se elimina Retele neuronale - curs 6 26
  • 27. Probleme ale algoritmului BP Criteriu de oprire bazat pe eroarea pe setul de validare : • Se imparte setul de antrenare in m parti: (m-1) sunt folosite pentru antrenare si una pentru validare • Ajustarea se aplica pana cand eroarea pe setul de validare incepe sa creasca Validare incrucisata: • Algoritmul de invatare se aplica de m ori pentru cele m variante posibile de partitionare a datelor in subset de antrenare si subset de validare Retele neuronale - curs 6 27
  • 28. Probleme ale algoritmului BP Criteriu de oprire bazat pe eroarea pe setul de validare : Eroare pe setul de validare Eroare pe setul de antrenare Retele neuronale - curs 6 28