Table of Contents

indice

Reti neurali (o neuronali)

Un sistema nervoso biologico è composto da un insieme di cellule nervose (neuroni) collegate tra di loro. Le reti neurali cercano di simulare, con un modello matematico, il comportamento di un sistema biologico. Le reti neurali di prima generazione riescono a realizzare solo delle funzioni matematiche.

Reti neurali Artificiali (ANN)

In biologia i neuroni si possono classificare in sensitivi e motori. Analogamente anche nelle reti neurali artificiali si ricevono dati di ingresso e producono dati di uscita. Nella seguente figura i neuroni sensitivi che ricevono dati in ingresso sono colorati in azzurro, e i neuroni motori, che producono dati in output, in arancio. Tuttavia, invece del termine neurone, si usa il termine percettrone.

Dimensioni

Il numero di neuroni in input determina la dimensione dello spazio dei dati di input. Serve una ulteriore dimensione per ogni ulteriore grado di libertà dello spazio di input. Lo stesso si può dire per la dimensione dell'output e dello spazio di output. Per comprendere perché una rete può produrre in output un vettore invece che uno scalare, si veda come si risolvono i problemi di classificazione

Semplificando un po' la realtà, si può dire che un neurone è una cellula composta da:

Il neurone ha limitate capacità di elaborazione, ma il sistema rete neurale può elaborare dati grazie all'elevato numero di neuroni e di interconnessioni tra neuroni. Analogamente anche il percettrone ha diverse linee di input. L'output prodotto dal percettrone è il risultato di una funzione di attivazione (lineare oppure non lineare)

Utilizzi

Attualmente le reti neurali possono fornire soluzioni a problemi come il riconoscimento di forme, o simili, come il raggruppamento in categorie di oggetti. Quindi riescono ad applicare regole semplici anche per i problemi complessi, senza il bisogno di dover fornire esplicitamente queste regole, utilizzando solo un addestramento iniziale. In breve, si usano quando non esiste un algoritmo noto.

Alcune delle caratteristiche distintive delle reti neurali (artificiali) rispetto ai tradizionali sistemi di elaborazione automatica dei dati sono:

Possono risolvere diversi tipi di problemi e applicazioni

Apprendimento oppure Ottimizzazione?

Durante la fase di apprendimento (o addestramento) vengono sistemati sulle connessioni tra i neuroni (sinapsi) dei pesi (numerici) che determinano e modificano l'output. L'addestramento iniziale (con input prestabiliti) può essere ripetuto così a lungo da ottenere per questi input esattamente le risposte attese per input di cui sono noti gli output, ma questo potrebbe portare ad ottenere risposte errate per altri input (overfitting).

Per questo motivo, durante l'addestramento, si svolge una specie di problema di ottimizzazione: non si desidera fissare dei pesi che producono tutti i risultati attesi, ma quelli che minimizzano l'errore quadratico medio considerando l'intero gruppo di dati.

Approfondimento

metodi risolutivi del precedente problema di ottimizzazione:

  1. standard optimization heuristics
    1. simulated annealing
  2. gradient descent algorithms
    1. backpropagation (richiede di conoscere gli output desiderati) > apprendimento supervisionato
    2. RPROP
    3. quickprop
  3. metodo dei minimi quadrati
  4. regressione lineare