Oltre Von Neumann: i chip neuromorfici sono i mattoni di un nuovo modello di computazione, il neuromorphic computing, che promette di superare l’architettura hardware alla base degli attuali computer.
Tra gli obiettivi, l’elaborazione e l’interazione con grandi quantità di dati in tempo reale e in parallelo, ad altissime velocità, con una migliore gestione dell’imprevisto e dell’evento inaspettato. Senza clock, senza ordine prestabilito, in modo asincrono e a bassissimo consumo energetico. All’orizzonte, una nuova generazione di dispositivi IoT in grado di parlare, vedere, interagire, muoversi e decidere sempre meglio. Ma come?
Cosa sono i chip neuromorfici
I chip neuromorfici sono dei microprocessori che imitano il funzionamento dei neuroni.
Chip, in informatica, è infatti sinonimo di microprocessore: una piccola piastra, generalmente in silicio, su cui vengono implementati uno o più circuiti elettronici integrati che hanno il compito di elaborare i dati in entrata (input) e generare risposte in uscita (output). Se il microprocessore ha un solo circuito, si parla di microprocessore monolitico. Se programmato per scopi generali (general purpose) il microprocessore viene inserito in un computer, se per scopi specifici (special purpose) diventa il fulcro di un sistema embedded, la “centralina di elaborazione” che controlla e monitora dall’interno consolle, POS, decoder, cellulari, elettrodomestici.
Un chip microprocessore contiene la CPU – l’unità centrale di elaborazione, che dialoga con la memoria RAM, ovvero la memoria di sistema ed esecuzione, e la memoria ROM, ovvero la memoria di archivio: è collegata a entrambe tramite piste in rame, dette “bus”, che trasportano gli impulsi elettrici e collegano la CPU alle “periferiche” (sistemi di alimentazione e raffreddamento, sensori, attuatori).
Il “sistema a bus”, evoluzione dell’architettura di Von Neumann, richiede tempo ed energia: in particolare, l’insieme delle limitazioni dovute alla lettura e allo spostamento dei dati avanti e indietro per la memorizzazione viene chiamato “collo di bottiglia di von Neumann”.
Inoltre, i diversi circuiti all’interno del microprocessore hanno bisogno di capire quando ritenere validi i segnali in ingresso: la computazione tradizionale funziona a ritmo di clock, il segnale che sincronizza le operazioni. Una CPU è tanto più potente, quindi in grado di svolgere più elaborazioni, quanto maggiore è la frequenza dei clock, il numero di colpi eseguiti in un dato intervallo di tempo.
Il nostro cervello non elabora così. Ha circa 86 miliardi di neuroni (di cui 16 nella corteccia cerebrale e 69 nel cervelletto), cellule specializzate nel raccogliere, elaborare e trasferire impulsi nervosi. Neuroni formati dai dendriti, che ricevono i segnali in entrata, e dall’assone, che li conduce in uscita. Neuroni collegati tra loro dalle sinapsi, in processi elettrochimici: la “distanza” tra un neurone e l’altro viene colmata dalla trasformazione dei segnali elettrici in sostanze chimiche (i neurotrasmettori), catturate da appositi recettori sulla membrana del neurone “ricevente”, che le ritrasforma in impulsi elettrici. Per ogni neurone, si calcolano tra le 5000 e le 100.000 sinapsi, mentre non si conosce il numero totale di sinapsi nel cervello, stimato tra 1013 e 1015.
I neuroni si attivano in modi diversi in base a quanti e quali ioni attraversano una sinapsi: sinapsi che si creano e rimodellano continuamente, in relazione alle interazioni con l’esterno (plasticità neuronale). Ogni informazione attiva un circuito neurale, che, se l’esperienza viene ripetuta, si rafforza.
La simulazione di 100 trilioni di sinapsi con modelli semplici, attraverso il supercomputer Sequoia del Lawrence Livermore National Lab statunitense, è stata 1500 volte più lenta del reale e, anche se ne avesse riprodotto i tempi, avrebbe richiesto 12 GW di energia, mentre il cervello umano impiega solo 20 watt. Il consumo energetico di una lampadina.
Video: La differenza tra computazione classica e neuromorfica – Intel (in inglese)
I diversi tipi di recettori (tattili, olfattivi, uditivi, visivi) trasmettono gli impulsi nervosi fino alla corteccia cerebrale, la parte del cervello attraversata da profonde fenditure, le circonvoluzioni cerebrali, che distinguono i diversi lobi: temporale, da cui dipendono equilibrio e udito; parietale, da cui dipendono gusto e tatto; frontale, che regola i movimenti volontari; occipitale, il lobo relativo alla visione.
I chip neuromorfici che imitano il funzionamento dei neuroni si ispirano proprio al funzionamento delle reti neurali naturali nella corteccia cerebrale.
Come funzionano i chip neuromorfici
I chip neuromorfici ad autoapprendimento funzionano grazie alle reti neurali artificiali, sistemi di computazione per connessioni. Reti plastiche, che cambiano i pesi delle connessioni a seconda dell’interazione con l’esterno, così come avviene nelle sinapsi naturali. “Pesi” che sono gradienti di segnali che superano la logica binaria on/off della computazione (e del chip) tradizionale. Le reti neurali di apprendimento artificiale sono composte da livelli (layer) di astrazione progressiva: ogni livello elabora i dati del precedente e li fornisce al successivo.
Nel 2014 un team di ricercatori di IBM e Cornell University ha presentato TrueNorth, chip neuromorfico che non funziona per “clock” ma “per picchi”: le sue componenti si attivano solo quando la carica elettrica raggiunge uno specifico valore, senza rigide scansioni temporali. Realizzato nell’ambito del progetto SyNAPSE – Systems of Neuromorphic Adaptive Plastic Scalable Electronics, finanziato dalla DARPA, l’agenzia di ricerca del Dipartimento della Difesa degli Stati Uniti, TrueNorth è composto da 5,4 miliardi di transistor disposti in 4096 nuclei neurosinaptici interconnessi, con oltre 400 milioni di bit di memoria locale on-chip. È stato fabbricato da Samsung a 28 nm, dimensione minima del gate di ogni singolo transistor.
Sul chip è possibile programmare individualmente un milione di neuroni e 256 milioni di sinapsi artificiali, in una rete bidimensionale piastrellabile dal consumo simile a quello di un computer desktop. TrueNorth utilizza RNN – Recurrent Neural Network, reti neurali ricorrenti, in cui l’elaborazione segue un ciclo che porta il valore di uscita del livello superiore ad essere utilizzato come valore di ingresso in uno dei livelli inferiori.
Nel 2017 i ricercatori dell’IBM Research – Australia hanno combinato il chip TrueNorth con algoritmi di apprendimento profondo e il robot NAO per classificare immagini dal vivo in 10 categorie, comunicate dal robot attraverso il linguaggio.
Video: I risultati di TrueNorth su Robot NAO – IBM – Inglese
A gennaio 2018 un team del MIT ha pubblicato su Nature Materials i risultati della costruzione di un microchip con sinapsi artificiali, fatto di silicio e germanio: utilizzato per riconoscere diversi tipi di grafia, ha dimostrato un’accuratezza del 95%. Sempre nel 2018 Intel ha presentato Lohiri, un chip neuromorfico con 130mila neuroni e 130 milioni di sinapsi artificiali.
Video: Cosa cambia con i chip neuromorfici – Intel (in inglese)
Su Loihi è stato implementato l’algoritmo neurale per l’apprendimento rapido automatico e l’identificazione degli odori anche in contesti difficili, pubblicato da Intel su Nature Machine Intelligence a marzo 2020. L’algoritmo si basa sulla dinamica del bulbo olfattivo dei mammiferi: funziona “per picchi” di attivazione e resiste al rumore grazie alla neuromodulazione. Il chip neuromorfico è stato istruito su un dataset di 72 sensori chimici in risposta a 10 odori: le risposte di questi sensori sono state trasmesse al chip e ai suoi circuiti neurali che hanno rapidamente appreso “l’impronta chimica” di ciascun odore e li hanno identificati anche in condizioni di interferenza, riconoscendoli ad ogni successiva esposizione.
A ottobre 2020 i Sandia National Laboratories del Dipartimento dell’Energia degli Stati Uniti, che si occupano di sicurezza nazionale per conto della National Nuclear Security Administration, hanno annunciato di aver ricevuto, nella sede del New Mexico, 50 milioni di neuroni artificiali dalla Intel, per costruire un computer neuromorfico senza precedenti.
A gennaio 2021 un team di ricercatori della University of Technology di Swinburne, in Australia, ha pubblicato su Nature i risultati di un nuovo chip neuromorfico, fotonico, non basato sul silicio e capace di eseguire più di 10 trilioni di operazioni al secondo (TeraOPs/s).
Le reti neurali artificiali più utilizzate per il riconoscimento visivo e la computer vision sono le reti neurali convoluzionali: reti che, come tutte le altre, hanno un livello di input, diversi livelli intermedi, più o meno nascosti, e un livello di output. Ma si caratterizzano per le convoluzioni, che, matematicamente, sono gli integrali impropri di due funzioni. Praticamente, significa “fare scorrere” la funzione a sulla funzione b ottenendo la funzione C, che è il prodotto “mixato” delle due.
Convolution_of_box_signal_with_itself.gif: Brian Ambergderivative work: Tinos, CC BY-SA 3.0 via Wikimedia Commons
In un sistema di visione artificiale, l’immagine viene acquisita a partire da un sensore che invia il segnale all’elaboratore che lo digitalizza e memorizza. L’immagine viene letta, pre-processata, ovvero resa idonea all’analisi, e poi elaborata in senso stretto. L’elaborazione avviene per estrazione delle caratteristiche di interesse (feature extraction) e/o la selezione di particolari aree per un’ulteriore elaborazione (detection/segmentation). Sia l’estrazione che la selezione occupano livelli diversi della rete neurale: estrarre una caratteristica di interesse equivale a passare un “filtro” sull’immagine: se l’immagine in input è la funzione a e il “filtro” è la funzione b, il risultato dell’operazione sarà la funzione c. Per ogni filtro, una convoluzione, con livelli di astrazione sempre maggiori.
Le immagini vengono infatti visualizzate da un elaboratore o in matrici di pixel o in modo vettoriale, attraverso equazioni matematiche che rappresentano primitive geometriche: il chip neuromorfico costruito dai ricercatori australiani consente di accelerare le reti neurali convoluzionari vettoriali ottiche, generando convoluzioni di immagini con 250mila pixel, abbastanza grandi per il riconoscimento facciale. Lo stesso chip è stato utilizzato per realizzare una rete con dieci neuroni di uscita, ottenendo un riconoscimento di immagini di cifre scritte a mano dell’88%.
Il chip neuromorfico utilizzato è un micropettine ottico, su cui agiscono centinaia di laser infrarossi di alta qualità.
Ambiti applicativi e vantaggi dei chip neuromorfici
I chip neuromorfici sono applicabili ovunque ci sia bisogno di un microprocessore, sistemi embedded compresi. Potenzialmente potrebbero elaborare dati sensoriali altamente rumorosi e dimensionali in tempo reale con consumi decisamente ridotti rispetto agli elaboratori tradizionali. Potrebbero risolvere i problemi relativi alla visione high level, ovvero alla ricostruzione e analisi del contesto dell’immagine, nonché tutti i problemi correlati alla fusione multisensoriale nei dispositivi.
La computazione neuromorfica ha il potenziale di una rivoluzione dall’impatto trasversale, dai computer sinaptici ai dispositivi portatili: nuove generazioni di sensori ottici, uditivi, olfattivi, tattili, di movimento, inseriti in reti di deep learning avanzato da applicare in tutti gli ambienti dell’esperienza umana e nell’IoT.
La compagnia aerospaziale Airbus sta testando il microprocessore Loihi con l’università di Cardiff per migliorare la propria tecnologia di rilevazione di malware; la multinazionale GE lo sta analizzando per ottimizzare i propri processi industriali con gli approcci ad alta efficienza energetica; Hitachi lo sta sperimentando per il riconoscimento di dati e sensori in HD e per aumentare la scalabilità e la flessibilità dell’edge computing.