Neural Networks
Si dice che le reti neurali funzionano bene perche imitano le reti neurali del cervello umano.  C’e del vero. L’implementazione dei nodi delle NN somiglia effettivamente alla struttura dei neuroni reali.
Ma e un po’ forzato dire che imitano il cervello, dato che processi come la back propagation sono essenziali per le NN.

I primi aeroplani erano modellati su pipistrelli e uccelli. L’aereo dei fratelli Wright aveva in qualche modo quella forma. Ma non si puo dire che gli aerei moderni imitino pipistrelli o uccelli.
Lo stesso vale per le NN. Sono partite dall’imitazione del cervello umano per replicare l’intelligenza umana, ma la ricerca recente nel DL si discosta molto dal funzionamento umano.
Il punto e: non dare per scontato che le NN funzionino perche imitano gli umani. Bisogna analizzare matematicamente perche funzionano.
Definizione
Le neural network sono approssimatori di funzioni che impilano trasformazioni affini seguite da trasformazioni non lineari.
- Approssimano funzioni.
- Implementate in modo non lineare tramite funzioni di attivazione.
Linear Neural Network
Dati semplici

Definiamo dati, modello e loss come sopra. Ora troviamo w e b ottimali, i parametri del modello.
 
E un problema di regressione lineare con funzione convessa e pochi dati di training, quindi esistono sicuramente metodi per trovare w e b ottimali in un colpo solo. Ma nel DL si usa la back propagation come mostrato sopra.
Obiettivo della back propagation: aggiornare i parametri nella direzione che minimizza la loss. Ho spiegato la back propagation in dettaglio in un altro post, quindi non approfondisco qui.

Dati piu grandi
 I pesi vengono rappresentati con matrici. L’obiettivo e inviare x a y tramite W e b.
Impilamento di piu layer

Per impilare piu layer, si puo esprimere il tutto come prodotto di pesi. La forma sopra e una composizione della formula base vista prima (il bias e omesso).
L’intenzione era creare un multi-layer con hidden layer, ma il risultato e di fatto un singolo layer. Perche W2 e W1 collassano in un unico peso tramite il prodotto matriciale.
 Quindi bisogna prima applicare una trasformazione non lineare, poi combinarla con una trasformazione lineare, per ottenere l’effetto di impilamento dei layer.
Funzioni di attivazione
 Quale sia la migliore dipende dal problema.
Oltre le Neural Network lineari
 Su qualsiasi insieme compatto K, qualsiasi funzione continua puo essere approssimata con precisione arbitraria con un solo hidden layer. => Questo implica solo l’esistenza. Non garantisce che la NN che addestro approssimera la funzione che voglio.
Dimostra solo il potere espressivo delle NN.
Loss Function

La cross entropy si usa nei problemi di classificazione.
Le label nella classificazione sono tipicamente rappresentate come vettori one-hot. Solo la dimensione da classificare ha un valore; il resto e tutto 0. Il valore in se non importa — puo essere 1 o 1000000. L’importante e che sia distinto dagli altri valori.
La cross entropy si usa per esprimere questa proprieta matematicamente.
In alternativa, supponiamo di voler costruire un modello per stimare la fascia d’eta da foto di volti. In quel caso, l’output viene solitamente espresso come probabilita, implementato usando la log likelihood tramite MSE.