Anche se oggi non rappresentano una delle notizie di primo piano, le reti neurali artificiali o Ann (Artificial neural networks) sono parte dei piano di sviluppo delle tecnologie innovative da parte di importanti produttori di dispositivi microelettronici e di grande interesse da parte degli sviluppatori di sistemi embedded che necessitano di trovare in questo paradigma computazionale una soluzione alla crescente complessità delle applicazioni e dei dispositivi. Le reti neurali artificiali si ispirano al modello funzionale del cervello umano (neuroni, sinapsi, spikes, apprendimento, tolleranza ai guasti, ecc.) e lo implementano tramite i dispositivi elettronici in modalità software (processori) oppure hardware (Fpga), entro i limiti che queste tecnologie microelettroniche, pensate per un modello computazionale estraneo alla natura del cervello umano, consentono in termini di densità di integrazione e di velocità di calcolo. Nuove tecnologie di integrazione per superare i limiti della microelettronica classica sono in avanzata fase di studio e sperimentazione, in particolare le nanotecnologie applicate all'elettronica (elettronica molecolare). Queste, grazie alle elevate densità di integrazione, consentono già di implementare una quantità di processori neurali elementari (i neuroni e le ralative interconnessioni) abbastanza elevata per ottenere funzionalità e capacità di elaborazione abbastanza vicine a quelle del cervello umano e abbastanza piccole da essere integrate nei dispositivi embedded.
Il computer analogico
imita il cervello umano
Il neuromorfismo è il nuovo paradigma di elaborazione che tenta di ricreare la funzionalità del cervello utilizzando componenti di natura analogica. I neuroni biologici memorizzano e manifestano le informazioni attraverso livelli di tensione elettrica. I neurono artificiali usano i condensatori per imitare questa capacità dei neuroni naturali, in quanto i condensatori sono delle memorie analogiche e attraverso la carica e la scarica sono in grado di gestire questa memoria da e verso altri dispositivi, così come fanno i neuroni artificiali. Il computer analogico è dunque un modello computazionale molto più adatto realizzare il cervello umano e le sue eccezionali capacità di elaborazione delle informazioni. Il limite dei computer analogici, basati su elementi di memoria come il condensatore, è che questi necessitano di essere costantemente alimentati per conservare l'informazione. A questo limite è stata trovata una soluzione che consente di memorizzare le informazioni analogiche in componenti che non richiedono di essere costantemente alimentati per trattenere l'informazione. Si tratta del memristore, un componente passivo, che si aggiunge ai tre noti componenti passivi (resistenza, condensatore e induttore) che mantiene memoria di uno stato fisico in cui è stato condotto e di manifestarlo mediante segnali analogici. Memristor è una parola derivata dalla contrazione di “memory” e “resistor”. Si tratta di una vera e propria innovazione tecnologica che oltre a consentire la realizzazione di computer energeticamente efficenti, consentirà anche di realizzare computer che imitano il funzionamento del cervello umano, in quanto questo componente elettronico ha proprietà funzionali molto affini a quelle degli elementi biologici del cervello umano.
Dopo la versione sperimentale presentata nel 2007 da Stanley Williams di Hewlett Packard, la stessa HP nel 2008 ha annunciato la disponibilità di un dispositivo funzionante. Utilizzando le tecniche delle nanotecnologie, è stato realizzato un componente che si comporta come un condensatore, ma che non immagazzina cariche elettriche e crea la dipendenza tra la resistenza e la carica tramite una trasformazione chimica, proprio come fa un neurone. Oltre all'ovvia possibilità di realizzare memorie ad altissima densità di memorizzazione (la memoria analogica in un solo elemento può codificare un'informazione il cui valore può assumere infiniti valori), il memristore diventerà l'elemento fondamentale per la costruzione delle reti neurali artificiali, anche in virtù dell'elevatissima densità geometrica ottenibilie grazie alla scala nanoelettronica su cui si basano. Il dispositivo di HP consiste di un film sottile di diossido di titanio frapposto tra due elettrodi. Nel 2010 HP ha annunciato di aver raggiunto un accordo con l'azienda coreana Hynix per la produzione industriale di memorie basate sui memristori.
Dal computer programmabile
al computer cognitivo
Il computer così come lo conosciamo oggi è semplicemente una macchina capace di eseguire calcoli ad elevatissima velocità, di memorizzare e di spostare enormi quantità di dati e di esegure tutto quello che una persona è in grado di codificargli in termini di linguaggio di programmazione. Non è una macchina intelligente, è semplicemente un esecutore sequenziale di istruzioni elementari. Il cervello umano non esegue calcoli per riconoscere una persona, come invece fa un computer tradizionale che esegue algoritmi matematici molto complessi, ma semplicemente impara a riconoscere e ricorda. Anche se sembra non esserci differenza (in entrambi i casi si impara a riconoscere e si ricorda), la differenza è nel come il riconoscere e il ricordare vengono eseguiti dal computer rispetto al cervello. Per esempio, se per stabilire che l'immagine analizzata è un volto deve esserci la presenza di due occhi, un volto con un solo occhio (Polifemo) per il computer non è un volto, ma il cervello, che pure ha imparato che i volti umani hanno due occhi, classifica compunque il volto con un occhio come tale, quindi appartenente a un essere umano(ide).
Il cervello non esegue istruzioni e algoritmi e non ci sono programmi che gli dicono cosa fare per riconoscere un volto. Il cervello è un sistema che impara tramite l'eperienza, che memorizza in modo distribuito e non concentrato le informazioni e che “calcola” ricordando. Il cognitive computing è il paradigma computazionale che si ispira al modo di funzionare del cervello umano perchè il computer diventi una macchina realmente intelligente e caratterizzata anche da un funzionamento compatibile con il mondo fisico con cui deve interagire. Il computer cognitivo non deve essere solo un sistema “intelligente”, ma deve anche consumare poca energia (il cervello consuma come una piccola lampadina) e deve essere piccolo (il cervello ha più o meno il volume di un medio dizionario). Ibm ha in corso un programma di ricerca denominato SyNapse (Systems of Neuromorphic Adaptive Plastic Scalable Electronics) finalizzato alla realizzazione di un computer cognitivo che intende riprodurre la struttura e l'architettura del cervello (il modo con cui i neuroni ricevono gli input sensoriali, si interconnettono tra loro, si adattano alle connessioni e attuano verso l'esterno il risultato). Il programma SyNapse è iniziato nel 2008 e nel 2013 si trova già in una fase di risultati più che soddisfacenti, come illustrato da Ibm alla International Joint Confererence on Neural Networks tenutasi lo scorso agosto a Dallas. Il singolo chip neurale integra una rete di 256 neuroni, ma questi possono essere messi in rete tra loro fino a formare, potenzialmente, una quantità di interconnessioni sinaptiche paragonabili a quelle del cervello umano.
Sistemi che evolvono e si adattano
Il volume e la rapidità di generazione delle informazione al giorno d'oggi sono ormai elevati e destinati ulteriormente a crescere in futuro. Elaborare e utilizzare in maniera efficente l'enorme valanga di dati cui è sottoposto un sistema richiede che i sistemi siano in grado di modellare rapidamente e in maniera accurata i dati man mano che sono disponibili, imparare da questi e modificarsi di conseguenza.
Tra gli innumerevoli modelli computazionali neurali, gli ECoS (Evolving Connectionist Systems) sono senza dubbio i più interessanti, considerando l'intrinseca capacità di tali sistemi di evolvere, cioè di cambiare nel tempo. Proposto dal Prof. Nikola Kasabov nel 1998, questo modello di sistema neurale è in grado di soddisfare questi requisiti in quanto sono una classe di reti neurali costruttive capaci di imparare attraverso la crescita strutturale e l'adattamento. L'apprendimento di queste reti neurali è rapido (in un solo passo) e veloce e avviene tramite i dati. La struttura non è fissa ma variabile (espandibile) per potersi adattare ai nuovi dati. Inoltre è in grado di resistere a un'ingente perdita di apprendimento rieseguendo l'addestramento su nuove sequenze di dati. Un interessante strumento di sviluppo presentato in questo evento è l'ambiente NeuCom. Basato sulla teoria ECoS e sviluppato presso il Knoledge Engineering and Discovery Research Institute dell'Università di Auckland fondato da Kasabov, NeuCom è una nuova generazione di ambiente di sviluppo connotato da peculiarità come l'autoprogrammabilità, l'apprendimento e il ragionamento. NeuCom impara dai dati facendo evolvere i moduli connessionisti. I moduli si adattano on-line in maniera incrementale ai nuovi dati che arrivano ed è in grado di estrarre regole significative che servono a investigare nuovi campi di conoscenza.