SlideShare ist ein Scribd-Unternehmen logo
1 von 25
Downloaden Sie, um offline zu lesen
Introduzione alle Reti Neurali
                                       Marco Botta
           Dipartimento di Informatica, Università di
                            Torino
              Corso Svizzera 185 - 10149 Torino
                                Giornata sul Data Mining
                                   20 Febbraio 2002
 Botta - Dip. di Informatica, Univ. Torino                 Reti Neurali 1




                                   Reti Neurali
• Sono approssimatori di funzioni
• L’idea è ricostruire una funzione tramite la
  composizione di unità elementari, ciascuna
  delle quali è in grado di eseguire poche e
  semplici computazioni
• Le unità sono dette neuroni (per motivi
  storici)

 Botta - Dip. di Informatica, Univ. Torino                 Reti Neurali 2




                                                                            1
Le Reti Neurali

x1                                                   Reti di funzioni elementari
                                                     dove le uscite dell’una sono
                                                     in ingresso all’altra
                                             y1

                                                      Reti Feed-forward
                                             y2
x2                                                     Reti ricorrenti
                                             y3
                                                      Reti auto-organizzanti
                                                  Molte altre sottofamiglie....
 Botta - Dip. di Informatica, Univ. Torino                              Reti Neurali 3




                               Caratteristiche
 • Le reti neurali non eseguono istruzioni
   programmate ma rispondono a degli input
   tramite un procedimento parallelo
 • Non sono sequenziali (né deterministiche)
 • Danno risposte anche in corrispondenza di
   input mai visti (capacità di
   generalizzazione)
 • Incapacità di spiegare i risultati
 Botta - Dip. di Informatica, Univ. Torino                              Reti Neurali 4




                                                                                         2
La rete più semplice: 1 solo neurone
               (Perceptron)
                           x0 = 1

  x1                                        w0
                         w1

   x2                     w2                      n

                         w3                  ∑w xi =0
                                                             i i
                                                                           o

   x3                    w4

   x4                                                   n
                                            if (∑ wi xi > 0) then 1 else 0
                                                      i =0
Botta - Dip. di Informatica, Univ. Torino                                      Reti Neurali 5




                          Qual’è la semantica
                                                              n

                                                            ∑w x =0
                                                             i =0
                                                                    i i


                    x2




                                                                      x1
Botta - Dip. di Informatica, Univ. Torino                                      Reti Neurali 6




                                                                                                3
Che cosa non può descrivere


                    x2




                                         x1
        Si può comunque cercare di posizionare la retta in modo
        da minimizzare l’errore.
Botta - Dip. di Informatica, Univ. Torino              Reti Neurali 7




                              Reti a più strati

                                       1
          x1
                                                 o1
                                       2
          x2
                                       3         o2
                  +1
                                       4
                                            +1

  Se gli strati sono puramente lineari non si acquista potenza


Botta - Dip. di Informatica, Univ. Torino              Reti Neurali 8




                                                                        4
Funzioni non-lineari
                 per disaccoppiare gli stadi
                           x0 = 1

  x1                                        w0
                          w1

   x2                     w2                      n

                          w3                  ∑w x
                                                 i =0
                                                        i i
                                                                                o

   x3                     w4

   x4                                                    n           n
                                     o = if (∑ wi xfi (> 0)wi xi ) 1 else 0
                                              o = ∑ then
                                                        i =0       i =0
Botta - Dip. di Informatica, Univ. Torino                                            Reti Neurali 9




                          Squashing Functions
                                            σ(netj)



                                                                         netj
                                                                   1
        net j = ∑ w ji x i                    σ ( net j ) =         − λnet j
                      i                                        1+ e

      Altre forme: Tanh

     Poniamo per ora la richiesta che la funzione sia
     monotona crescente
Botta - Dip. di Informatica, Univ. Torino                                           Reti Neurali 10




                                                                                                      5
Il Multilayer Perceptron

                            1
x1
                                                           Le unità di uscita combinano i
                                                      o1 contributi delle varie regioni
                            2
x2
                            3                         o2         2
                                                                     3
       +1
                            4                     1
                                +1
Le hidden units partizionano lo
                                             x2
spazio in regioni.                                                            4

                                                                              x1
 Botta - Dip. di Informatica, Univ. Torino                                   Reti Neurali 11




                       Quale è la potenza?
          - Una rete a due livelli con sigmoidi (o simili) su tutte
            le unità, può rappresentare qualunque funzione
            booleana finita.
           - Ogni funzione reale Rn R limitata e continua,
             può essere approssimata con errore arbitrariamente
             piccolo da una rete a due livelli con sigmoidi sulle
             unità nascoste e unità lineari sull’uscita.

          - Una qualunque funzione può essere approssimata
            da una rete a tre livelli in cui l’ultimo livello è costituito
            da funzioni lineari.
 Botta - Dip. di Informatica, Univ. Torino                                   Reti Neurali 12




                                                                                               6
Uso tante rette


                                     --              -       - -
                                         Posso-identificare
                                          -         -
                                                - chiuse -
                                         delle aree     -          --
                                                 -       -


                        +        +           +
                             +           +                              Ovviamente ogni
                                                                        retta un neurone
                        ++           +
  Botta - Dip. di Informatica, Univ. Torino                                    Reti Neurali 13




             Come posizionare le rette?
• Cominciamo col posizionarne un certo numero a caso
• Utilizziamo un insieme di esempi noti (per i quali
  conosco il valore della funzione da approssimare)
  calcolando per ciascuno la differenza fra output
  ottenuto e output atteso ed utilizzando tale errore per
  modificare posizione e orientamento dei neuroni
• È possibile compiere questa operazione in modo
  automatico


  Botta - Dip. di Informatica, Univ. Torino                                    Reti Neurali 14




                                                                                                 7
Topologia
                                                     Modo in cui sono
                                                     collegati i nodi
                X1
                                                         Y1

                X2
                                      w                  Y2

                X3
                                                         Y3

                X4


                                                 Feed-forward a tre layer
Botta - Dip. di Informatica, Univ. Torino                         Reti Neurali 15




                                            Esempi




Botta - Dip. di Informatica, Univ. Torino                         Reti Neurali 16




                                                                                    8
Gradi di libertà
  • Per approssimare bene una funzione occorre
    un numero sufficiente di neuroni hidden.
    Quanti? Non esiste modo di prevederlo
  • I pesi vengono modificati durante la fase di
    apprendimento, ma le funzioni calcolate da
    ogni singolo neurone possono avere
    parametri che l’utente deve regolare

  Botta - Dip. di Informatica, Univ. Torino       Reti Neurali 17




                              Apprendimento
• I pesi di una rete neurale sono inizializzati a caso
• La rete sarà un pessimo approssimatore della
  funzione di interesse
• Modificando i pesi modifico la funzione
  realizzata dalla rete
• Posso usare gli esempi per modificare i pesi
  dimodoché la rete divenga un approssimatore più
  preciso
  Botta - Dip. di Informatica, Univ. Torino       Reti Neurali 18




                                                                    9
Apprendimento
             (rete costituita da un solo neurone)
                      x1      w11
                 x2        w21
                                                      Out
                 x3         w31

                             w41
                      x4                    Il neurone attende che giunga un valore su ogni
                                            collegamento in input poi calcola il Net e un
                                            valore di attivazione che viene sparato su tutti i
                                            collegamenti in uscita
                   w12
                w22
                 w32                                Errore = Target - Out

                   w42                              wi2 = wi1 + α * Errore
Botta - Dip. di Informatica, Univ. Torino
                                                            0<α≤1                  Reti Neurali 19




                         Back-propagation
                       apprendimento supervisionato

                X1
                                                                       Y1 E
                                                                          R    O
          I X2                                                            R    U
          N                                                                    T
                                                                       Y2 O
          P                                                               R    P
          U X3                                                            E    U
          T                                                            Y3      T

                X4                                                    Errore dell’unità j-ma

                                                               Variaz. di peso
Botta - Dip. di Informatica, Univ. Torino                                          Reti Neurali 20




                                                                                                     10
Errore = G(W)
• Il metodo descritto si basa sulla constatazione
  che se l’errore cambia al cambiare dei pesi allora
  l’errore può essere inteso come una funzione dei
  pesi medesimi G(W)
• G(W) avrà dei punti in cui il suo valore è
  minimo (corrispondenti a configurazioni di pesi)
• Tali punti possono essere cercati con le tecniche
  di ricerca del minimo di una funzione, che si
  basano sullo studio della sua derivata
  Botta - Dip. di Informatica, Univ. Torino         Reti Neurali 21




                    Discesa del gradiente

                                             G(W)




 • Ad ogni iterazione i pesi vengono modificati di
   una percentuale µ (learning rate)
 • µ piccolo comporta un apprendimento più lento
   ma spesso più accurato
 Botta - Dip. di Informatica, Univ. Torino          Reti Neurali 22




                                                                      11
Discesa del Gradiente
          Il fatto di muoversi nella direzione indicata dal
              gradiente non significa necessariamente
               raggiungere il minimo della funzione!

   • Se il passo è troppo lungo potrei saltare il minimo

   • Oltre al minimo globale potrebbero esistere dei
     minimi locali

 Botta - Dip. di Informatica, Univ. Torino            Reti Neurali 23




                   Discesa del Gradiente
                                        (Algoritmo)
1.Initialize all weights to small random values.

2.REPEAT until done
      1.For each weight wij set
      2.For each data point (x, t)p
           a.set input units to x
           b.compute value yj of output units
           c.For each weight wij set

         3.For each weight wij set



              In questo caso µ è il learning rate
 Botta - Dip. di Informatica, Univ. Torino            Reti Neurali 24




                                                                        12
Epoche di apprendimento
• La rete neurale viene addestrata su di un learning set
• Ogni esempio viene passato attraverso la rete calcolando
  l’errore che verrà usato per modificare i pesi
• Il learning set viene passato varie volte ogni volta si
  chiama epoca di apprendimento
• L’errore medio dovrebbe diminuire man mano
• Troppe epoche possono generare over-fitting (eccessiva
  specializzazione sulle istanze contenute nel learning set)



Botta - Dip. di Informatica, Univ. Torino               Reti Neurali 25




           Problemi legati al dominio
 • Maggiore il numero di dimensioni (spazio degli
   input) maggiore la possibile confusione

 • Rilevanza delle feature e loro dominio: x1 può
   variare fra 0.05 e 0.02 mentre x2 può variare fra
   100 e 10000, numericamente x2 pesa più di x1
   ma x1 potrebbe essere più rilevante nel definire
   il comportamento della funzione


Botta - Dip. di Informatica, Univ. Torino               Reti Neurali 26




                                                                          13
Problemi legati ai dati
Per eseguire l’apprendimento occorrono dei
  dati

• I dati possono essere costosi da ottenere
• Possono essere poco rappresentativi in
  quanto concentrati in un’area particolare
  del dominio
• Possono essere affetti da errore
Botta - Dip. di Informatica, Univ. Torino          Reti Neurali 27




                      Quante Hidden Units?
   Usando un numero arbitrariamente grande di unità
   nascoste si può approssimare qualunque funzione
   finita in un dominio finito.

 Non c’è regola a priori per dteterminarne il numero

  Il numero di unità nascoste definisce il numero di
  partizionamenti fattibili sul dominio. Aumentandone
  il numero si ottiengono suddivisioni molto fini
  (si può arrivare ad un campione per regione!!!!)

Botta - Dip. di Informatica, Univ. Torino          Reti Neurali 28




                                                                     14
Quante Hidden Units?

     Se si ha un’idea del problema si può stimare il loro
     numero (stati da codificare) se no si va a tentativi


    Un suggerimento è di cominciare provare con numeri
    piccoli (log2 ( Nin+Nout )) e crescere progressivamente




Botta - Dip. di Informatica, Univ. Torino               Reti Neurali 29




                                    Regressione
                                   1
     x1
                                                   o1
                                   2
     x2
                                   3               o2
              +1
                                   4
                                       +1

                              n             n
                      o= f (∑ ixi +w )o=∑ ixi +w
                             w 0         w 0
                             i=0            i=0



Botta - Dip. di Informatica, Univ. Torino               Reti Neurali 30




                                                                          15
Altri modelli



Botta - Dip. di Informatica, Univ. Torino                     Reti Neurali 31




                               Non solo rette!

         x2                                                        σ

                         -      - ---
                     - -      -                               µ
       Radial Basis Function Networks --
                         -        - -                     gaussiana
                       -    -

                                                Separa l’interno
                      +        +           +    dall’esterno
                           +           +
                                                Posso modificarne
                      ++           +            posizione e raggio
Botta - Dip. di Informatica, Univ. Torino                     Reti Neurali 32
                                                              x1




                                                                                16
Regole fuzzy e RBF
       If (A and B) then C

       Vecchio caldo rigido …               1
                                                            A

                                            0
                    membership                  L1   R1
      1


      0                                     1
             L                    R                         B
                        A
                                            0
                                                L2         R2

Botta - Dip. di Informatica, Univ. Torino                 Reti Neurali 33




Apprendimento non supervisionato
Es. Mappe di Kohonen

Eseguono un clustering

- si basano sulla somiglianza fra i dati
- creano raggruppamenti di dati simili
- determinano l’appartenenza di un input
  ad un gruppo
- tipicamente sono usate per ridurre il
  numero delle feature nello spazio di
  rappresentazione
Botta - Dip. di Informatica, Univ. Torino                 Reti Neurali 34




                                                                            17
Somiglianza = Vicinanza
                                                     Quando la rete
                                                     riceve un input in
                                                     fase di
                                                     apprendimento
                                                     viene selezionato
                                                     il neurone più
                                                     simile (più vicino
                                                     nello spazio degli
       Neurone: ha una sfera                         input) al dato in
       di influenza                                  questione e si
                                                     opera secondo uno
                                                     dei seguenti casi
Botta - Dip. di Informatica, Univ. Torino                       Reti Neurali 35




                                            Caso 1
                                       input simile




Botta - Dip. di Informatica, Univ. Torino                       Reti Neurali 36




                                                                                  18
Caso 2
                                      input diverso




Botta - Dip. di Informatica, Univ. Torino             Reti Neurali 37




                        struttura della rete




Botta - Dip. di Informatica, Univ. Torino             Reti Neurali 38




                                                                        19
Self-growing networks
                                             apprendimento competitivo
  Sogno: avere una rete che si costruisce da sola
  introducendo nuovi neuroni se necessario …

Tali reti esistono - alcuni modelli:
• growing cell structures (Fritzke)
• neural gas
• competitive Hebbian learning
•…

http://www.ki.inf.tu-dresden.de/~fritzke/research/incremental.html
 Botta - Dip. di Informatica, Univ. Torino                      Reti Neurali 39




                                       Idea base
 • Hard-competitive Learning

 • Dato un input un solo neurone verrà modificato -
   intuitivamente quello che codifica il caso più simile
   all’input in questione
 • Spesso i neuroni sono organizzati in una struttura di
   vicinato
 • In molti casi anche i vicini del vincitore vengono
   modificati (in misura minore)
 • Di tanto in tanto vengono aggiunti/eliminati neuroni
 Botta - Dip. di Informatica, Univ. Torino                      Reti Neurali 40




                                                                                  20
O2
           Reti Ricorrenti
                                              w3
                                                      w4

                                                     w12
           O   2
               1
               0                                             w22
                                                   w21
                                            w11

                                                                   O1
    w3             w4
                                              x0
           w21       w22    2
                            1
                            0
                                                      w3
                                                              w4
 w11
               w12                                           w12
                                                                   w22
                                                           w21
           2
           1
                                                   w11
       x

Botta - Dip. di Informatica, Univ. Torino                                Reti Neurali 41
                                                      x0




  Come si addestra una rete ricorrente

 • Il comportamento di una rete ricorrente in una
   sequenza di istanti può essere riprodotto da una rete
   feedforward costruita come nella slide precedente.
 • Note le uscite che devono essere prodotte, la rete può
   essere addestrata usando la Back-propagation
 • Le [W] nei vari stadi sono le stesse che quindi ricevono
   l’accumulo delle varie correzioni riportate negli stadi
   concatenati.
 • l’uscita può non essere nota a tutti i passi.....
Botta - Dip. di Informatica, Univ. Torino                                Reti Neurali 42




                                                                                           21
Reti a Time Delay
                                     O
                                                    La rete può essere addestrata usando la BP
                                    1
                                    4
                                    3
                                    2




                 3
                 4
                 2
                 1       2
                         3
                         1      2
                                1       1              4
                                                       3
                                                       2
                                                       1     2
                                                             3
                                                             1    2
                                                                  1    1



                         3
                         1
                         2
                         4      1
                                3
                                2       1
                                        2       1
                                                             In teoria ogni connessione può
                                                             avere un peso diverso. In pratica
                                                             si tende a dare lo stesso peso alle
                                                             connessioni che appartengono alla
                                                             stessa sequenza
                        x
    Botta - Dip. di Informatica, Univ. Torino                                        Reti Neurali 43




            Altri Tipi di Reti Basate sul Perceptron
                     Reti costruite incrementalmente

     Cascade Correlation:                                  Perceptron trees:
     si aggiunge uno strato per                            come decision tree ma
     correggere l’errore degli strati                      le condizioni sono definite
     precedenti                                            da un perceptron



                                                           Oblique trees:
                                                           le condizioni sono definite da
                                                           un iperpiano obliquo



x
    Botta - Dip. di Informatica, Univ. Torino                                        Reti Neurali 44




                                                                                                       22
Ancora.....
            Tecniche di potatura:
            - Si costruisce una rete sovradimensionata che viene
              ridotta tagliando le connessioni che sono inutili
               (quelle che sono poco influenti per l’errore)


           Tecniche ibride Simboliche Numeriche:
           - KBANN: si usa una rete di regole proposizionali
             per costruire il grafo di connessione
           - Rapture: si usa un albero di decisione per aggiungere
             neuroni ad una rete che deve essere potenziata

 Botta - Dip. di Informatica, Univ. Torino               Reti Neurali 45




Un esempio ‘biologico’ (Qian e Sejnowsky)

 • Predizione della struttura secondaria delle proteine
   a partire dalla sequenza di amminoacidi
                                             D (L)
                                             R (E)
                                         Q (E)
                       A
                       C
                       D                 G (E)
                       E
                       F
                       G                     F (E)
                       H                             H
                       I
                       K
                                             V (E)
                       L
                       M                     P (E)   E
                       N
                       P
                       Q                 A (H)
                       R
                       S
                                         A (H)       L
                       T
                       V
                       W
                       Y
                                             Y (H)
                       .
                                             V (E)
                                             K (E)
 Botta - Dip. di Informatica, Univ. TorinoK (E)          Reti Neurali 46




                                                                           23
Effetti del dimensionamento della
                        finestra

  Accuratezza della
  predizione in
  dipendenza dalla
  dimensione della
  finestra




  Botta - Dip. di Informatica, Univ. Torino    Reti Neurali 47




                          Simulazioni per imparare

http://home.cc.umanitoba.ca/~umcorbe9/anns.html#Applets
Contiene simulazioni (applet) + file sorgenti in java




  Botta - Dip. di Informatica, Univ. Torino    Reti Neurali 48




                                                                 24
Alcune risorse

   http://www.kcl.ac.uk/neuronet/
   Rete di eccellenza NEuroNet

   http://www-ra.informatik.uni-tuebingen.de/SNNS/
   Stuttgart neural network simulator




Botta - Dip. di Informatica, Univ. Torino          Reti Neurali 49




                                            FINE



Botta - Dip. di Informatica, Univ. Torino          Reti Neurali 50




                                                                     25

Weitere ähnliche Inhalte

Andere mochten auch

Reti Neurali
Reti NeuraliReti Neurali
Reti NeuraliAgabiti25
 
Corso Introduttivo alle Reti Neurali
Corso Introduttivo alle Reti NeuraliCorso Introduttivo alle Reti Neurali
Corso Introduttivo alle Reti NeuraliValerio Capozio
 
PresentazioneTesi_ManuelaTesta
PresentazioneTesi_ManuelaTestaPresentazioneTesi_ManuelaTesta
PresentazioneTesi_ManuelaTestaManuela Testa
 
Neural network & its applications
Neural network & its applications Neural network & its applications
Neural network & its applications Ahmed_hashmi
 
Prediction of Exchange Rate Using Deep Neural Network
Prediction of Exchange Rate Using Deep Neural Network  Prediction of Exchange Rate Using Deep Neural Network
Prediction of Exchange Rate Using Deep Neural Network Tomoki Hayashi
 
Financial forecastings using neural networks ppt
Financial forecastings using neural networks pptFinancial forecastings using neural networks ppt
Financial forecastings using neural networks pptPuneet Gupta
 
Artificial neural network
Artificial neural networkArtificial neural network
Artificial neural networkDEEPASHRI HK
 

Andere mochten auch (8)

Reti Neurali
Reti NeuraliReti Neurali
Reti Neurali
 
Corso Introduttivo alle Reti Neurali
Corso Introduttivo alle Reti NeuraliCorso Introduttivo alle Reti Neurali
Corso Introduttivo alle Reti Neurali
 
Le reti neurali
Le reti neuraliLe reti neurali
Le reti neurali
 
PresentazioneTesi_ManuelaTesta
PresentazioneTesi_ManuelaTestaPresentazioneTesi_ManuelaTesta
PresentazioneTesi_ManuelaTesta
 
Neural network & its applications
Neural network & its applications Neural network & its applications
Neural network & its applications
 
Prediction of Exchange Rate Using Deep Neural Network
Prediction of Exchange Rate Using Deep Neural Network  Prediction of Exchange Rate Using Deep Neural Network
Prediction of Exchange Rate Using Deep Neural Network
 
Financial forecastings using neural networks ppt
Financial forecastings using neural networks pptFinancial forecastings using neural networks ppt
Financial forecastings using neural networks ppt
 
Artificial neural network
Artificial neural networkArtificial neural network
Artificial neural network
 

Mehr von Fausto Intilla

Fausto Intilla - Pensieri sparsi. Raccolta di riflessioni e aforismi scelti.
Fausto Intilla - Pensieri sparsi. Raccolta di riflessioni e aforismi scelti.Fausto Intilla - Pensieri sparsi. Raccolta di riflessioni e aforismi scelti.
Fausto Intilla - Pensieri sparsi. Raccolta di riflessioni e aforismi scelti.Fausto Intilla
 
Dal metalinguaggio quantistico alle teorie quantistiche di confine - Fausto I...
Dal metalinguaggio quantistico alle teorie quantistiche di confine - Fausto I...Dal metalinguaggio quantistico alle teorie quantistiche di confine - Fausto I...
Dal metalinguaggio quantistico alle teorie quantistiche di confine - Fausto I...Fausto Intilla
 
QFT, gravità, entropia di entanglement e spaziotempo emergente: il nesso - In...
QFT, gravità, entropia di entanglement e spaziotempo emergente: il nesso - In...QFT, gravità, entropia di entanglement e spaziotempo emergente: il nesso - In...
QFT, gravità, entropia di entanglement e spaziotempo emergente: il nesso - In...Fausto Intilla
 
La mente a più dimensioni: Dagli spazi topologici alla Dissipative Quantum Br...
La mente a più dimensioni: Dagli spazi topologici alla Dissipative Quantum Br...La mente a più dimensioni: Dagli spazi topologici alla Dissipative Quantum Br...
La mente a più dimensioni: Dagli spazi topologici alla Dissipative Quantum Br...Fausto Intilla
 
Teorema di Noether: limiti e applicabilità – Intervista a Fausto Intilla
Teorema di Noether: limiti e applicabilità – Intervista a Fausto IntillaTeorema di Noether: limiti e applicabilità – Intervista a Fausto Intilla
Teorema di Noether: limiti e applicabilità – Intervista a Fausto IntillaFausto Intilla
 
IA: Princìpi e parametri alternativi, per una fisica alternativa – Intervista...
IA: Princìpi e parametri alternativi, per una fisica alternativa – Intervista...IA: Princìpi e parametri alternativi, per una fisica alternativa – Intervista...
IA: Princìpi e parametri alternativi, per una fisica alternativa – Intervista...Fausto Intilla
 
Attrattori, campi morfogenetici e meccanica quantistica: il nesso.
Attrattori, campi morfogenetici e meccanica quantistica: il nesso.Attrattori, campi morfogenetici e meccanica quantistica: il nesso.
Attrattori, campi morfogenetici e meccanica quantistica: il nesso.Fausto Intilla
 
Fausto Intilla: Dalla teoria dell'informazione al concetto di anima.
Fausto Intilla: Dalla teoria dell'informazione al concetto di anima.Fausto Intilla: Dalla teoria dell'informazione al concetto di anima.
Fausto Intilla: Dalla teoria dell'informazione al concetto di anima.Fausto Intilla
 
Umano, poco umano ...fatto di virus e batteri!
Umano, poco umano ...fatto di virus e batteri!Umano, poco umano ...fatto di virus e batteri!
Umano, poco umano ...fatto di virus e batteri!Fausto Intilla
 
Altre realtà. Quando la visione del mondo, non è in funzione della mente umana
Altre realtà. Quando la visione del mondo, non è in funzione della mente umanaAltre realtà. Quando la visione del mondo, non è in funzione della mente umana
Altre realtà. Quando la visione del mondo, non è in funzione della mente umanaFausto Intilla
 
Quando l'Universo ...calcola sé stesso! L'altra faccia dei buchi neri.
Quando l'Universo ...calcola sé stesso! L'altra faccia dei buchi neri.Quando l'Universo ...calcola sé stesso! L'altra faccia dei buchi neri.
Quando l'Universo ...calcola sé stesso! L'altra faccia dei buchi neri.Fausto Intilla
 
Alla ricerca del reale ...dove nulla, è come appare.
Alla ricerca del reale ...dove nulla, è come appare.Alla ricerca del reale ...dove nulla, è come appare.
Alla ricerca del reale ...dove nulla, è come appare.Fausto Intilla
 
Supremazia quantistica di Google: Mito o realtà?
Supremazia quantistica di Google: Mito o realtà?Supremazia quantistica di Google: Mito o realtà?
Supremazia quantistica di Google: Mito o realtà?Fausto Intilla
 
Gravità quantistica: A che punto siamo?
Gravità quantistica: A che punto siamo?Gravità quantistica: A che punto siamo?
Gravità quantistica: A che punto siamo?Fausto Intilla
 
Una quinta forza fondamentale della natura ...per ora solo ipotetica.
Una quinta forza fondamentale della natura ...per ora solo ipotetica.Una quinta forza fondamentale della natura ...per ora solo ipotetica.
Una quinta forza fondamentale della natura ...per ora solo ipotetica.Fausto Intilla
 
Riscaldamento globale: un'analisi obiettiva.
Riscaldamento globale: un'analisi obiettiva.Riscaldamento globale: un'analisi obiettiva.
Riscaldamento globale: un'analisi obiettiva.Fausto Intilla
 
Quantum computing: stato dell'arte e potenziali sviluppi - Intervista a Faust...
Quantum computing: stato dell'arte e potenziali sviluppi - Intervista a Faust...Quantum computing: stato dell'arte e potenziali sviluppi - Intervista a Faust...
Quantum computing: stato dell'arte e potenziali sviluppi - Intervista a Faust...Fausto Intilla
 
Aforismario 3 - Aforismi sulla saggezza del vivere
Aforismario 3 - Aforismi sulla saggezza del vivereAforismario 3 - Aforismi sulla saggezza del vivere
Aforismario 3 - Aforismi sulla saggezza del vivereFausto Intilla
 
Esperimenti sulle disuguaglianze di Bell - Dalle origini al crollo del realis...
Esperimenti sulle disuguaglianze di Bell - Dalle origini al crollo del realis...Esperimenti sulle disuguaglianze di Bell - Dalle origini al crollo del realis...
Esperimenti sulle disuguaglianze di Bell - Dalle origini al crollo del realis...Fausto Intilla
 
Dal fermione di majorana al computer quantistico.
Dal fermione di majorana al computer quantistico.Dal fermione di majorana al computer quantistico.
Dal fermione di majorana al computer quantistico.Fausto Intilla
 

Mehr von Fausto Intilla (20)

Fausto Intilla - Pensieri sparsi. Raccolta di riflessioni e aforismi scelti.
Fausto Intilla - Pensieri sparsi. Raccolta di riflessioni e aforismi scelti.Fausto Intilla - Pensieri sparsi. Raccolta di riflessioni e aforismi scelti.
Fausto Intilla - Pensieri sparsi. Raccolta di riflessioni e aforismi scelti.
 
Dal metalinguaggio quantistico alle teorie quantistiche di confine - Fausto I...
Dal metalinguaggio quantistico alle teorie quantistiche di confine - Fausto I...Dal metalinguaggio quantistico alle teorie quantistiche di confine - Fausto I...
Dal metalinguaggio quantistico alle teorie quantistiche di confine - Fausto I...
 
QFT, gravità, entropia di entanglement e spaziotempo emergente: il nesso - In...
QFT, gravità, entropia di entanglement e spaziotempo emergente: il nesso - In...QFT, gravità, entropia di entanglement e spaziotempo emergente: il nesso - In...
QFT, gravità, entropia di entanglement e spaziotempo emergente: il nesso - In...
 
La mente a più dimensioni: Dagli spazi topologici alla Dissipative Quantum Br...
La mente a più dimensioni: Dagli spazi topologici alla Dissipative Quantum Br...La mente a più dimensioni: Dagli spazi topologici alla Dissipative Quantum Br...
La mente a più dimensioni: Dagli spazi topologici alla Dissipative Quantum Br...
 
Teorema di Noether: limiti e applicabilità – Intervista a Fausto Intilla
Teorema di Noether: limiti e applicabilità – Intervista a Fausto IntillaTeorema di Noether: limiti e applicabilità – Intervista a Fausto Intilla
Teorema di Noether: limiti e applicabilità – Intervista a Fausto Intilla
 
IA: Princìpi e parametri alternativi, per una fisica alternativa – Intervista...
IA: Princìpi e parametri alternativi, per una fisica alternativa – Intervista...IA: Princìpi e parametri alternativi, per una fisica alternativa – Intervista...
IA: Princìpi e parametri alternativi, per una fisica alternativa – Intervista...
 
Attrattori, campi morfogenetici e meccanica quantistica: il nesso.
Attrattori, campi morfogenetici e meccanica quantistica: il nesso.Attrattori, campi morfogenetici e meccanica quantistica: il nesso.
Attrattori, campi morfogenetici e meccanica quantistica: il nesso.
 
Fausto Intilla: Dalla teoria dell'informazione al concetto di anima.
Fausto Intilla: Dalla teoria dell'informazione al concetto di anima.Fausto Intilla: Dalla teoria dell'informazione al concetto di anima.
Fausto Intilla: Dalla teoria dell'informazione al concetto di anima.
 
Umano, poco umano ...fatto di virus e batteri!
Umano, poco umano ...fatto di virus e batteri!Umano, poco umano ...fatto di virus e batteri!
Umano, poco umano ...fatto di virus e batteri!
 
Altre realtà. Quando la visione del mondo, non è in funzione della mente umana
Altre realtà. Quando la visione del mondo, non è in funzione della mente umanaAltre realtà. Quando la visione del mondo, non è in funzione della mente umana
Altre realtà. Quando la visione del mondo, non è in funzione della mente umana
 
Quando l'Universo ...calcola sé stesso! L'altra faccia dei buchi neri.
Quando l'Universo ...calcola sé stesso! L'altra faccia dei buchi neri.Quando l'Universo ...calcola sé stesso! L'altra faccia dei buchi neri.
Quando l'Universo ...calcola sé stesso! L'altra faccia dei buchi neri.
 
Alla ricerca del reale ...dove nulla, è come appare.
Alla ricerca del reale ...dove nulla, è come appare.Alla ricerca del reale ...dove nulla, è come appare.
Alla ricerca del reale ...dove nulla, è come appare.
 
Supremazia quantistica di Google: Mito o realtà?
Supremazia quantistica di Google: Mito o realtà?Supremazia quantistica di Google: Mito o realtà?
Supremazia quantistica di Google: Mito o realtà?
 
Gravità quantistica: A che punto siamo?
Gravità quantistica: A che punto siamo?Gravità quantistica: A che punto siamo?
Gravità quantistica: A che punto siamo?
 
Una quinta forza fondamentale della natura ...per ora solo ipotetica.
Una quinta forza fondamentale della natura ...per ora solo ipotetica.Una quinta forza fondamentale della natura ...per ora solo ipotetica.
Una quinta forza fondamentale della natura ...per ora solo ipotetica.
 
Riscaldamento globale: un'analisi obiettiva.
Riscaldamento globale: un'analisi obiettiva.Riscaldamento globale: un'analisi obiettiva.
Riscaldamento globale: un'analisi obiettiva.
 
Quantum computing: stato dell'arte e potenziali sviluppi - Intervista a Faust...
Quantum computing: stato dell'arte e potenziali sviluppi - Intervista a Faust...Quantum computing: stato dell'arte e potenziali sviluppi - Intervista a Faust...
Quantum computing: stato dell'arte e potenziali sviluppi - Intervista a Faust...
 
Aforismario 3 - Aforismi sulla saggezza del vivere
Aforismario 3 - Aforismi sulla saggezza del vivereAforismario 3 - Aforismi sulla saggezza del vivere
Aforismario 3 - Aforismi sulla saggezza del vivere
 
Esperimenti sulle disuguaglianze di Bell - Dalle origini al crollo del realis...
Esperimenti sulle disuguaglianze di Bell - Dalle origini al crollo del realis...Esperimenti sulle disuguaglianze di Bell - Dalle origini al crollo del realis...
Esperimenti sulle disuguaglianze di Bell - Dalle origini al crollo del realis...
 
Dal fermione di majorana al computer quantistico.
Dal fermione di majorana al computer quantistico.Dal fermione di majorana al computer quantistico.
Dal fermione di majorana al computer quantistico.
 

Introduzione Alle Reti Neurali (Marco Botta)

  • 1. Introduzione alle Reti Neurali Marco Botta Dipartimento di Informatica, Università di Torino Corso Svizzera 185 - 10149 Torino Giornata sul Data Mining 20 Febbraio 2002 Botta - Dip. di Informatica, Univ. Torino Reti Neurali 1 Reti Neurali • Sono approssimatori di funzioni • L’idea è ricostruire una funzione tramite la composizione di unità elementari, ciascuna delle quali è in grado di eseguire poche e semplici computazioni • Le unità sono dette neuroni (per motivi storici) Botta - Dip. di Informatica, Univ. Torino Reti Neurali 2 1
  • 2. Le Reti Neurali x1 Reti di funzioni elementari dove le uscite dell’una sono in ingresso all’altra y1 Reti Feed-forward y2 x2 Reti ricorrenti y3 Reti auto-organizzanti Molte altre sottofamiglie.... Botta - Dip. di Informatica, Univ. Torino Reti Neurali 3 Caratteristiche • Le reti neurali non eseguono istruzioni programmate ma rispondono a degli input tramite un procedimento parallelo • Non sono sequenziali (né deterministiche) • Danno risposte anche in corrispondenza di input mai visti (capacità di generalizzazione) • Incapacità di spiegare i risultati Botta - Dip. di Informatica, Univ. Torino Reti Neurali 4 2
  • 3. La rete più semplice: 1 solo neurone (Perceptron) x0 = 1 x1 w0 w1 x2 w2 n w3 ∑w xi =0 i i o x3 w4 x4 n if (∑ wi xi > 0) then 1 else 0 i =0 Botta - Dip. di Informatica, Univ. Torino Reti Neurali 5 Qual’è la semantica n ∑w x =0 i =0 i i x2 x1 Botta - Dip. di Informatica, Univ. Torino Reti Neurali 6 3
  • 4. Che cosa non può descrivere x2 x1 Si può comunque cercare di posizionare la retta in modo da minimizzare l’errore. Botta - Dip. di Informatica, Univ. Torino Reti Neurali 7 Reti a più strati 1 x1 o1 2 x2 3 o2 +1 4 +1 Se gli strati sono puramente lineari non si acquista potenza Botta - Dip. di Informatica, Univ. Torino Reti Neurali 8 4
  • 5. Funzioni non-lineari per disaccoppiare gli stadi x0 = 1 x1 w0 w1 x2 w2 n w3 ∑w x i =0 i i o x3 w4 x4 n n o = if (∑ wi xfi (> 0)wi xi ) 1 else 0 o = ∑ then i =0 i =0 Botta - Dip. di Informatica, Univ. Torino Reti Neurali 9 Squashing Functions σ(netj) netj 1 net j = ∑ w ji x i σ ( net j ) = − λnet j i 1+ e Altre forme: Tanh Poniamo per ora la richiesta che la funzione sia monotona crescente Botta - Dip. di Informatica, Univ. Torino Reti Neurali 10 5
  • 6. Il Multilayer Perceptron 1 x1 Le unità di uscita combinano i o1 contributi delle varie regioni 2 x2 3 o2 2 3 +1 4 1 +1 Le hidden units partizionano lo x2 spazio in regioni. 4 x1 Botta - Dip. di Informatica, Univ. Torino Reti Neurali 11 Quale è la potenza? - Una rete a due livelli con sigmoidi (o simili) su tutte le unità, può rappresentare qualunque funzione booleana finita. - Ogni funzione reale Rn R limitata e continua, può essere approssimata con errore arbitrariamente piccolo da una rete a due livelli con sigmoidi sulle unità nascoste e unità lineari sull’uscita. - Una qualunque funzione può essere approssimata da una rete a tre livelli in cui l’ultimo livello è costituito da funzioni lineari. Botta - Dip. di Informatica, Univ. Torino Reti Neurali 12 6
  • 7. Uso tante rette -- - - - Posso-identificare - - - chiuse - delle aree - -- - - + + + + + Ovviamente ogni retta un neurone ++ + Botta - Dip. di Informatica, Univ. Torino Reti Neurali 13 Come posizionare le rette? • Cominciamo col posizionarne un certo numero a caso • Utilizziamo un insieme di esempi noti (per i quali conosco il valore della funzione da approssimare) calcolando per ciascuno la differenza fra output ottenuto e output atteso ed utilizzando tale errore per modificare posizione e orientamento dei neuroni • È possibile compiere questa operazione in modo automatico Botta - Dip. di Informatica, Univ. Torino Reti Neurali 14 7
  • 8. Topologia Modo in cui sono collegati i nodi X1 Y1 X2 w Y2 X3 Y3 X4 Feed-forward a tre layer Botta - Dip. di Informatica, Univ. Torino Reti Neurali 15 Esempi Botta - Dip. di Informatica, Univ. Torino Reti Neurali 16 8
  • 9. Gradi di libertà • Per approssimare bene una funzione occorre un numero sufficiente di neuroni hidden. Quanti? Non esiste modo di prevederlo • I pesi vengono modificati durante la fase di apprendimento, ma le funzioni calcolate da ogni singolo neurone possono avere parametri che l’utente deve regolare Botta - Dip. di Informatica, Univ. Torino Reti Neurali 17 Apprendimento • I pesi di una rete neurale sono inizializzati a caso • La rete sarà un pessimo approssimatore della funzione di interesse • Modificando i pesi modifico la funzione realizzata dalla rete • Posso usare gli esempi per modificare i pesi dimodoché la rete divenga un approssimatore più preciso Botta - Dip. di Informatica, Univ. Torino Reti Neurali 18 9
  • 10. Apprendimento (rete costituita da un solo neurone) x1 w11 x2 w21 Out x3 w31 w41 x4 Il neurone attende che giunga un valore su ogni collegamento in input poi calcola il Net e un valore di attivazione che viene sparato su tutti i collegamenti in uscita w12 w22 w32 Errore = Target - Out w42 wi2 = wi1 + α * Errore Botta - Dip. di Informatica, Univ. Torino 0<α≤1 Reti Neurali 19 Back-propagation apprendimento supervisionato X1 Y1 E R O I X2 R U N T Y2 O P R P U X3 E U T Y3 T X4 Errore dell’unità j-ma Variaz. di peso Botta - Dip. di Informatica, Univ. Torino Reti Neurali 20 10
  • 11. Errore = G(W) • Il metodo descritto si basa sulla constatazione che se l’errore cambia al cambiare dei pesi allora l’errore può essere inteso come una funzione dei pesi medesimi G(W) • G(W) avrà dei punti in cui il suo valore è minimo (corrispondenti a configurazioni di pesi) • Tali punti possono essere cercati con le tecniche di ricerca del minimo di una funzione, che si basano sullo studio della sua derivata Botta - Dip. di Informatica, Univ. Torino Reti Neurali 21 Discesa del gradiente G(W) • Ad ogni iterazione i pesi vengono modificati di una percentuale µ (learning rate) • µ piccolo comporta un apprendimento più lento ma spesso più accurato Botta - Dip. di Informatica, Univ. Torino Reti Neurali 22 11
  • 12. Discesa del Gradiente Il fatto di muoversi nella direzione indicata dal gradiente non significa necessariamente raggiungere il minimo della funzione! • Se il passo è troppo lungo potrei saltare il minimo • Oltre al minimo globale potrebbero esistere dei minimi locali Botta - Dip. di Informatica, Univ. Torino Reti Neurali 23 Discesa del Gradiente (Algoritmo) 1.Initialize all weights to small random values. 2.REPEAT until done 1.For each weight wij set 2.For each data point (x, t)p a.set input units to x b.compute value yj of output units c.For each weight wij set 3.For each weight wij set In questo caso µ è il learning rate Botta - Dip. di Informatica, Univ. Torino Reti Neurali 24 12
  • 13. Epoche di apprendimento • La rete neurale viene addestrata su di un learning set • Ogni esempio viene passato attraverso la rete calcolando l’errore che verrà usato per modificare i pesi • Il learning set viene passato varie volte ogni volta si chiama epoca di apprendimento • L’errore medio dovrebbe diminuire man mano • Troppe epoche possono generare over-fitting (eccessiva specializzazione sulle istanze contenute nel learning set) Botta - Dip. di Informatica, Univ. Torino Reti Neurali 25 Problemi legati al dominio • Maggiore il numero di dimensioni (spazio degli input) maggiore la possibile confusione • Rilevanza delle feature e loro dominio: x1 può variare fra 0.05 e 0.02 mentre x2 può variare fra 100 e 10000, numericamente x2 pesa più di x1 ma x1 potrebbe essere più rilevante nel definire il comportamento della funzione Botta - Dip. di Informatica, Univ. Torino Reti Neurali 26 13
  • 14. Problemi legati ai dati Per eseguire l’apprendimento occorrono dei dati • I dati possono essere costosi da ottenere • Possono essere poco rappresentativi in quanto concentrati in un’area particolare del dominio • Possono essere affetti da errore Botta - Dip. di Informatica, Univ. Torino Reti Neurali 27 Quante Hidden Units? Usando un numero arbitrariamente grande di unità nascoste si può approssimare qualunque funzione finita in un dominio finito. Non c’è regola a priori per dteterminarne il numero Il numero di unità nascoste definisce il numero di partizionamenti fattibili sul dominio. Aumentandone il numero si ottiengono suddivisioni molto fini (si può arrivare ad un campione per regione!!!!) Botta - Dip. di Informatica, Univ. Torino Reti Neurali 28 14
  • 15. Quante Hidden Units? Se si ha un’idea del problema si può stimare il loro numero (stati da codificare) se no si va a tentativi Un suggerimento è di cominciare provare con numeri piccoli (log2 ( Nin+Nout )) e crescere progressivamente Botta - Dip. di Informatica, Univ. Torino Reti Neurali 29 Regressione 1 x1 o1 2 x2 3 o2 +1 4 +1 n n o= f (∑ ixi +w )o=∑ ixi +w w 0 w 0 i=0 i=0 Botta - Dip. di Informatica, Univ. Torino Reti Neurali 30 15
  • 16. Altri modelli Botta - Dip. di Informatica, Univ. Torino Reti Neurali 31 Non solo rette! x2 σ - - --- - - - µ Radial Basis Function Networks -- - - - gaussiana - - Separa l’interno + + + dall’esterno + + Posso modificarne ++ + posizione e raggio Botta - Dip. di Informatica, Univ. Torino Reti Neurali 32 x1 16
  • 17. Regole fuzzy e RBF If (A and B) then C Vecchio caldo rigido … 1 A 0 membership L1 R1 1 0 1 L R B A 0 L2 R2 Botta - Dip. di Informatica, Univ. Torino Reti Neurali 33 Apprendimento non supervisionato Es. Mappe di Kohonen Eseguono un clustering - si basano sulla somiglianza fra i dati - creano raggruppamenti di dati simili - determinano l’appartenenza di un input ad un gruppo - tipicamente sono usate per ridurre il numero delle feature nello spazio di rappresentazione Botta - Dip. di Informatica, Univ. Torino Reti Neurali 34 17
  • 18. Somiglianza = Vicinanza Quando la rete riceve un input in fase di apprendimento viene selezionato il neurone più simile (più vicino nello spazio degli Neurone: ha una sfera input) al dato in di influenza questione e si opera secondo uno dei seguenti casi Botta - Dip. di Informatica, Univ. Torino Reti Neurali 35 Caso 1 input simile Botta - Dip. di Informatica, Univ. Torino Reti Neurali 36 18
  • 19. Caso 2 input diverso Botta - Dip. di Informatica, Univ. Torino Reti Neurali 37 struttura della rete Botta - Dip. di Informatica, Univ. Torino Reti Neurali 38 19
  • 20. Self-growing networks apprendimento competitivo Sogno: avere una rete che si costruisce da sola introducendo nuovi neuroni se necessario … Tali reti esistono - alcuni modelli: • growing cell structures (Fritzke) • neural gas • competitive Hebbian learning •… http://www.ki.inf.tu-dresden.de/~fritzke/research/incremental.html Botta - Dip. di Informatica, Univ. Torino Reti Neurali 39 Idea base • Hard-competitive Learning • Dato un input un solo neurone verrà modificato - intuitivamente quello che codifica il caso più simile all’input in questione • Spesso i neuroni sono organizzati in una struttura di vicinato • In molti casi anche i vicini del vincitore vengono modificati (in misura minore) • Di tanto in tanto vengono aggiunti/eliminati neuroni Botta - Dip. di Informatica, Univ. Torino Reti Neurali 40 20
  • 21. O2 Reti Ricorrenti w3 w4 w12 O 2 1 0 w22 w21 w11 O1 w3 w4 x0 w21 w22 2 1 0 w3 w4 w11 w12 w12 w22 w21 2 1 w11 x Botta - Dip. di Informatica, Univ. Torino Reti Neurali 41 x0 Come si addestra una rete ricorrente • Il comportamento di una rete ricorrente in una sequenza di istanti può essere riprodotto da una rete feedforward costruita come nella slide precedente. • Note le uscite che devono essere prodotte, la rete può essere addestrata usando la Back-propagation • Le [W] nei vari stadi sono le stesse che quindi ricevono l’accumulo delle varie correzioni riportate negli stadi concatenati. • l’uscita può non essere nota a tutti i passi..... Botta - Dip. di Informatica, Univ. Torino Reti Neurali 42 21
  • 22. Reti a Time Delay O La rete può essere addestrata usando la BP 1 4 3 2 3 4 2 1 2 3 1 2 1 1 4 3 2 1 2 3 1 2 1 1 3 1 2 4 1 3 2 1 2 1 In teoria ogni connessione può avere un peso diverso. In pratica si tende a dare lo stesso peso alle connessioni che appartengono alla stessa sequenza x Botta - Dip. di Informatica, Univ. Torino Reti Neurali 43 Altri Tipi di Reti Basate sul Perceptron Reti costruite incrementalmente Cascade Correlation: Perceptron trees: si aggiunge uno strato per come decision tree ma correggere l’errore degli strati le condizioni sono definite precedenti da un perceptron Oblique trees: le condizioni sono definite da un iperpiano obliquo x Botta - Dip. di Informatica, Univ. Torino Reti Neurali 44 22
  • 23. Ancora..... Tecniche di potatura: - Si costruisce una rete sovradimensionata che viene ridotta tagliando le connessioni che sono inutili (quelle che sono poco influenti per l’errore) Tecniche ibride Simboliche Numeriche: - KBANN: si usa una rete di regole proposizionali per costruire il grafo di connessione - Rapture: si usa un albero di decisione per aggiungere neuroni ad una rete che deve essere potenziata Botta - Dip. di Informatica, Univ. Torino Reti Neurali 45 Un esempio ‘biologico’ (Qian e Sejnowsky) • Predizione della struttura secondaria delle proteine a partire dalla sequenza di amminoacidi D (L) R (E) Q (E) A C D G (E) E F G F (E) H H I K V (E) L M P (E) E N P Q A (H) R S A (H) L T V W Y Y (H) . V (E) K (E) Botta - Dip. di Informatica, Univ. TorinoK (E) Reti Neurali 46 23
  • 24. Effetti del dimensionamento della finestra Accuratezza della predizione in dipendenza dalla dimensione della finestra Botta - Dip. di Informatica, Univ. Torino Reti Neurali 47 Simulazioni per imparare http://home.cc.umanitoba.ca/~umcorbe9/anns.html#Applets Contiene simulazioni (applet) + file sorgenti in java Botta - Dip. di Informatica, Univ. Torino Reti Neurali 48 24
  • 25. Alcune risorse http://www.kcl.ac.uk/neuronet/ Rete di eccellenza NEuroNet http://www-ra.informatik.uni-tuebingen.de/SNNS/ Stuttgart neural network simulator Botta - Dip. di Informatica, Univ. Torino Reti Neurali 49 FINE Botta - Dip. di Informatica, Univ. Torino Reti Neurali 50 25