Quantum Machine Learning

Icone color1 09

[av_textblock size=” font_color=” color=” av-medium-font-size=” av-small-font-size=” av-mini-font-size=” custom_class=” admin_preview_bg=”]

Quantum Machine Learning

Autore: Calogero Zarbo

Il Quantum Machine Learning (QML) è quell’area di ricerca che si preoccupa di esplorare l’intersezione tra il Quantum Computing (QC) ed il Machine Learning (ML). Per computazione quantistica si intende la capacità di sfruttare proprietà della fisica quantistica per effettuare dei calcoli, se con quest’ultimi si risolvono formule di algebra lineare allora si può cominciare ad intravedere la possibilità di una concreta applicazione al mondo del machine learning, che come ben sapete è fondato principalmente sulla statistica sull’algebra lineare.

La grossa domanda a cui vogliamo rispondere continuando a fare ricerca in questo campo è se i computer quantistici saranno in grado di migliorare le soluzioni ai problemi ai quali si sta cercando di rispondere con l’ausilio dell’intelligenza artificiale, in modo più preciso e più veloce. Questa è ancora una domanda aperta ma ci sono alcune evidenze che portano a credere che con uno sviluppo adeguato dell’hardware i benefici per il mondo ML saranno molteplici e di grande importanza.

Quantum computers & AI

I limiti di cosa una macchina possa imparare sono definiti dall’hardware nel quale i modelli vengono eseguiti, per esempio guardo nel recente passato possiamo vedere come l’avanzamento tecnologico nel mondo delle GPU abbia permesso al Machine Learning di fare passi da gigante rispetto al tempo in cui le GPU non erano ancora molto sviluppate e l’unico hardware a disposizione erano le CPU. Allo stesso modo con l’avvento della Quantum Power Unit (QPU) le aspettative sono quelle di fare un altro passo in avanti sia nella parte di modellistica, dal momento che le QPU funzionano sotto paradigmi molto differenti rispetto alle classiche GPU/CPU, che nei risultati ottenuti.

E’ necessario sottolineare che le QPU non andranno a sostituire l’hardware classico che noi utilizziamo ogni giorno, ma saranno un’aggiunta al corredo tecnologico ad oggi in nostro possesso e saranno destinate principalmente al mondo del calcolo scientifico e High Performance Computing (HPC). Il motivo principale di quest’ultima affermazione risiede nella natura stocastica della computazione su QPU, nella quale molti dei nostri usi abitudinari del PC non trovano applicazione.

Cosa sono le QPU

Una QPU è un chip con al proprio interno dei Quantum Bits (QBit), il modo con cui quest’ultimi vengono fisicamente realizzati determina la tipologia di Quantum Computer. Esistono diversi tipo di macchine quantistiche capaci di eseguire dei calcoli, le più importanti sono le Quantum Gates di IBM e Google, ed il Quantum Annealer di D-Wave. Le differenze principali tra queste due tipologie sono essenzialmente che mentre IBM e Google stanno cercando di creare un Quantum Computer universale, D-Wave invece si sta concentrando sulla risoluzione di particolari problemi di ottimizzazione combinatoria di una forma particolare, i Quadratic Unconstrained Binary Optimization problems (QUBO). Per quanto questa affermazione possa sembrare limitante, a conti fatti esistono tantissimi problemi reali che possono essere rappresentati da un QUBO, come ad esempio il Protein Folding per il Drug Discovery, oppure per l’individuazione di molecole specifiche nella Quantum Chemistry oppure per la creazione di classificatori nel Machine Learning.

QML Zarbo

D-Wave Quantum Annealer

Il quantum annaler di D-Wave è basato su una scoperta non proprio recente, infatti risale ad una tecnologia valsa il premio nobel nel 1973 a Brian David Josephson, Leo Esaki e Ivar Giaever per aver mostrato le proprietà di quantum superposition, entanglement e tunnelling in un circuito fisico: la Josephson Junction.

Proprio quest’ultima è alla base del circuito di D-Wave che mettendone assieme un numero estremamente elevato è in grado di avere delle QPU nell’ordine di alcune migliaia di QBits, quando solo recentemente negli altri paradigmi di quantum computing si arriva a circa un centinaio.

E’ doveroso ricordare però che non è tutto oro quello che luccica, infatti la QPU di D-Wave oltre al fatto di non essere universale non è neanche stabile nel tempo, cioè soffre molto di quel fenomeno che viene chiamato Decoherence. Per capire di cosa sto parlando è necessaria prima una premessa, per riuscire ad operare il quantum annealer ha bisogno di essere portato a temperature bassissime, parliamo di circa 15 millikelvin, che giusto per dare un ordine di comparazione è circa 180 più bassa della temperatura che troviamo nello spazio interstellare. Per quanto bassa questa temperatura possa sembrare non è comunque abbastanza per bloccare completamente il chip dal fare coupling spuri con l’ambiente esterno a causa della debole energia cinetica ancora presente all’interno del chip. Questo effetto si accumula con il passare del tempo rovinando completamente la convergenza del problema verso la sua soluzione ottima. Infatti D-Wave non garantisce l’ottimo per il problema mappato all’interno del chip, ma una soluzione suboptima in tempo costante.

Per ovviare alla decoerenza, D-Wave blocca il processo di annealing dopo al massimo 250 millisecondi, tempo nel quale si riesce ad avere una soluzione ancora non troppo sporca, e vista la natura stocastica della convergenza su QPU, ripete lo stesso esperimento N volte, e poi sceglie la soluzione migliore tra quelle trovate.

Visto quanto detto sopra, è facile capire come non sempre conviene usare una QPU, ma soltanto in quei casi dove particolari problemi di ottimizzazione combinatoria sono abbastanza complessi da giustificare l’uso di questa tecnologia ancora in fase di sviluppo, dove la soluzione anche se non ottima ma riesce ad essere uguale o migliore della sua contropartita classica e trovata in un tempo molto breve. 

Il vero vantaggio che abbiamo ad oggi per l’utilizzo del Quantum Computer non è tanto la qualità della soluzione, quanto il tempo per trovarla: Time to Solution. Questa tecnologia nel breve è in grado di poter rendere real time applicazioni che in un sistema di computazione classico invece dovrebbero essere eseguite in modo asincrono, come ad esempio l’ottimizzazione del traffico in real time che sta sperimentando Volkswagen in una città dell’India tramite l’ottimizzazione dei percorsi dei taxi usando il loro sistema di navigazione, in modo da tenere sotto controllo gli ingorghi stradali.

Vuoi sapere come poter applicare tutto questo al mondo del Machine Learning?

Iscriviti al corso e vediamo insieme come poter costruire modelli di feature selection, supervised & unsupervised learning, arrivando fino alle Boltzmann Machines utilizzando veramente il Quantum Annealer di D-Wave.

Per saperne di più ecco il nostro corso in elearning sul Quantum Machine Learning

QML Zarbo e learning

https://elearning.academy-dli.com/p/quantum_machine_learning

[/av_textblock]

Submit your response

Il tuo indirizzo email non sarà pubblicato.