FYI.

This story is over 5 years old.

Tecnologia

Come ricreare un cervello umano con Python

Una delle figate del PyCon 2015, la conferenza annuale a tema Python.

Il Python ha già un'ottima reputazione da elegante linguaggio di programmazione tutto fare—o è forse più simile ​ad un culto nel mondo della programmazione, dipende dalla persona a cui si chiede—con un'ottima sintassi e un leggibilità fuori dal comune. Dovendo parlare per sentito dire, è probabilmente il linguaggio più "amato" che ho incontrato. Penso che questa vignetta di xkcd riassuma bene di cosa si tratta:

Pubblicità

Immagine: xkcd.com

Comunque, l'annuale conferenza a tema Python, PyCon, si terrà questa settimana a Montreal ed è possibile trovare il programma completo ​qui—è piuttosto pieno, con talk che vanno da "​Data Science nella pubblicità: o un futuro in cui ameremo gli ad" a "​Le conseguenze etiche delle nostre attività collettive" fino a "​'Parole, parole, parole: Leggere Shakespeare con Python." Personalmente non vedo l'ora, e da fan duro a morire di tutto che possa essere arcaico e inutilmente prolisso (anche conosciuto come: parentesi quadre), non sono nemmeno un grande utilizzatore di Python—anche se questa resistenza sta cedendo in fretta.

Questo è un talk del PyCon di cui vale la pena parlare (uno dei tanti), e spiega diversa cose importanti: in primis, simulare un cervello è davvero difficile e probabilmente impossibile da qualunque tipo di tecnologia concepibile, eppure, il Python spacca per quanto riguarda semplicità e intuitività e funziona bene quando si tratta di semplificare la complessità delle reti neurali. Con mezza dozzina di linee di codice chiunque può creare e osservare il comportamento di un neurone—sì, proprio i nostri neuroni—mentre vengono monitorati i segnali in arrivo e gli impulsi che invia.

Il talk è gentilmente offerto da Trevor Bekolay, un neuroscienziato informatico dell'Università di Waterloo. Bekolay mostra diversi strumenti in Phyton che permettono la simulazione dei neuroni, come Brian e ​un adattamento del tradizionale simulatore Neuron, ma, più di tutti, il progetto Nengo Neural Simulator, di cui Bekolay è sviluppatore. La differenza chiave di Nengo è che permette di aumentare in maniera naturale e inutitiva le proporzioni dei processi neurali.

"All'Università di Waterloo abbiamo lavorato a un nuovo approccio per permettere alle simulazioni di cervello di ampliare le loro potenzialità, abbiamo elaborato un nuovo package Python per supportare questo tipo di approccio," scrive Bekolay ​nell'abstract della presentazione. "Invece che concentrarci sulla creazione di neuroni biologicamente realistici, abbiamo lavorato al modo per connettere i neuroni tra di loro per far sì che possano computare funzioni interessanti."

Da una prospettiva informatica, l'approccio Nenga è piuttosto interessante. Segue qualcosa di simile al processo codice-compilatore-macchina che permette ai linguaggi di programmazione, anche a quelli eleganti e di alto livello come il Python, di funzionare; questo processo traduce i comandi dettati dal linguaggio nell'astruso idioma dell'Assembly che fornisce poi effettivamente le istruzioni all'hardware.

Nenga vuole offrire un set di costrutti funzionali (corrispondenti alle funzioni del cervello) che possono essere semplicemente richiamati via Python e che corrispondano al gigantesco casino che è la neurologia dei giorni nostri—che sembra una grande ingarbugliamento di istruzioni macchina.

E così improvvisamente diventa possibile mettere insieme comandi apparentemente semplici in modi nuovi e interessanti. Come fa notare Bekolay, questo è uno strumento potenzialmente potentissimo per lo sviluppo di nuove forme di intelligenza artificiale.