Spiking Neural Network

Una nuova tipologia di reti neurali che rappresentano un grande passo in avanti nell’intelligenza artificiale e una nuova frontiera del machine learning.

Le reti neurali artificiali, sistemi software e/o hardware che imitano il funzionamento dei neuroni del cervello umano,  sono alla base degli sviluppi teorici e pratici dell’intelligenza artificiale. Vi è ancora molto da imparare su come un cervello biologico funziona, ma ricercatori e scienziati, con un approccio multidisciplinare, sono sempre più in grado di  comprendere come avvengono i processi cognitivi e con intuizioni tecnologiche innovative si sta riuscendo a produrre sistemi con un elevato livello di emulazione. Detto diversamente, perché inventare qualcosa che già esiste in natura? Il problema è semmai quello di ben comprendere le fenomenologie biologiche e poi riprodurle il meglio possibile, e questo è il caso delle il caso delle Spiking Neural Network

Reti neurali CNN

I ricercatori che si occupano di reti neurali artificiali stanno seguendo più linee di indagine diverse per arrivare a strutture che possano garantire le migliori performance, sia come velocità che come consumi energetici, e al momento l’impegno si sta concentrado su due tipologie, le Convolutional Neural Networks (CNN) e le Spiking Neural Network (SNN). Per quanto entrambe le tipologie si ispirino a come un cervello biologico elabora le informazioni, molte sono le differenze a livello di implementazione artificiale. Come base,da ricordare che gli stimoli in input al cervello, siano essi di tipo visivo, uditivo, olfattico o di altra forma, sono elaborati attraverso una successione gerarchica di neuroni, interconnessi da una densa rete di sinapsi. Questi stimoli attivano alcuni neuroni mentre altri non danno risposta alcuna, generando in tal modo una specie di filtro le cui caratteristiche estremamente discriminanti permettono di individuare, identificare e memorizzare differenti categorie di informazioni. Passando all’equivalente artificiale, le reti CNN e SNN sono concettualmente simili come organizzazione, ma differiscono per la natura dei dati che elaborano e nel modo in cui questo avviene. Per le CNN la funzionalità dei neuroni biologici viene emulata utilizzando un approccio puramente matematico basato sull’algebra lineare, specializzazione della matematica centrata su vettori, spazi vettoriali, trasformazioni lineari e sistemi di equazioni lineari, con cui si studiano i fenomeni fisici cosiddetti lineari, esenti cioè da distorsioni e turbolenze o comportamenti caotici. I dati sono forniti tramite un certo numero di input, moltiplicati per quello che viene definito come il loro peso sinaptico, con successiva propagazione attraverso un layer di attivazione di tipo stocastico, denominazione che si applica a procedimenti e modelli dedicati a descrivere e studiare situazioni che variano in base a leggi probabilistiche, e non deterministiche, tipiche della fenomenologia naturale. Questo processo viene ripetuto più volte, da cui le Deep Neural Network. Nella fase di training della rete l’operazione è ripetuta per ogni “data sample” di un dataset che può anche essere dell’ordine dei terabyte, con ogni output confrontato con il valore atteso, e la discrepanza tra uscita corretta e uscita calcolata è aggiunta alla “cost function”, funzione da minimizzarsi, fino a diventare inessenziale. Il processo richiede sia una potenza di elaborazione elevata, anche messa a disposizione da server in Cloud che utilizzano CPU, GPU o ASIC custom, che tempi molto lunghi, dalle ore, ai giorni fino alle settimane, con conseguente importante impatto economico.

LASCIA UN COMMENTO

Please enter your comment!
Please enter your name here