Informatica neuromorfica. Le tecnologie di calcolo neuromorfico saranno importanti per il futuro dell’informatica, ma gran parte del lavoro nel campo dell’informatica neuromorfica si è concentrato sullo sviluppo dell’hardware. In questa sede, passiamo in rassegna i recenti risultati ottenuti negli algoritmi e nelle applicazioni del calcolo neuromorfico. Evidenziamo le caratteristiche delle tecnologie di calcolo neuromorfico che le rendono interessanti per il futuro dell’informatica e discutiamo le opportunità di sviluppo futuro di algoritmi e applicazioni su questi sistemi.
Con l’avvicinarsi della fine della legge di Moore e la fine dello scaling di Dennard, la comunità informatica guarda sempre più a nuove tecnologie per consentire continui miglioramenti delle prestazioni. I computer neuromorfici sono una di queste nuove tecnologie di calcolo. Il termine neuromorfico è stato coniato da Carver Mead alla fine degli anni ’80 e all’epoca si riferiva principalmente alle implementazioni miste analogico-digitali dell’elaborazione ispirata al cervello; tuttavia, con la continua evoluzione del settore e con l’avvento di opportunità di finanziamento su larga scala per i sistemi di elaborazione ispirati al cervello, come il progetto Synapse della DARPA e lo Human Brain Project dell’Unione Europea, il termine neuromorfico è arrivato a comprendere una più ampia varietà di implementazioni hardware.
Definiamo i computer di Informatica neuromorfica come computer non Von Neumann la cui struttura e funzione sono ispirate al cervello e che sono composti da neuroni e sinapsi. I computer Von Neumann sono composti da CPU e unità di memoria separate, dove i dati e le istruzioni sono memorizzati in quest’ultima. In un computer neuromorfico, invece, sia l’elaborazione che la memoria sono governate dai neuroni e dalle sinapsi. I programmi nei computer neuromorfi sono definiti dalla struttura della rete neurale e dai suoi parametri, piuttosto che da istruzioni esplicite come in un computer di von Neumann. Inoltre, mentre i computer di von Neumann codificano le informazioni come valori numerici rappresentati da valori binari, i computer neuromorfici ricevono in ingresso i picchi, dove il tempo associato in cui si verificano, la loro grandezza e la loro forma possono essere utilizzati per codificare informazioni numeriche. I valori binari possono essere trasformati in spike e viceversa, ma il modo preciso di effettuare questa conversione è ancora un’area di studio dell’informatica neuromorfa.
Date le suddette caratteristiche contrastanti tra le due architetture, i computer neuromorfi presentano alcune differenze operative fondamentali:
- Funzionamento altamente parallelo: i computer neuromorfici sono intrinsecamente paralleli, dove tutti i neuroni e le sinapsi possono potenzialmente operare simultaneamente; tuttavia, i calcoli eseguiti da neuroni e sinapsi sono relativamente semplici se confrontati con i sistemi parallelizzati di von Neumann.
- Elaborazione e memoria collocate: nell’hardware neuromorfico non esiste una nozione di separazione tra elaborazione e memoria. Sebbene a volte si pensi ai neuroni come unità di elaborazione e alle sinapsi come memoria, in molte implementazioni sia i neuroni che le sinapsi eseguono l’elaborazione e memorizzano i valori. La collocazione dell’elaborazione e della memoria aiuta a mitigare il collo di bottiglia di von Neumann relativo alla separazione processore/memoria, che causa un rallentamento del massimo throughput raggiungibile. Inoltre, questa collocazione aiuta a evitare gli accessi ai dati dalla memoria principale, come nei sistemi di elaborazione convenzionali, che consumano una quantità considerevole di energia rispetto all’energia di calcolo4.
- Scalabilità intrinseca: i computer neuromorfici sono destinati a essere intrinsecamente scalabili, poiché l’aggiunta di ulteriori chip neuromorfici comporta un aumento del numero di neuroni e sinapsi realizzabili. È possibile prendere più chip neuromorfici fisici e trattarli come un’unica grande implementazione neuromorfica per eseguire reti sempre più grandi. Questo è stato realizzato con successo in una serie di sistemi hardware neuromorfici su larga scala, tra cui SpiNNaker5,6 e Loihi7.
- Calcolo guidato dagli eventi: i computer neuromorfici sfruttano il calcolo guidato dagli eventi (ovvero il calcolo solo quando i dati sono disponibili) e l’attività temporalmente rada per consentire un calcolo estremamente efficiente. I neuroni e le sinapsi eseguono il lavoro solo quando ci sono picchi da elaborare e, in genere, i picchi sono relativamente scarsi nell’ambito del funzionamento della rete.
- Stocasticità: i computer neuromorfici possono includere una nozione di casualità, ad esempio nell’accensione dei neuroni, per tenere conto del rumore.
Le caratteristiche di un computer neuromorfico sono ben note in letteratura e sono indicate come motivazioni per la loro implementazione e il loro utilizzo. Una delle caratteristiche più interessanti dei computer neuromorfi per il calcolo è il loro funzionamento a bassissimo consumo: spesso possono operare con ordini di grandezza inferiori rispetto ai sistemi di calcolo tradizionali. Questo funzionamento a basso consumo è dovuto alla loro natura guidata dagli eventi e alla loro natura massicciamente parallela, in cui tipicamente solo una piccola parte dell’intero sistema è attiva in qualsiasi momento, mentre il resto è inattivo. A causa dell’aumento del costo energetico dell’informatica e del numero crescente di applicazioni in cui vi sono vincoli energetici (come le applicazioni di edge computing), l’efficienza energetica è di per sé un motivo convincente per studiare l’uso dei computer neuromorfici. Inoltre, poiché implementano intrinsecamente il calcolo in stile rete neurale, i computer neuromorfi sono una piattaforma naturale per molte delle attuali applicazioni di intelligenza artificiale e apprendimento automatico. Si promette anche di sfruttare le proprietà computazionali intrinseche dei computer neuromorfi per eseguire un’ampia gamma di tipi di calcolo diversi.
Ognuna di queste caratteristiche dei computer neuromorfi si ispira alle caratteristiche del cervello e negli ultimi anni sono state considerate prioritarie nell’implementazione dei computer neuromorfi; tuttavia, non è chiaro se siano gli unici aspetti dei cervelli biologici importanti per l’esecuzione di calcoli. Ad esempio, sebbene i neuroni e le sinapsi siano stati scelti come unità computazionali primarie dei computer neuromorfici, esistono diversi altri tipi di componenti neurali che possono essere utili per la computazione, tra cui le cellule gliali. Inoltre, neuroni e sinapsi hanno rappresentato un comodo livello di astrazione per i computer neuromorfici, ma se siano il livello di astrazione più appropriato è ancora una questione aperta.
A differenza di alcune tecnologie informatiche del futuro, molte realizzazioni fisiche di hardware neuromorfico sono attualmente in fase di sviluppo o addirittura disponibili per la comunità di ricerca. Sono stati sviluppati diversi computer neuromorfici su larga scala, con una varietà di approcci e obiettivi. Lo Human Brain Project dell’Unione Europea ha sponsorizzato lo sviluppo di SpiNNaker e BrainScaleS per consentire simulazioni di neuroscienze su scala. È stato proposto anche un processore neuromorfico digitale ottimizzato, chiamato ODIN (online-learning digital spiking neuromorphic) , che consente di utilizzare modelli di neuroni leggermente più complessi. Una delle piattaforme di Informatica neuromorfica che mirano a calcoli più generali per classi di applicazioni più ampie è il chip Tianjic, una piattaforma che supporta sia le reti neurali neuromorfiche spiking che le tradizionali reti neurali artificiali per diverse categorie di problemi. Sia l’industria che il mondo accademico si sono interessati ai sistemi neuromorfici: nell’industria, alcuni esempi includono TrueNorth di IBM e Loihi di Intel, e ci sono anche una serie di sforzi accademici, tra cui DYNAPs, Neurogrid25, IFAT e BrainScales. L’utilità dell’hardware neuromorfico, come BrainScales-2, è stata dimostrata nell’esecuzione di ottimizzazioni per scenari di apprendimento per l’apprendimento (vale a dire, in cui un processo di ottimizzazione viene utilizzato per definire il modo in cui avviene l’apprendimento) per le reti neurali spiking, che funzionano a tempi molto accelerati rispetto a quelli biologici.
Tutti i computer di Informatica neuromorfica su larga scala sopra citati sono basati sul silicio e sono stati implementati utilizzando la tecnologia convenzionale dei semiconduttori complementari a ossido metallico; tuttavia, nella comunità neuromorfica è in corso un’enorme quantità di ricerca sullo sviluppo di nuovi tipi di materiali per le implementazioni neuromorfiche, come gli isolanti topologici a cambiamento di fase, ferroelettrici, non filamentosi o le biomembrane drogate da canali . Un approccio popolare in letteratura è l’utilizzo di memristori come dispositivo fondamentale per avere una memoria resistiva per collocare l’elaborazione e la memoria, ma sono stati utilizzati anche altri tipi di dispositivi per implementare computer neuromorfici, compresi i dispositivi optoelettronici. Ogni dispositivo e materiale utilizzato per implementare i computer neuromorfici ha caratteristiche operative uniche, come la velocità di funzionamento, il consumo energetico e il livello di somiglianza con la biologia. La diversità dei dispositivi e dei materiali utilizzati per implementare l’hardware neuromorfico offre oggi l’opportunità di personalizzare le proprietà richieste per una determinata applicazione.
La maggior parte della ricerca nel campo dell’informatica neuromorfa oggi rientra nell’ambito dei sistemi hardware, dei dispositivi e dei materiali sopra citati; tuttavia, per utilizzare nel modo più efficace i computer neuromorfi in futuro, sfruttare tutte le loro caratteristiche computazionali uniche e contribuire a guidarne la progettazione hardware, è necessario collegarli agli algoritmi e alle applicazioni neuromorfe. Da questa prospettiva, forniamo una panoramica dello stato attuale dell’arte degli algoritmi e delle applicazioni di Informatica neuromorfica e forniamo una visione prospettica delle opportunità per il futuro del calcolo neuromorfico nell’informatica e nella scienza computazionale. Vale la pena notare che il termine informatica neuromorfa è stato utilizzato per un’ampia gamma di tecnologie diverse. Come già detto, la definizione originale comprendeva solo le implementazioni miste analogico-digitali. In questo lavoro, consideriamo neuromorfi tutti i tipi di implementazioni hardware (digitali, miste analogico-digitali, analogiche), ma limitiamo la nostra attenzione ai computer neuromorfi spiking, cioè quelli che implementano reti neurali spiking.

Algoritmi e applicazioni nell’ Informatica neuromorfica
La programmazione di un computer neuromorfico spesso comporta la creazione di una rete neurale spiking (SNN) che può essere implementata in quel computer neuromorfico (vedi Box 1). Le SNN traggono un ulteriore livello di ispirazione dai sistemi neurali biologici nel modo in cui eseguono il calcolo; in particolare, i neuroni e le sinapsi delle SNN includono le nozioni di tempo nella maggior parte dei computer neuromorfici. Ad esempio, i neuroni spike possono perdere carica nel tempo in base a una particolare costante di tempo e i neuroni e/o le sinapsi nelle SNN possono avere un ritardo temporale associato.
Gli algoritmi per le implementazioni neuromorfiche spesso richiedono la definizione di una SNN per una determinata applicazione. Esiste un’ampia varietà di approcci algoritmici per i sistemi informatici neuromorfi che rientrano in due grandi categorie: (1) algoritmi per l’addestramento o l’apprendimento di una SNN da implementare in un computer neuromorfico (Fig. 2); e (2) algoritmi di apprendimento non meccanico in cui le SNN sono costruite a mano per risolvere un particolare compito. Vale la pena notare che gli algoritmi di formazione e apprendimento si riferiscono al meccanismo di ottimizzazione dei parametri di una SNN (tipicamente i pesi sinaptici) per un particolare problema.
(fonte)
Innovaformazione, scuola informatica specialistica segue tutti i nuovi tred del mercato IT.
Per leggere altri articoli di settore potete visionare tutte le sezioni del blog QUI.
