Texto de Rodolfo Uchida, Data Science Manager na Semantix.
Com o recente avanço da tecnologia quântica de Noisy Intermediate-Scale Quantum Systems (NISQ) para sistemas tolerantes a falhas, ou seja, computadores quânticos com sistemas de correção de erros mais eficientes, estamos nos aproximando da era de comercialização de computadores quânticos em larga escala. A pergunta que todos nós, praticantes de IA, fazemos é como essa tecnologia pode revolucionar o aprendizado de máquina e, ainda mais importante, como ela pode nos ajudar a criar a tão aguardada Inteligência Artificial Geral (AGI).
Para responder a essa pergunta, devemos considerar quais são as áreas de maior desafio na inteligência artificial nos dias de hoje. Uma área bastante proeminente e desafiadora é o aprendizado não supervisionado/semi supervisionado de modelos generativos. Essa área é de grande relevância, pois a maior parte dos dados gerados diariamente é não rotulada. Exemplos disso são fotos, vídeos, imagens médicas, tweets, séries financeiras, texto corrido etc.
Em geral, técnicas não supervisionadas generativas consistem em aprender a probabilidade conjunta P(X,Y). Ao modelar a distribuição de probabilidade conjunta, o modelo generativo consegue capturar as dependências estatísticas e as correlações entre as variáveis observáveis e as variáveis alvo.
Essas informações são fundamentais em tarefas como geração de dados, imputação de valores ausentes e amostragem da distribuição dos dados. Os modelos generativos se diferenciam dos modelos discriminativos, que se concentram em aprender a distribuição de probabilidade condicional P(Y|X).
Os modelos discriminativos são utilizados principalmente em tarefas de classificação, onde o objetivo é prever a variável alvo Y a partir da variável observável X.
Tenho visto muitos artigos e posts mostrando como as tecnologias quânticas vão trazer benefícios, supostamente disruptivos, para a inteligência artificial. No entanto, falta profundidade nestes artigos para pessoas mais técnicas como eu, ou para grande parte dos cientistas de dados.
Gostaria de discutir aqui neste post um pouco de como esses dois mundos podem se combinar para trazer reais benefícios através de um exemplo prático.
Veremos que tal problema é bem comum em aprendizado de máquina quando queremos otimizar uma função ou modelar distribuições de probabilidades complexas, e é aí que a computação quântica pode trazer real benefício em sistemas híbridos clássico/quântico.
Gostaria também de combinar conceitos do mundo clássico, como modelos de IA baseados em energia, com conceitos quânticos de energia em um exemplo perfeito para esse tipo de analogia.
Aplicações: Restricted Boltzmann Machines (RBM)
RBM são modelos generativos com camadas ocultas estocásticas, ou seja, neurônios estocásticos que modelam probabilidades. Possuem a habilidade de aprender distribuições de probabilidade complexas sobre dados de alta dimensionalidade.
Tais redes têm aplicações como blocos fundamentais em arquiteturas para reconhecimento de fala e imagens:
A ideia por trás dessas redes vem da mecânica estatística através da distribuição de Boltzmann, na qual temos um sistema, que pode ser, por exemplo, um tanque de gás, e queremos modelar a energia total do sistema de acordo com as combinações de suas partículas e calcular probabilidades para cada arranjo diferente.
De acordo com a distribuição de Boltzmann, a probabilidade de um estado de energia ε do sistema é dada por:
Em uma RBM, podemos calcular o valor de energia para cada combinação de dados de entrada v e ativações h dos neurônios, onde w, a e b são parâmetros:
Através do valor de energia, temos uma expressão análoga a distribuição de Boltzmann:
Veremos que essa analogia com a mecânica estatística é fundamental para modelarmos esse sistema como um sistema quântico, pois buscamos uma configuração de menor estado de energia, e esse é o princípio fundamental por trás dos quantum annealers.
Agora, voltando para o treinamento de RBM, através dos dados de entrada v (onde v representa a camada visível), é possível treinar essas redes neurais para aprender a distribuição dos dados.
Cada camada adicionada nesses modelos nos fornece a habilidade de representar de maneira abstrata os dados de entrada, melhorando a generalização do modelo, porém aumentando a complexidade do treinamento dessas redes.
Para treinar uma RBM, realizamos algo análogo ao treinamento de uma rede neural. A função de perda dessa rede é dada pelo average negative log likelihood (NLL):
Utilizando o gradiente descendente como método para busca dos parâmetros (W,b,a) temos que calcular o gradiente da função de perda, após simplificarmos a expressão obtemos:
Notamos que o primeiro termo do valor esperado é relativamente simples de calcular, pois depende do dado de entrada v=x.
No entanto, para calcular o valor esperado do segundo termo, precisamos calcular o valor de 2^N configurações possíveis de v e h, onde N é a soma total de v e h. Esse problema é difícil de resolver, pois cresce de maneira exponencial em N.
Percebe-se aqui que estamos lidando com uma situação completamente diferente de um gradiente descendente de uma rede neural feedforward padrão, pois os termos que precisamos calcular no gradiente são valores esperados, não funções com números determinísticos.
Dessa forma, temos que fazer amostragem dessa distribuição para calcular esses valores, porém as distribuições são bem complexas de serem representadas.
Hinton et al. introduziu uma técnica chamada de Divergência Contrastiva, nessa abordagem utiliza-se o Gibbs Sampling para aproximar os valores esperados da distribuição desconhecida, porém temos que assumir independência de eventos para calcular a probabilidade condicional de v e h para as iterações do Gibbs Sampler.
Apesar de ser uma abordagem eficiente, ainda é uma aproximação, logo existe um erro inerente nessa abordagem que pode se propagar no cálculo de cada passo do gradiente descendente e, consequentemente, obter estimativas ruins para (W, b, a).
Para resolver isso, introduziremos um tipo de computador quântico do tipo annealer.
O que são Quantum Annealers?
Existem vários tipos de abordagem para computadores quânticos, baseados em íons aprisionados, topológicos e uma classe maior que engloba todos esses tipos chamados computadores quânticos baseados em portas quânticas.
Os annealers são uma abordagem diferente de todos esses computadores, eles se baseiam em um princípio básico da física clássica e quântica no qual todo sistema busca uma configuração na qual tem o menor estado de energia possível.
Por exemplo, as estrelas têm o formato esférico porque essa configuração de energia representa a menor possível entre as quase-infinitas possibilidades de configuração de seus átomos.
O Quantum Annealer utiliza este princípio aplicando campos magnéticos controlados por biases em uma configuração inicial de qubits, junto com o fenômeno de emaranhamento quântico, o sistema busca naturalmente a configuração de estados de menor energia possível, que é a solução do problema de otimização.
Como podemos ver no diagrama abaixo, temos uma configuração final para um sistema de 2 qubits.
O problema é formulado com formalismo Hamiltoniano, que descreve um operador de energia do sistema e busca encontrar o estado de menor energia, ou seja, minimizar o operador.
Como mencionado anteriormente, existe uma analogia implícita aqui entre as RBMs, a mecânica estatística e a distribuição de Boltzmann, o que torna essa modelagem bastante canônica.
Esses conceitos são utilizados para modelar partículas quânticas em estado de equilíbrio térmico. A diferença neste caso é que as partículas são entidades indistinguíveis e suas energias são discretas, também chamadas de estados quânticos do sistema, modelados pela distribuição de Bose-Einstein.
Um fator interessante é que a distribuição de Bose-Einstein se reduz à distribuição de Boltzmann no limite clássico, ou seja, quando modelamos poucas partículas.
Podemos também fazer a seguinte analogia, vaga mas muito válida, de que cada ativação dos nós v e h da RBM representa as partículas do sistema, e cada configuração dessas partículas possui um valor de energia associado e, consequentemente, uma distribuição de probabilidades.
Nosso objetivo é encontrar um estado de organização dessas partículas que represente o menor estado de energia possível.
A vantagem dos quantum annealers é que, por resolverem uma classe específica de problemas, eles estão mais maduros do que os baseados em portas quânticas, tendo distribuições comerciais de até 5000 qubits.
Como podemos utilizar Quantum Annealers como uma opção para CD?
Essa parte é bastante complexa, mas tentarei dar um mínimo de intuição. O primeiro passo é converter o problema para um problema quântico, no universo quântico, estamos lidando com qubits. Tais qubits são representados por spins de uma partícula, onde 0 é a notação para o spin para cima e 1 é o spin para baixo.
Um qbit pode existir em estado de superposição, logo podemos representar por:
Onde a raiz de 2 é apenas um fator de normalização.
Temos que converter o NLL em uma modelagem própria que incorpore esses fenômenos. Tal modelagem pode ser feita através do Ising model, onde é possível converter os parâmetros da rede W e b que queremos encontrar em spins e definir a energia do sistema com base na função de NLL.
Como mencionado na seção anterior, o quantum annealer utiliza a modelagem hamiltoniana. Se convertemos o NLL para um modelo de Ising, o mapeamento para um hamiltoniano de um sistema quântico é direto. Essa abordagem é equivalente a um problema de Quadratic Unconstrained Binary Optimization (QUBO).
O próximo passo é colocar o hamiltoniano no annealer. Nesta etapa, todas as possibilidades de configurações de spin do sistema são testadas e é encontrada a configuração que representa o menor estado de energia.
O resultado dessa etapa é uma configuração de spins que representa o estado de menor energia do sistema e que precisa ser traduzida para o problema original. Quando feita essa tradução, podemos obter amostragens de h e v da distribuição de maneira muito efetiva.
Por fim, através da amostragem quântica, é possível calcular o valor esperado da distribuição de v e h (último termo do gradiente de L) e consequentemente realizar a busca dos parâmetros (W, b, a) da RBM utilizando o gradiente descendente.
Não tem problema se você não conseguiu entender completamente esta parte, o único ponto importante aqui é que quantum annealers são muito bons para realizar amostragens de distribuições de probabilidade desconhecidas, mapeando para um problema de otimização e encontrando o estado fundamental.
Palavras Finais
Espero que com este exemplo você possa ter entendido um pouco da relação entre as RBMs e alguns fenômenos da física clássica e quântica, e como este é um exemplo perfeito de como esses dois mundos podem se unir em uma abordagem híbrida.
De fato, ainda dependemos da parte clássica, pois o quantum annealer faz apenas a parte da amostragem da distribuição empírica dos dados, e toda a parte de atualização de parâmetros (W, b, a) da rede é feita através do método do gradiente descendente.
Embora ainda existem desafios e aproximações envolvidas nessa integração, a crescente maturidade dos quantum annealers e sua capacidade de resolver problemas específicos os torna uma opção promissora para impulsionar ainda mais o campo do aprendizado de máquina e da inteligência artificial.
Com isso, podemos vislumbrar um futuro em que a união entre a computação quântica e o aprendizado de máquina nos levará a avanços significativos na busca pela tão almejada Inteligência Artificial Geral.