Il ruolo del Machine Learning nell’interfaccia cervello-computer

“Hai un’estensione robotica di te stesso sotto forma di smartphone, computer e tutte le tue applicazioni… hai di gran lunga più potere, più capacità, rispetto al Presidente degli Stati Uniti 30 anni fa”, Elon Musk.

Un’interfaccia neurale, o Brain-computer interface (BCI, letteralmente “interfaccia cervello-computer”), è un canale di comunicazione tra parti funzionali del sistema nervoso centrale e un dispositivo esterno, come un computer. Per far ciò, il computer riceve i comandi attraverso i segnali derivanti dall’attività cerebrali, come può essere un segnale elettroencefalografico.

L’applicazione più gettonata, nell’ambito della neuroingegneria, è il supporto a persone con disabilità, in quanto poter dialogare con i propri dispositivi, consento un notevole miglioramento della qualità di vita.

Ma non solo, la BCI può anche essere uno strumento di interazione promettente per persone sane, con diverse potenziali applicazioni nel campo della multimedialità, della realtà virtuale o dei videogiochi.

Machine Learning e BCI

Credits: medium.com/botsupply

I recenti sviluppi in campo tecnologico, ci hanno permesso di sviluppare intelligenze artificiali in grado di prendere decisioni e imparare, grazie ai meccanismi di Machine Learning. Secondo Davide Valeriani, ricercatore post-dottorato in Brain-Computer Interfaces presso l‘Università di Essex, però, l’unione tra esseri umani e tecnologia potrebbe essere più potente dell’intelligenza artificiale stessa.

Secondo il ricercatore, le neurotecnologie sarebbero decisive nel caso in cui ci fosse da prendere decisioni basate su una combinazione di percezione e ragionamento. Ad esempio, in situazioni in cui bisognerebbe decidere se intervenire o meno davanti a un’immagine molto sfocata proveniente da una telecamera di sicurezza.

La più grande sfida per la BCI, però, è che non tutti hanno lo stesso cervello. Usando il Machine Learning, per ogni nuova sessione, la BCI deve imparare dal cervello dell’utente adattandosi a esso per poter classificare correttamente i suoi pensieri. Il tempo impiegato per far ciò è noto come il tempo di calibrazione.

Il Machine Learning (o apprendimento automatico) viene utilizzato per creare previsioni basate sulle proprietà di input di esempio, conosciuti come dati di allenamento o set di allenamento (training data o training set). Se esiste un modello sottostante, contenente le proprietà dei dati, un algoritmo di Machine Learning può costruire un modello basato sui dati di allenamento disponibili il più vicino possibile al modello originale. In questo modo, l’algoritmo ML dovrebbe essere in grado di prevedere correttamente la classe di nuovi campioni di input, noti come set di test (test set).

Secondo Boris Reuderink, Machine Learning Consultant di Cortext:

Uno dei maggiori problemi nelle interfacce cervello-computer è che i segnali cerebrali sono deboli e molto variabili. Questo è il motivo per cui è difficile addestrare un classificatore e usarlo il giorno successivo, per non parlare di usarlo su un argomento diverso.”

Machine learning approach to BCI. Credits: http://yosinski.com

Una volta rilevati i dati, questi possono essere usati per molte applicazioni. Ad esempio, il soggetto potrebbe utilizzare la BCI per controllare un mouse mediante movimento immaginato. Un problema ricorrente è che bisogna usare i dati ricevuti dalla persona nel modo più efficiente possibile, ma allo stesso tempo bisogno tenere presente che le BCI possono commettere errori (ad esempio, il computer può pensare che il soggetto abbia immaginato il movimento della mano sinistra, mentre è stato immaginato quello della mano destra).”

Qualunque sia la tecnica BCI utilizzata (non invasiva, semi-invasiva o invasiva), il cervello umano e la macchina funzionano in modo simbiotico tra loro. Uno strato AI basato su meccanismi di Machine Learning, potrebbe giacerci sopra, per cercare di diminuire il numero di errori, collegandoci, così, a un mondo nuovo e dandoci la possibilità di stare alla pari con i robot dotati di IA.

Iniziare ad allenare le BCI

Credits: medium.com/botsupply

Superate le fasi di acquisizione del segnale, nel quale dovranno essere impiegati degli elettrodi EEG o EMG, bisognerà realizzare il condizionamento del segnale: filtraggio per la frequenza che si desidera, filtraggio del rumore ambientale, ecc.

A questo punto dobbiamo pensare a cosa vogliamo che il sistema faccia per noi. Vogliamo rilevare i cambiamenti dei pattern EEG quando si pensa al colore verde? Oppure conoscere un particolare cambiamento del nostro EMG quando muoviamo un arto? Poi dovremo pensare a cosa vogliamo che faccia il computer: eseguire un programma o semplicemente stampare i dati? Vogliamo far subito riconoscere al computer che un particolare dato è rilevante?

Questo è l’apprendimento supervisionato: si sceglie un metodo di classificazione conosciuto, si ottengono molti dati etichettati e si costruisce un sistema. Si possono usare metodi come la convalida incrociata per verificare se i modelli addestrati stanno facendo ciò che effettivamente dovrebbero.

È possibile trovare diversi set di dati EEG disponibili al pubblico per il Machine Learning su interfacce cervello-computer nei seguenti link: