Quantum Machine Learning
A aprendizagem automática quântica (QML) treina circuitos quânticos parametrizados e kernels quânticos com otimizadores clássicos. Como funciona e em que ponto se encontra.
A aprendizagem automática quântica (QML) aplica computadores quânticos a tarefas de aprendizagem automática, geralmente treinando circuitos quânticos parametrizados cujos ângulos das portas desempenham o papel de pesos do modelo, ou utilizando um processador quântico para calcular similaridades em métodos de kernel. Um registo de n qubits é descrito por 2^n amplitudes complexas, pelo que até um circuito pequeno transforma um vetor muito grande, mas uma medição devolve apenas uma cadeia aleatória de bits, e todas as grandezas de que um modelo precisa têm de ser estimadas a partir de muitas execuções repetidas, chamadas shots. O campo também abrange a aprendizagem clássica aplicada a dados de experiências quânticas; Jacob Biamonte, Seth Lloyd e colegas analisaram ambas as vertentes numa revisão da Nature publicada em 2017.
Circuitos quânticos variacionais#
A maior parte da QML em hardware atual é híbrida. Um computador clássico codifica cada entrada como ângulos de rotação, um processador quântico executa um circuito parametrizado de rotações e portas de entrelaçamento, e os valores de expectativa medidos alimentam uma função de perda clássica que um algoritmo de otimização clássico minimiza, muitas vezes com simples descida do gradiente. Estes modelos também são chamados redes neuronais quânticas, em referência às camadas treináveis de uma rede neuronal clássica. O mesmo ciclo executa o solucionador próprio quântico variacional (VQE), apresentado em 2014 para estimar energias do estado fundamental de moléculas, e o QAOA, um algoritmo variacional para os problemas combinatórios visados pela otimização quântica.
A retropropagação não consegue observar o interior de um processador quântico, pelo que os gradientes são calculados pela regra do deslocamento de parâmetros: para uma porta de rotação, a derivada exata de um valor de expectativa equivale a metade da diferença entre execuções com o ângulo deslocado em +π/2 e -π/2. Simular um classificador de dois qubits com NumPy mostra todo o ciclo:
import numpy as np
rng = np.random.default_rng(0)
x = rng.uniform(-np.pi, np.pi, size=(100, 2)) # 100 points with 2 features each
y = np.sign(np.cos(x[:, 0] - 1.0) * np.cos(x[:, 1] + 0.5)) # XOR-like labels
def circuit(features, theta):
"""Simulate RY encoding, trainable RY rotations, and a CNOT on 2 qubits, then return <Z> of qubit 2."""
half = (features + theta) / 2 # RY(theta) after RY(x) is one rotation by x + theta
state = np.kron([np.cos(half[0]), np.sin(half[0])], [np.cos(half[1]), np.sin(half[1])])
state = state[[0, 1, 3, 2]] # CNOT flips qubit 2 when qubit 1 is |1>
return state @ np.diag([1, -1, 1, -1]) @ state
theta = np.zeros(2)
for _ in range(100):
errors = np.array([circuit(xi, theta) for xi in x]) - y
for i in range(2): # parameter-shift rule: an exact gradient from two extra circuit runs
shift = np.eye(2)[i] * np.pi / 2
slopes = np.array([(circuit(xi, theta + shift) - circuit(xi, theta - shift)) / 2 for xi in x])
theta[i] -= 0.5 * np.mean(errors * slopes)
accuracy = np.mean([np.sign(circuit(xi, theta)) == yi for xi, yi in zip(x, y)])
print(f"theta = {theta.round(2)}, accuracy = {accuracy:.2f}")Apresenta theta = [-0.99 0.4 ], accuracy = 0.97: o circuito aprende desvios angulares próximos de -1,0 e 0,5, que geraram as etiquetas, e classifica corretamente 97% dos pontos. O CNOT faz com que o valor de expectativa do segundo qubit seja o produto dos dois cossenos codificados; sem ele, esse qubit só veria a segunda característica. Em hardware, cada valor de expectativa seria, por si só, uma média de milhares de shots. O PennyLane, o Qiskit Machine Learning e o TensorFlow Quantum fornecem os mesmos blocos de construção com simuladores e acesso a processadores quânticos reais.
Kernels quânticos e modelos híbridos#
Um kernel quântico transforma duas entradas em estados quânticos com um circuito de codificação fixo e estima a sua sobreposição, que é então utilizada como medida de similaridade num classificador de vetores de suporte (SVM) clássico. Vojtěch Havlíček e colegas da IBM demonstraram esta técnica num processador supercondutor num artigo da Nature de 2019. Os dados reais têm muito mais características do que os qubits disponíveis, pelo que os pipelines comprimem primeiro as entradas com análise de componentes principais (PCA) ou uma rede pré-treinada. Em 2020, Andrea Mari e colegas da Xanadu utilizaram esta forma de aprendizagem por transferência, enviando características de uma ResNet-18 pré-treinada para um circuito variacional de 4 qubits para classificação de imagens.
Estado da vantagem quântica#
A vantagem mais evidente aplica-se a dados quânticos. Em 2022, Hsin-Yuan Huang e colegas da Caltech e da Google Quantum AI utilizaram até 40 qubits supercondutores e 1 300 portas quânticas no processador Sycamore da Google para mostrar que um sistema de aprendizagem que armazena estados quânticos e os processa num computador quântico pode aprender propriedades de um sistema quântico com exponencialmente menos experiências do que qualquer sistema que meça cada cópia separadamente.
Os ganhos de velocidade em dados clássicos são menos consensuais. As primeiras propostas basearam-se no algoritmo HHL de 2009 para sistemas lineares, que requer entradas esparsas e bem condicionadas já armazenadas em memória quântica, e, em 2018, Ewin Tang encontrou um algoritmo clássico inspirado na computação quântica que eliminou a aceleração exponencial alegada para sistemas de recomendação quânticos. O treino enfrenta planaltos estéreis, identificados por Jarrod McClean e colegas em 2018: em muitos circuitos inicializados aleatoriamente, os gradientes diminuem exponencialmente com o número de qubits, uma versão quântica do problema do gradiente evanescente, que também faz crescer exponencialmente o número de shots necessário. Os processadores atuais são dispositivos quânticos ruidosos de escala intermédia (NISQ), como John Preskill os designou em 2018, cujos erros nas portas limitam a profundidade dos circuitos.
O carregamento de dados é outro gargalo. Uma única imagem RGB de 640 x 640 no tamanho de entrada padrão de Ultralytics YOLO26 contém 1.228.800 valores, e a codificação de amplitude os codifica usando 21 qubits, mas preparar um estado arbitrário de 21 qubits exige um número de portas quânticas que cresce com 2²¹, aproximadamente o mesmo número de operações que uma CPU precisa para ler os pixels.










