All'interno del cervello umano (così come in molti altri animali) la risoluzione dei problemi cognitivi è affidata a reti (o circuiti) neurali, composte solitamente da svariate centinaia di cellule neuronali. Queste reti, la cui estensione e grandezza varia a seconda del compito richiesto, possono coinvolgere anche diverse aree cerebrali e il loro sviluppo e formazione è stato fondamentale nel processo di evoluzione della specie umana.
Quando si parla di reti neurali artificiali ci si riferisce a sistemi di elaborazione dell'informazione il cui scopo è di simulare il funzionamento delle reti biologiche all'interno di un sistema informatico.
Cosa sono le reti neurali artificiali
Le reti neurali artificiali possono essere considerate come un'ampia rete informatica composta da diverse decine di computer che svolgono (o dovrebbero svolgere) lo stesso ruolo che i neuroni svolgono all'interno delle reti biologiche. Ognuno di questi nodi (o neuroni artificiali) è collegato agli altri nodi della rete attraverso una fitta rete di interconnessioni , le quali permettono anche alla rete stessa di comunicare con il mondo esterno. Lo scopo finale di una rete così articolata è quello di acquisire informazioni dal mondo esterno, elaborarle e restituire un risultato sotto forma di impulso.
Le reti neurali artificiali sono quindi spesso utilizzate nel campo della programmazione delle intelligenze artificiali per affrontare e tentare di risolvere determinate categorie di problemi. Nonostante la loro utilità, non si può dire che questi reti siano intelligenti: l'unico elemento di intelligenza nell'intero processo è quello inserito dal programmatore che, dopo aver analizzato il problema da risolvere, ha creato un programma o un'applicazione dedicata a questo compito.
Come funziona la rete neurale artificiale
I nodi che compongono una rete neurale artificiale sono suddivisi in tre macro-categorie. Abbiamo i nodi appartenenti alla categoria delle unità di ingresso (Input); i nodi appartenenti alle unità di uscita (Output); infine i nodi delle unità nascoste (Hidden). Ognuna di queste unità svolge un compito molto semplice: attivarsi nel caso in cui la quantità totale di segnale che riceve (sia da un'altra unità sia dal mondo esterno) supera una certa soglia di attivazione. In questo caso emette a sua volta un segnale attraverso dei canali di comunicazione fino a raggiungere le altre unità cui è connessa.
La funzione di trasferimento del segnale nella rete non è programmata ma è ottenuta attraverso un processo di apprendimento basato su dati empirici. Questo processo può essere supervisionato, non supervisionato o per rinforzo.
Nel primo caso la rete utilizza un insieme di dati di addestramento grazie ai quali riesce a inferire i legami che legano questi dati e sviluppare un modello "generale". Questo modello verrà successivamente utilizzato per risolvere problemi dello stesso tipo.
Nel caso del processo di apprendimento non supervisionato, il sistema fa riferimento ad algoritmi che tentano di raggruppare i dati di ingresso per tipologia, individuando cluster rappresentativi dei dati stessi facendo uso tipicamente di metodi topologici o probabilistici.
Nel processo per rinforzo un algoritmo si prefigge di individuare un modus operandi a partire da un processo di osservazione dell'ambiente esterno. In questo processo è l'ambiente stesso a guidare l'algoritmo nel processo di apprendimento.
I neuroni a cambiamento di fase di IBM
I ricercatori di IBM potrebbero essere i primi ad aver creato dei neuroni artificiali capaci di imitare il funzionamento di quelli "biologici". Il merito è dei vetri calcogenuri e delle memorie a cambiamento di fase, che hanno consentito agli scienziati statunitensi di archiviare e processare dati e informazioni di ogni genere. Per realizzare i "replicanti" dei neuroni sono stati utilizzati materiali come germanio e tellururo di antimonio, in grado di realizzare superfici caratterizzate da due strati stabili: uno amorfo (senza una chiara strutturazione interna) e uno cristallino (all'interno dei quali, dunque, il reticolo delle molecole è ben definito).
Questa particolare conformazione chimico-fisica, una volta stimolata elettricamente, mostra due comportamenti molto peculiari. Il primo è la cristallizzazione progressiva della struttura. La seconda, ancora più importante, si riferisce alla rete di neuroni artificiali che mostra potenziali di azione. Ciò vuol dire che i neuroni "a cambiamento di fase" sono in grado di "reagire" autonomamente agli stimoli che arrivano dall'esterno del loro sistema.
Per verificare l'esattezza della loro scoperta, i ricercatori IBM hanno realizzato delle piccole porzioni di "cervello artificiale" composte da qualche centinaio di neuroni phase-changing. L'esperimento è andato, molto probabilmente, ben oltre le più rosee aspettative. Le cellule nervose basate sui vetri calcogenuri hanno dimostrato di sostenere miliardi di cicli di caricamento e scaricamento (corrispondenti a diversi anni di attività) con una frequenza di aggiornamento di 100 Hertz.
Visti i risultati preliminari, si può ragionevolmente sperare che la realizzazione di reti neurali di più ampio "respiro" possano essere realizzate da qui a pochi anni. Se così fosse, potrebbero essere utilizzate per analizzare modelli nelle transazioni finanziarie e trovare discrepanze o usare i dati dei social media per scoprire nuovi trend culturali in tempo reale.
Quali applicazioni per le reti neurali artificiali
Solitamente, una rete neurale artificiale può essere utilizzata per la risoluzione di quattro categorie di problemi. Una rete artificiale è utilizzata spesso e volentieri nella classificazione di dati in vari gruppi; riconoscere regolarità, modelli e schemi all'interno di una grande massa di dati; effettuare predizioni sulla base dei dati di input in suo possesso; ottimizzare un risultato già ottenuto con altri mezzi. Per sua natura, una rete neurale artificiale funziona come una black box: può fornire risultati anche molto precisi a partire da una serie di dati di ingresso molto vari ma non sa spiegare perché e come ha ottenuto quel risultato.
Quali applicazioni sono possibili, quindi, per una rete neurale artificiale? Ad esempio, può essere utilizzata in campo economico per predire l'andamento di un indice borsistico o di un singolo titolo quotato in borsa; oppure può essere utilizzata per riconoscere volti o altre parti del corpo all'interno di una grande database fotografico: un compito arduo e lungo da svolgere per un solo computer, ma che può essere svolto da una rete neurale artificiale in un tempo relativamente breve. Vale la pena di sottolineare che la bontà e la precisione dei dati ottenuti in tali casi sono strettamente legate alla quantità e alla qualità dei dati di input che verranno forniti al sistema informativo.