Le reti neurali sono diventate uno degli strumenti più usati ed inflazionati per risolvere una grande varietà di problemi che ricadono sotto l’etichetta generalista machine learning.
Una grande varietà di supporti tecnologici sono stati sviluppati per garantire l’adozione delle reti neurali in contesti sempre più ampi. Senza nulla togliere agli altri, le prime due tecnologie che mi vengono in mente sono TensorFlow e le TPU.
Senza andare nello specifico, voglio far notare che alla base di ogni modello di rete neurale esiste un processo di addestramento. Questo ha lo scopo di determinare i pesi migliori dei neuroni della rete da addestrare mediante l’analisi di un numero potenzialmente grande di “scenari d’esempio”.
Questi processi di addestramento non sono altro che modelli di ottimizzazione, disegnati per trovare i pesi dei neuroni che minimizzano la distanza tra l’output complessivo della rete e il risultato atteso, per tutti gli scenari d’esempio.
E’ per questo motivo che si stanno formano figure professionali specifiche e specializzate in optimization for machine learning.
Ad esempio, la struttura dei problemi da ottimizzare è detta sparsa, perché ogni variabile di input e in relazione con poche altre variabili di input. Inoltre il concetto di vicinanza tra l’output ottenuto e quello atteso si esprime con metriche articolate, in due o più variabili, formando le così dette funzioni multi-obiettivo. Infine, agli scenari d’esempio è possibili attribuire una probabilità di accadimento, portando alla formulazione di problemi di ottimizzazione stocastica.
Commenti