11 dicembre 2015

Il computer che impara come un essere umano

Un nuovo algoritmo di apprendimento consente a un computer di imparare un concetto astraendolo da pochi esempi della vita reale e di generare nuovi esempi in modo creativo. Messo alla prova sulle lettere dell'alfabeto, ha dimostrato di saper superare il test di Turing, inventando nuove lettere di un ipotetico alfabeto indistinguibili da quelle prodotte da un essere umano(red)

Fin da quando sono piccoli, gli esseri umani imparano un concetto dopo averne visti pochi esempi nella vita reale: capiscono il concetto di una lettera dell'alfabeto come la “A”, dopo averla vista scritta a mano in diverse varianti o stampata in diversi caratteri. In seguito, inoltre, sono in grado di produrre in modo creativo altre “A” mai viste prima.

Al contrario, i computer, anche i più raffinati, non riescono nemmeno lontanamente a fare una cosa del genere: hanno bisogno di centinaia di esempi prima di poter imparare un concetto per via induttiva. O almeno così si pensava finora.

Un gruppo di ricercatori della New York University guidati da Brenden Lake che in un articolo apparso sulla rivista “Science”, descrivono infatti un nuovo algoritmo induttivo che permette ai computer di apprendere un concetto anche a partire da pochi esempi della vita reale e di produrne di nuovi, nel caso specifico alcune lettere dell'alfabeto.

Il computer che impara come un essere umano
In questa rappresentazione artistica, un essere umano e un computer a confronto nella generazione di nuove lettere (Cortesia Danqing Wang)
Lo studio è stato condotto seguendo i dettami dell'apprendimento bayesiano (Bayesian Program Learning, BPL), in cui i concetti sono rappresentati come semplici programmi di computer. La lettera A per esempio è rappresentata da un codice che, riproducendo il lavoro di un programmatore, genera esempi di quella lettera quando viene eseguito. Mentre i convenzionali algoritmi di riconoscimento degli schemi rappresentano i concetti come configurazioni di pixel o collezioni di caratteristiche, l'approccio BPL impara tramite “modelli generativi”: l'apprendimento è quindi una costruzione di modelli o di dati forniti dagli algoritmi.

In sostanza, l'algoritmo programma se stesso, costruendo il codice per produrre le lettere: a differenza dei software convenzionali, che forniscono lo stesso risultato a ogni sessione di
calcolo, questi programmi probabilistici producono output differenti a ogni esecuzione. Questo consente loro di cogliere in che modo variano nella vita reale gli esempi di un concetto, per esempio in che modo due persone diverse scrivono a mano la lettera A, oppure come si presenta la stessa lettera se è stampata con caratteri diversi. Il modello, inoltre, "impara a imparare", utilizzando la conoscenza di precedenti concetti per velocizzare l'apprendimento di quelli nuovi, per esempio utilizzando le lettere dell'alfabeto latino per imparare l'alfabeto greco.

Oltre a verificare l'abilità dell'algoritmo nel riconoscere nuovi esempi di un concetto, gli autori hanno chiesto a esseri umani e computer di produrre una serie di lettere scritte a mano dopo aver mostrato loro un singolo esempio di ciascun carattere, o in alcuni casi di creare nuove lettere in un carattere prescelto.

Il computer che impara come un essere umano
Alcune delle varianti di una ipotetica lettera dell'alfabeto prodotte da esseri umani (a sinistra) e dal computer (a destra). I risultati del computer sono indistinguibili da quelli umani, e superano perciò il test di Turing (Cortesia Brenden Lake)
I ricercatori hanno poi confrontato i risultati mediante il cosiddetto test di Turing, inventato dal padre dell'informatica Alan Turing per verificare le capacità di un computer di pensare. Nel caso dell'algoritmo di Lake e colleghi, si è trattato di far giudicare a un essere umano se le lettere prodotte in modo creativo fossero di origine umana o automatica. Risultato: le lettere prodotte da esseri umani erano indistinguibili da quelle prodotte dall'algoritmo BPL.

“Già prima di andare alla scuola materna, i bambini imparano a riconoscere nuovi concetti a partire da un solo esempio, e possono anche immaginare nuovi esempi del concetto appreso”, ha spiegato Joshua Tenenbaum, coautore dello studio. “Siamo ancora lontani dal costruire una macchina intelligente come un bambino, ma è la prima volta che un algoritmo è in grado di imparare e usare un'ampia classe di concetti del mondo reale, anche semplici concetti visivi come lettere scritte a mano che è difficile distinguere da quelle prodotte da un essere umano”.