MDPHARMA_banner
Neuroscienze

Neurogrid: il circuito elettronico che replica il cervello umano

Scritto da Emilio Andreozzi

Un team di ingegneri della Stanford University, guidati dal professore Kwabena Boahen, ha sviluppato Neurogrid: un sistema neuromorfico che consente di simulare per la prima volta in real-time una struttura da un milione di neuroni e miliardi di connessioni sinaptiche con un consumo di potenza di soli 3 Watt.

 

Neurogrid è un sistema elettronico neuromorfico, costituito da 16 chip Neurocore, ciascuno dei quali emula il funzionamento di 65.536 (216) neuroni, nato dall’esigenza di realizzare simulazioni real-time di modelli neurali su larga scala limitando il dispendio energetico.

Perché non utilizzare dei computer e realizzare le simulazioni direttamente via software?

 

La risposta è semplice: un computer non può garantire le prestazioni richieste.

A tal proposito, Boahen spiega nell’articolo “Neurogrid, A Mixed-Analog-Digital Multichip System for Large Scale Neural Simulations”  che un computer riesce a simulare il modello di corteccia cerebrale di un topo (ordine di 2.5 x 106 neuroni) con una velocità 9000 volte inferiore a quella a cui opera il vero cervello del topo e dissipando una potenza 40000 volte superiore: 400 W contro i 10 mW del cervello del topo.

Per simulare il modello di corteccia cerebrale di un uomo (ordine di 2 x 1010 neuroni), è stato stimato che sarebbe necessario un supercomputer, dell’ordine di 1018 flip-flop, che dissiperebbe una potenza di circa ½  GW!

Dinanzi a tali inefficienze energetiche si comprende quanto il potenziale della modellazione neurale su larga scala sia stato, ad oggi, a malapena sfruttato: per questi motivi ha preso piede la ricerca nel campo della progettazione di sistemi neuromorfici che rappresentano attualmente l’unica alternativa in grado di garantire contemporaneamente efficienza e prestazioni elevate. Vediamo dunque cosa sono i sistemi neuromorfici e su quali elementi si basa la loro architettura.

Architettura di un sistema neuromorfico

Un sistema neuromorfico è un circuito elettronico che replica le funzioni di sistemi biologici neurali emulandone la struttura. In generale, i sistemi neuromorfici si basano su unità funzionali che emulano la struttura di un vero neurone: sono presenti, infatti, gli equivalenti elettronici dei quattro elementi principali di cui esso è costituito, ovvero assone, sinapsi, dendriti e soma.

Nel design di sistemi neuromorfici complessi, cioè composti da un elevato numero di unità funzionali, bisogna affrontare tre principali scelte progettuali:

  1. Come emulare i quattro elementi neurali (assone, sinapsi, dendriti e soma)?
    • Circuiti dedicati
    • Circuiti condivisi
  2. Come realizzare i circuiti elettronici?
    • All-Analog
    • All-Digital
    • Hybrid
  3. Come interconnettere gli array di questi neuroni in silicio?
    • Rete a griglia (mesh)
    • Rete ad albero

Le scelte fatte dal team di Boahen per la realizzazione delle unità funzionali che compongono i Neurocore sono state:

  1. emulazione di tutti gli elementi neurali con circuiti condivisi per massimizzare le connessioni sinaptiche, ad eccezione del soma, implementato con un circuito dedicato;
  2. realizzazione ibrida: realizzare solo l’assone per via digitale e tutti gli altri elementi con circuiti analogici per massimizzare l’efficienza energetica;
  3. interconnessione degli array di neuroni con una rete ad albero binario per minimizzare la latenza di trasmissione dati e massimizzare il throughput.

 

La combinazione di queste tre scelte ha consentito di simulare per la prima volta in tempo reale un sistema di un milione di neuroni con miliardi di connessioni sinaptiche utilizzando 16 Neurocores integrati su una board che consuma solo 3 Watt!

 

Figura 1. Possibili architetture di un neurone: (a) Realizzazione analogica; (b) Realizzazione digitale

 

In figura 1.(a) si può osservare la più semplice realizzazione totalmente analogica di un neurone:

Assonedendrite sono realizzati con dei semplici conduttori elettrici (ognuno con la propria capacità parassita), il soma con un comparatore, e la sinapsi con un generatore di corrente ed un interruttore controllato in tensione. La tensione di lavoro del generatore di corrente, che determina la potenza elettrica dell’impulso trasmesso sul dendrite, rappresenta l’equivalente elettrico del peso sinaptico e può essere memorizzata per via analogica o per via digitale (ad esempio con una piccola memoria, nel qual caso è necessario utilizzare un DAC).

La sinapsi funziona effettivamente come collegamento tra due neuroni: viene attivata dall’impulso trasmesso dal primo neurone sull’assone che controlla il suo interruttore e in risposta connette il suo generatore di corrente sul dendrite del secondo neurone, provocando la generazione di un impulso diretto verso il soma. Gli impulsi diretti al soma vengono integrati dalla capacità parassita del dendrite (filtro integratore passa-basso), ottenendo un segnale di tensione la cui evoluzione temporale segue una dinamica crescente con il numero di impulsi generati dalla sinapsi nell’unità di tempo. Tale segnale viene comparato con una tensione di soglia, che rappresenta proprio la soglia di attivazione del potenziale di azione, al superamento della quale il comparatore genera l’impulso di uscita sull’assone del secondo neurone. A questo punto la capacità del dendrite viene scaricata (operazione analoga ad un reset o al ritorno allo stato di quiete) e il ciclo ricomincia.

In figura 1.(b), invece, si può osservare la più semplice realizzazione totalmente digitale di un neurone:

L’assone viene realizzato con una wordline, la sinapsi con una piccola memoria RAM, il dendrite con un contatore connesso alla sinapsi tramite una bitline e il soma con un comparatore digitale.
Ogni volta che una word sull’assone entrante seleziona un ‘1‘ logico in uscita alla memoria RAM della sinapsi, il contatore del dendrite incrementa il valore del suo conteggio, il comparatore lo confronta con una soglia digitale, al superamento della quale, genera un impulso in uscita sull’assone. A questo punto il contatore viene resettato e il ciclo ricomincia.

 

Neuroni di Neurogrid

Gli schemi illustrati in precedenza sono piuttosto indicativi: i neuroni di Neurogrid hanno in realtà una struttura più complessa che presenta non solo i circuiti che emulano la sinapsi, ma anche i circuiti che emulano i canali ionici (denominati Gating Variable circuits), come è possibile vedere dall’immagine sottostante:

Figura 2. Sinistra: architettura del neurone utilizzato in Neurogrid; Destra: layout del circuito che implementa il neurone

 

La profonda differenza nell’approccio alla computazione di Neurogrid rispetto ai classici computers è l’uso del MOSFET, non come interruttore logico, ma come canale di conduzione che simula i canali ionici dei neuroni!

 

Considerando che la conduttività dei canali ionici non è così elevata, in quanto gli ioni possono passare solo uno alla volta, bisogna porre il MOSFET in condizioni di debole inversione, per far sì che la conduzione sia affidata alla sola corrente di diffusione, come accade nei canali ionici. Le ridottissime dimensioni dei MOS a cui è pervenuta l’attuale tecnologia consentirebbero addirittura il passaggio in contemporanea di soli 12 elettroni attraverso il canale, sempre in condizioni di debole inversione, e potrebbero dunque emulare il comportamento dinamico di un gruppo di 12 canali ionici.

N

eurocores

Un Neurocore è realizzato con una matrice di 256 x 256 neuroni circondata da un ricevitore e un trasmettitore di impulsi, che emulano l’interazione con altri neuroni, un router che gestisce lo scambio dati e due blocchi di RAM, una per la configurazione delle interconnessioni neurali, l’altra per la selezione del peso sinaptico.

Figura 3. Sinistra: architettura del Neurocore; Destra: aspetto reale di un Neurocore

 

 

Architettura di Neurogrid

Neurogrid si compone di un lato hardware, dedicato alla simulazione real-time, e di un lato software che consente una visualizzazione interattiva per la diretta programmazione dell’hardware.

Software
  • User Interface (UI): consente all’utente di specificare i modelli delle reti neurali oggetto della simulazione, interagisce con la simulazione e visualizza i risultati in tempo reale.
  • Hardware Abstraction Layer (HAL): sintetizza la descrizione del modello analizzato con i circuiti elettronici di Neurogrid, realizzando una mappa di programmazione per l’hardware.
  • Driver: converte i dati (ricevuti dal HAL) da Neurogrid packets (formato comprensibile dai Neurocore e dal software) in dati USB e trasmette la mappa di programmazione all’hardware; converte in real-time i dati USB, trasmessi dalla board durante la simulazione, in Neurogrid packets per consentire all’utente di visualizzare i risultati attraverso l’interfaccia grafica.
Neurogrid schematic

Figura 4. Architettura Hardware/Software di Neurogrid

Hardware
  • Microcontrollore USB (Cypress FX2): trascrive la mappa di programmazione sull’hardware.
  • CPLD (Lattice): converte i dati USB di nuovo in Neurogrid packets e li trasmette ai Neurocores.
  • Daughterboard: realizzata con un FPGA (Xilinx Spartan) e otto blocchi da 4 MB di SRAM, implementa i collegamenti elementari degli assoni neuronali.

Nel seguente video alcuni membri del team, Boahen compreso, spiegano la loro visione del progetto e delle prospettive future.

 

Aspetti da migliorare

A questo punto si potrebbe pensare che i risultati di questa ricerca siano stati sbalorditivi, e in parte è sicuramente così, ma ci sono alcuni aspetti fondamentali di cui non si è parlato, per i quali questo progetto non è riuscito ancora ad avere dei risultati veramente soddisfacenti.

 

Efficienza energetica
È vero che, rispetto ad una simulazione al computer, Neurogrid ha raggiunto degli ottimi risultati riguardo al consumo di energia, riuscendo a dissipare solo poco più di 3 W, ma c’è da considerare che questi sono comunque relativi alla simulazione di un milione di Neuroni: il nostro cervello ne ha 100 miliardi, cioè 100000 volte quelli simulati da Neurogrid, ma ha un consumo di circa 20 W, pari a solo 7 volte il consumo di Neurogrid. In sostanza, se con l’attuale tecnologia di Neurogrid, si volesse simulare l’attività di tutti i neuroni del cervello (ipotizzando di utilizzare 100000 schede Neurogrid in parallelo), sarebbe necessaria una potenza di 300 kW, 15000 volte superiore a quella richiesta attualmente dal cervello! C’è da considerare però un fattore importante: Neurogrid è stato realizzato con un processo produttivo vecchio di ben 15 anni! Boahen ha stimato dunque che con un processo produttivo moderno sarebbe possibile realizzare un sistema Neurogrid con una potenza di calcolo pari a quella del cervello e con un consumo di potenza di 40 kW, ancora 2000 volte superiore a quello del cervello, ma sicuramente un bel passo avanti!

 

Costo
Ogni sistema Neurogrid ha attualmente un costo di realizzazione di 40000 dollari! È chiaro che ciò non è accettabile per le prospettive future di utilizzo, per cui sarà necessario lavorarci su per abbattere drasticamente i costi e questo rappresenta già uno dei principali obiettivi del prosieguo del lavoro del team di Boahen. Fortunatamente, ci spiega Boahen, parte dell’elevato costo di produzione di un sistema Neurogrid è fortemente legato ancora all’inefficienza del processo produttivo, piuttosto datato, per cui, utilizzando un processo produttivo più moderno, ha stimato di poter abbattere i costi di un fattore 100, portando ogni sistema Neurogrid ad un costo di 400 dollari.

 

User interface
Attualmente è possibile realizzare diversi tipi di simulazione, ma per poterci riuscire bisogna saper ragionare in termini di reti neurali e quindi avere una discreta conoscenza del funzionamento del cervello, o almeno di ciò che fino ad ora è stato compreso, per cui chi non ha questi requisiti non può utilizzare efficacemente Neurogrid. Il miglioramento del software è un altro degli obiettivi dichiarati dal team di Boahen, che sostiene di voler studiare il funzionamento del cervello per arrivare a realizzare un sistema di neuro-compilazione così completo che i ricercatori non avranno bisogno di conoscenze approfondite di sinapsi e neuroni per poter utilizzare Neurogrid!

 

Recenti sviluppi

Ad ogni modo, questi aspetti da migliorare limitano drasticamente la platea di possibili utilizzatori del sistema Neurogrid, che invece ha delle potenzialità applicative che vanno ben oltre le simulazioni dell’attività cerebrale: il team di Boahen si è già spinto oltre le dimostrazioni scientifiche, realizzando interessanti applicazioni, e ha ricevuto dei grossi fondi per lo sviluppo e l’ottimizzazione del progetto, come spiega lui stesso in questa breve intervista rilasciata all’ EETimes:

Kwabena Boahen, Associate Professor of Bioengineering at Stanford University

“Recentemente siamo andati oltre le dimostrazioni scientifiche, arrivando a realizzare applicazioni reali, ad esempio utilizzando Neurogrid come sistema di controllo real-time di un braccio robotico, con l’obiettivo di controllare in futuro un qualsiasi arto robotico.
Abbiamo ricevuto un fondo di 10 milioni di dollari per  utilizzare i chip neuromorfici come sistemi di elaborazione a bassissimo consumo di energia, di cui 5 milioni per un Pioneer Award del National Institute of Health (NIH), che mira in 5 anni ad impiantare un chip all’interno del cervello per controllare un arto robotico, e 5 milioni dall’Office of Naval Research (ONR) per realizzare in 5 anni uno scaling del progetto dall’attuale tecnologia a 180 nanometri ad una più moderna tecnologia a 28 nanometri, che consenta di realizzare diversi milioni di neuroni  su un singolo chip per arrivare a controllare un drone.”

 

 

Fonti:
MDPHARMA_banner

Informazioni autore

Emilio Andreozzi

Ricopre il ruolo di Co-Amministratore di IngegneriaBiomedica.org e di Editor-in-Chief dei contenuti informativi  sulle tematiche del settore Biomedico. Laureato in Ingegneria Biomedica all’Università di Napoli Federico II,  prosegue attualmente il suo percorso di laurea magistrale nel campo dell’Ingegneria Elettronica. Si interessa di applicazioni elettroniche per diagnostica e terapia, di elaborazione numerica dei segnali e non riesce a nascondere una forte passione per la robotica. Da sempre amante della musica in tutte le sue forme, in particolar modo del jazz.

Un commento

  • […] Per gli uomini la Natura è sempre servita da modello e da fonte di ispirazione per migliorare la qualità della vita. La Natura, per mezzo dell’evoluzione, dona infatti agli esseri viventi soluzioni “sperimentate” che combinano una grande efficacia ad un minimo dispendio di risorse. Il cervello umano ad esempio, con i suoi pochi watt di fabbisogno energetico, compete in molti ambiti con i più potenti e moderni supercomputer, questi ultimi alimentati da una potenza milioni di volte superiore (per saperne di più, leggete il precedente articolo Neurogrid: il circuito elettronico che replica il cervello umano). […]

Lascia un commento