Por que começar a estudar Quantum Machine Learning

Matheus Cammarosano Hidalgo
Porto
Published in
7 min readJun 19, 2023

Introdução

Olá! Nos últimos meses tenho refletido sobre a carreira de Ciência de Dados e o quanto ela cresceu nos últimos 10 anos, sobretudo. O que me levou à seguinte reflexão: o que nós, como cientistas de dados, estaremos fazendo daqui 10 anos? O futuro pode ser incerto, mas, na nossa profissão, é quase que um impulso tentar fazer previsões com base em dados e estatística que, confesso neste caso, com um viés da minha intuição. Nesta minha inferência, tentei não olhar o futuro próximo, onde meu palpite teria a ver com o crescimento do fenômeno de democratização do consumo de Inteligências Artificiais, mas tentando inferir o próximo passo depois disso. Nas minhas leituras, deparei-me novamente com a computação quântica, um tema que ouvi pela primeira vez em 2015, quando estava escolhendo meu tema de doutorado, mas acabei não seguindo por querer seguir um trabalho de modelagem mais aplicado. Naquela época, o assunto me pareceu bem distante da realidade, então não dei tanta atenção, mas, passados quase 8 anos, o cenário mudou bastante e me incentivou a finalmente entender o porquê deste tema estar crescendo cada vez mais, não só no meio acadêmico, mas também em redes profissionais.

Começando a estudar sobre o assunto, comecei a ler textos sobre Quantum Machine Learning (QML) e, dada a natureza inerentemente probabilística da computação quântica, o tema despertou a minha atenção. A ideia desta postagem é justamente explicar o por quê QML é um ramo que merece a sua atenção. Caso queira ver mais postagens sobre a minha jornada em QML, criei um espaço pessoal com algumas postagens (como estudar QML e um classificador quântico variacional bem simples).

Mas por que estudar QML?

A computação quântica é muito diferente da computação clássica nos conceitos básicos. Enquanto esta é baseada em bits digitais, aquela tem como unidade básica os qubits (bits quânticos).

Na computação clássica, o bit digital é construído com base em dois estados, 0 e 1. Um bit digital só pode ter 0 ou 1 como estados. Fisicamente, um bit clássico pode ser medido usando um voltímetro em um circuito, e quando a diferença de tensão é zero, o estado do bit é 0 e quando essa diferença é 5V (ou 3,3V dependendo do circuito) temos o estado 1. Um bit por si só não parece uma ferramenta poderosa, mas as coisas ficam interessantes quando começamos a usar um número maior de bits, porque assim podemos construir dispositivos muito poderosos, como os nossos computadores.

O qubit tem uma interpretação mais complexa. Na mecânica quântica, as partículas elementares possuem algumas propriedades e uma delas é o spin. Por exemplo, vamos nos concentrar nos elétrons, mas esse conceito pode ser estendido para outras partículas. Os elétrons giram em torno de um eixo, de modo que podem girar em duas direções diferentes, para cima e para baixo (olhando para o eixo z).

Figura 1 — Possíveis sentidos para o spin

Vamos nomear essas direções como 0 e 1. Parece a parte clássica, certo? Agora vamos começar com as diferenças: enquanto na computação clássica eu posso medir o estado do bit com um único voltímetro, na mecânica quântica as coisas são completamente diferentes, e isso se deve ao Princípio da Incerteza de Heisenberg, que confere uma natureza probabilística à mecânica quântica. De fato, um qubit tem alguma probabilidade de estar no estado 0 ou 1, o que significa que nem sempre temos certeza em qual estado nosso qubit está (se medirmos o qubit, às vezes será 1 ou 0, dependendo da probabilidade)! Isso parece problemático a princípio, mas esse é um dos encantos da computação quântica, o qubit é muito mais poderoso em comparação com um bit clássico, porque pode armazenar muito mais informações! Pode funcionar como um bit clássico se trabalharmos com 100% de probabilidade no estado 0 ou 1, mas o ideal é trabalhar com a superposição, que é um estado misto, onde o qubit tem alguma probabilidade de estar no estado 0 ou 1, e a soma dessas probabilidades deve ser 1 (100%). Usando um pouco de matemática, um estado quântico em um sistema de um qubit pode ser representado como:

onde:

E o que seriam os símbolos | e >? Essas são as notações básicas para computação quântica, bra (|) e ket (>), sendo que o bra-ket (|x>) representa um estado quântico. Aqui estou dizendo que o estado quântico pode ser representado como α vezes o estado 0 mais β vezes o estado 1, onde α e β são números complexos, com a restrição acima, que modela a probabilidade.

Assim, a primeira razão pela qual acho que o QML será algo gigantesco é: a computação quântica é baseada em eventos probabilísticos na sua essência, o que é o núcleo dos modelos ML.

Além disso, quando trabalhamos com mais de um qubit, a coisa fica ainda mais interessante, porque podemos emaranhar qubits! Mas o que é isso?

Imagine que temos 2 qubits agora, então temos quatro estados possíveis:

|00>, |01>, |10> e |11>

Onde |00> representa o estado com os 2 qubits em zero e assim sucessivamente.

Agora podemos escrever um estado quântico genérico da seguinte maneira:

onde:

Portanto, agora nosso estado quântico é uma combinação linear dos quatro estados quânticos básicos.

Mas agora, com 2 qubits, podemos projetar um circuito quântico no qual podemos emaranhar os estados de cada qubit. E o que é isso? A rotação do spin do meu primeiro qubit vai depender do meu segundo qubit e vice-versa, ou seja, os estados de spin dos elétrons não são mais estados independentes! E mais uma vez, reparem como isso se relaciona com ideias básicas de estatísticas, eventos dependentes e independentes.

Tudo o que contei até agora foi para sistemas de 1 e 2 qubits, agora perceba que podemos fazer muito mais coisas com um sistema de 2 qubits do que com um sistema de 2 bits digitais… Agora imagine a medida que vamos aumentando ainda mais a quantidade de qubits…

Agora posso dizer o segundo ponto sobre por que acho que o QML será enorme: o potencial no que tange capacidade de armazenamento e processamento de dados nos computadores quânticos tende a ser absurdamente maior do que nos clássicos.

Continuando com esse argumento, um sistema de n qubits tem 2n estados possíveis que podem estar em superposição e/ou emaranhados e isso já leva ao meu terceiro ponto, que é uma consequência do segundo: na melhor das hipóteses, um algoritmo de computação quântica pode fornecer uma aceleração exponencial em comparação com um algoritmo de computação clássico equivalente (quantum speed-up).

Isso é enorme, certo? Mas as coisas são complicadas na realidade, porque isso não ocorre com todos os algoritmos, em alguns casos ainda não há ganhos com o uso de computadores quânticos. O ganho de velocidade depende da forma como se implementa o algoritmo no computador quântico. Existem certas classes de problemas onde já se tem implementações com ganhos exponenciais e outras ainda não (e talvez nem venham a ter). Além disso, ainda estamos progredindo em hardware, então nossos computadores quânticos ainda são limitados na quantidade de qubits (mas há uma evolução rápida) e a maioria dos computadores são um tanto ruidosos, o que interfere na qualidade dos cálculos. Mas o fato de ainda ter tanto desenvolvimento pela frente também é uma amostra do quão rico e valioso é estudar computação quântica!

Até agora eu apenas falei sobre computação quântica, e QML? Bem, a computação quântica parece ser uma estrutura muito promissora para usar Machine Learning, mas ainda não temos certeza sobre qual é a melhor maneira de usá-la. Primeiro porque é um campo de estudo muito novo e segundo porque ainda temos algumas limitações quanto ao uso da computação quântica (a melhor forma de aprender é usando simuladores de dispositivos quântico em Python, que obviamente são limitados). Mas há muitos estudos em andamento e acho que é uma questão de tempo para encontrarmos a melhor maneira de usar o QML e quando isso acontecer uma nova revolução na IA começará. E esta é a última e mais importante razão para começar a estudar QML.

Para finalizar, aqui estão algumas leituras básicas a respeito de tópicos que trouxe neste texto (nada muito formal):

Estados quânticos: https://en.wikipedia.org/wiki/Quantum_state

Desafios da computação quântica: https://universalinstitutions.com/the-challenges-of-quantum/

Quantum speed-up: https://www.microsoft.com/en-us/research/blog/quantum-speedups-for-unstructured-problems-solving-two-twenty-year-old-problems/

--

--