Il machine learning incontra il Quantum Computing
Nel lontano 1958, l’Ufficio per le Ricerche Navali della Marina degli Stati Uniti organizzò una conferenza stampa per svelare un dispositivo ideato da uno psicologo, Frank Rosenblatt, presso il Cornell Aeronautical Laboratory. Rosenblatt chiamò il suo dispositivo con il nome di Perceptron (percettrone), ed il New York Times scrisse che era “l’embrione di un computer digitale che sarebbe stato in grado di camminare, parlare, vedere, scrivere, riprodursi ed avere coscienza della sua esistenza”.
Ovviamente quelle affermazioni avevano sopravvalutato il dispositivo inventato da Rosenblatt, a cui però dobbiamo il merito di aver dato il via ad un nuovo settore di ricerca, quello dell’intelligenza artificiale, che oggi sta iniziando ad avere promettenti risultati e che nel futuro esprimerà sempre di più il suo enorme potenziale.
Un percettrone è una rete neurale a singolo strato. Le reti neurali di tipo deep-learning, che hanno generato grande interesse negli ultimi anni, sono dirette discendenti del percettrone di Rosenblatt. I ricercatori che lavorano nell’ambito del machine learning (una sottodisciplina dell’Intelligenza Artificiale), ripongono grande fiducia nei contributi che l’applicazione di questa tecnica potrà portare in molteplici ambiti.
Per avere un’intuizione di ciò che è possibile fare con il deep-learning, basti osservare alcuni esempi reali di quanto, fino ad oggi, siamo stati in grado di realizzare:
- sistemi di computer vision in grado di riconoscere (a volte anche meglio degli umani) persone, animali ed oggetti;
- tecnologie di riconoscimento del parlato come quelle utilizzate da Siri, Cortana ed Alexa;
- nel 2015 il programma AlphaGo di Google, che utilizza il deep-learning, è stato in grado di battere il campione mondiale di Go, Lee Sedol, in una partita ufficiale.
Oggi, abbiamo un’altra tecnologia di elaborazione delle informazioni che è nella sua infanzia: il Quantum Computing. Nasce spontanea, quindi, una domanda interessante: è possibile implementare una rete neurale su un quantum computer? E, se è realizzabile, c’è un vantaggio in termini di potenza di calcolo?
A questa domanda, cominciamo ad avere una prima risposta grazie al lavoro di un team di ricercatori italiani dell’Università di Pavia (Francesco Tacchino, Chiara Macchiavello, Dario Gerace e Daniele Bajoni) che, in una recente pubblicazione scientifica hanno esposto il loro lavoro, in cui sono riusciti ad implementare, per la prima volta, un percettrone su di un computer quantistico, e lo hanno messo alla prova con alcuni semplici compiti di riconoscimento di immagini.
Nella sua forma più semplice, un percettrone prende un vettore in input (costituito da un insieme di numeri) e lo moltiplica per un altro vettore numerico (un vettore di ‘pesi’ con valori reali) ottenendo un singolo valore numerico in output. Se questo valore è sopra una certa soglia, allora l’output del percettrone è il valore 1, mentre se è sotto l’output sarà il valore 0.
Tutto questo ha alcune utili applicazioni: immaginiamo di avere un’immagine costituita da un insieme di pixel che produce un insieme di livelli di intensità di luce (uno per ogni pixel). Quando questo insieme di numeri viene immesso in un percettrone, produce un risultato che può essere 1 oppure 0. L’obiettivo è quello di regolare i pesi e la soglia in modo tale che sia in grado di produrre in output il valore 1 quando un’immagine (ad esempio, la foto di un gatto) viene riconosciuta, e produrre il valore 0 negli altri casi.
Il gruppo di ricerca di Pavia ha riprodotto il lavoro di Rosenblatt sul quantum computer di IBM disponibile liberamente a tutti coloro che si registrano su IBM Quantum Experience. Nello specifico, i ricercatori hanno utilizzato il processore da 5-qubit “Tenerife’.
Tacchino (ed il suo gruppo) hanno realizzato un algoritmo che prende in input un vettore numerico classico (come quello generato da un’immagine), lo combina con un vettore di pesi sul quantum computer, e produce come output il valore 0 o il valore 1.
Il grande vantaggio nell’uso della computazione quantistica sta nel fatto che consente la crescita esponenziale del numero di dimensioni che è in grado di elaborare. Mentre un percettrone classico può elaborare un input di dimensione N, un percettrone quantistico può elaborare un input di dimensione 2N .
I ricercatori hanno utilizzato il processore da 5-qubit, quindi, a causa del numero di qubit limitato, in questo caso è stato possibile gestire un valore di N = 2, che è equivalente ad una immagine in bianco e nero 2×2. A questo punto i ricercatori hanno provato a “chiedere” al percettrone quantistico, se l’immagine contenesse solo linee orizzontali, verticali o uno schema a scacchiera.
Il risultato è stato che il percettrone quantistico è stato in grado di classificare gli schemi in queste semplici immagini. Il gruppo di Tacchino dice: “Mostriamo che questo modello quantistico di percettrone può essere usato come un elementare classificatore nonlineare di schemi semplici”.
Il gruppo di lavoro andrà avanti per mostrare come questo tipo di percettrone potrebbe essere usato con schemi più complessi, seppur limitato dal numero dei qubit disponibili (a tal proposito, va detto che al momento dello studio portato avanti dal gruppo dell’Università di Pavia era disponibile nel cloud di IBM solo il processore a 5-qubit, ma recentemente è stato messo a disposizione anche il modello da 14-qubit “Melbourne”).
Questo lavoro ha un potenziale molto significativo. All’epoca, Rosenblatt ed altri ricercatori scoprirono presto che un singolo percettrone poteva classificare solo immagini molto semplici. Altri scienziati capirono che combinando più percettroni in più strati si poteva ottenere un incredibile miglioramento nelle prestazioni. Da allora, vari altri progressi e ritocchi hanno portato ad ottenere algoritmi di deep-learning in grado di riconoscere oggetti e volti con la stessa precisione degli umani.
Il lavoro del gruppo di Tacchino si trova ad uno stadio equivalente a quello dell’epoca di Rosenblatt: i prossimi obiettivi saranno quello di codificare l’equivalente delle immagini in scala di grigio e combinare i percettroni quantistici in reti multistrato.
“La nostra procedura è completamente generale, e potrebbe essere implementata ed eseguita su qualsiasi piattaforma in grado di eseguire della computazione quantistica universale”, questo è quanto viene affermato dal gruppo di ricerca.
Naturalmente, al momento non è disponibile un processore quantistico con un numero elevato di qubits, e ciò costituisce un fattore limitante. La maggior parte dei ricercatori è comunque d’accordo che nel prossimo futuro avremo a disposizione computer quantistici con un numero di qubit sufficiente ad essere utile alla risoluzione di questo e di altri importanti problemi computazionali.