Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original
*Trabalho realizado com apoio do projeto IQUANTA (FINEP/CTINFRA 002/2003), http://www.dsc.ufcg.edu.br/~iquanta/. O Estado da Arte em Redes Neurais Artificiais Quânticas* Raul Fernandes Herbster1 Wilkerson de Lucena Andrade1 Herman Martins Gomes1 (Orientador) Patrícia Duarte de Lima Machado1 (Co-orientadora) 1Universidade Federal de Campina Grande Departamento de Sistemas e Computação Grupo de Modelos Computacionais e Cognitivos Av. Aprígio Veloso s/n, Bodocongó 58109-970 - Campina Grande PB {raul,wilker,hmg,patricia}@dsc.ufcg.edu.br Abstract. Quantum Neural Networks have emerged as a new approach in the field of Quantum Computation, having properties that, in thesis, may overcome the problems of classical Neural Networks. In the past decade, Quantum Neural Network models have been proposed, however most of them do not converge to adopting the same principles from the Quantum Mechanics, nor agree with respect to the hardware/software requirements for their implementation. There is also the need for a classification of the models based on a set of consistent criteria. The objective of this work is, therefore, to present the state of the art of Quantum Neural Networks by reviewing and making a comparative analysis of the existing models. Resumo. Redes Neurais Quânticas surgiram como uma nova abordagem no campo da Computação Quântica, possuindo propriedades que permitem eliminar, em tese, os problemas dos paradigmas de Redes Neurais clássicas. Na última década, modelos de Redes Neurais Quânticas têm sido propostos, porém nem todos convergem quanto aos conceitos incorporados da Mecânica Quântica, nem tampouco quanto aos requisitos de hardware/software para sua implementação. Há também a carência de uma sistematização dos modelos com base em um conjunto de critérios consistentes. O objetivo deste trabalho é, portanto, apresentar o estado da arte em Redes Neurais Quânticas revisando e realizando uma análise comparativa entre os modelos existentes. 1. Introdução É possível encontrar inúmeras evidências na literatura [Shor, 1997], [Deutsch, 1989], [Feynman, 1982], [Nielsen et al, 2000] de que a incorporação de conceitos quânticos pode minimizar ou eventualmente eliminar problemas inerentes aos modelos de computação clássica, uma vez que a Computação Quântica tem como principais características o processamento e a transmissão de dados armazenados em estados quânticos de uma forma muito mais eficiente que os modelos de computação convencionais. A Computação Quântica tem potencial de resolver problemas que são 2 considerados “intratáveis” por máquinas clássicas atuais, ou seja, solucionar problemas que ainda não foram resolvidos devido a grande dificuldade computacional. Podemos definir Computação Quântica como sendo o tipo de computação que utiliza a capacidade dos sistemas quânticos (coleção de partículas sub-atômicas) de estarem em vários estados ao mesmo tempo. Teoricamente, essas superposições permitem a realização de múltiplas computações simultaneamente. Dessa forma, essa capacidade, combinada com a interferência entre os estados, aumentam o poder computacional em relação às Máquinas de Turing. Problemas considerados intratáveis pela Computação Clássica, como a fatoração de grandes números inteiros, seriam rapidamente resolvidos por um computador quântico [Shor, 1997]. De um ponto de vista prático, os resultados de Shor [Shor, 1997] mostraram que um computador quântico pode violar a segurança das transações que utilizam o protocolo RSA, padrão para transações seguras na Internet. De uma forma geral, uma rede neural é um modelo desenvolvido com a finalidade de modelar o processamento que ocorre em estruturas neurais biológicas ao realizar uma tarefa particular ou uma determinada função delegada [Haykin, 1999]. Embora a gama de problemas que podem ser resolvidos com a ajuda de uma rede neural seja bastante grande, há limitações que impedem a resolução, de forma eficiente, de muitos desses problemas. Por exemplo, uma limitação refere-se ao tempo de treinamento de redes neurais, que, dependendo do algoritmo de aprendizagem (backpropagation, na maioria dos casos) tende a ser muito lento. Algumas vezes são necessários milhares de ciclos para se chegar a níveis de erros aceitáveis, principalmente se estiver sendo simulado em computadores seriais, pois o processador deve calcular as funções para cada unidade e suas conexões separadamente, o que pode ser problemático em redes muito grandes, ou com grande quantidade de dados. Considerando a natureza multidisciplinar e as limitações de Redes Neurais Artificiais, aliadas à hipótese de que as sinápses entre neurônios seriam mediadas por fenômenos quânticos [Penrose, 1994], foi natural o surgimento do interesse de pesquisas em Redes Neurais que incorporam conceitos de Física Quântica. Redes Neurais Quânticas é uma área promissora no campo da computação e informação quânticas. No entanto, ainda há pouco entendimento dos componentes essenciais de uma Rede Neural Artificial baseada em técnicas e conceitos quânticos [Gupta et al., 2001]. Na última década, alguns modelos de Redes Neurais Quânticas foram propostos na literatura, porém nem todos convergem quanto aos conceitos incorporados da Mecânica Quântica, nem tampouco quanto aos requisitos de hardware ou software (algoritmos) necessários para sua implementação. É importante também destacar a carência de uma classificação ou sistematização dos modelos propostos com base em um conjunto de critérios consistentes, tais como: a forma de propagação e representação da informação, a organização em camadas, tipos de unidades de processamento e de conexões, tecnologias empregadas na implementação e custo. Como um trabalho relacionado, pode-se citar o artigo de Faber e Giraldi [Faber et al., 2004], o qual se propôs a apresentar uma visão geral da área de Redes Neurais Quânticas. Em uma espécie de união de conceitos, os autores mostram uma abordagem baseada em outros modelos já existentes [Gupta et al., 2001], [Behrman et al., 2000], sem, contudo, descrever outras abordagens (como os trabalhos referenciados em 3 [Altaisky, 2004], [Narayanan et al., 2000] e [Shafee et al., 2004]). Em um outro trabalho correlato, Ventura [Ventura et al., 2000] propõe uma introdução para o campo das Redes Neurais Quânticas, citando alguns modelos e conceitos fundamentais. Entretanto, não há descrições detalhadas dos modelos, assim como não existe uma análise comparativa entre os mesmos. O propósito do presente trabalho é, portanto, apresentar o estado da arte em Redes Neurais Quânticas, realizando uma análise comparativa entre os modelos existentes, a fim de que se possa extrair características comuns. Um estudo desta natureza é primordial à dinamização e desenvolvimento da área de Redes Neurais Quânticas, uma vez que, dispondo de uma análise comparativa, a proposta de um modelo de Redes Neurais Quântica consistente pode ser facilitada. Maiores detalhamentos com relação à implementação, seja ela via software ou hardware, não foram incluídos neste trabalho, visto que poucos modelos são simulados ou implementados, bem como a documentação necessária é insuficiente ou não está disponível. O artigo é estruturado da seguinte forma. Inicialmente, na Seção 2, são apresentados conceitos básicos de Computação Quântica, em linguagem introdutória, bem como as principais referências para estudos mais aprofundados. Logo após, na Seção 3, apresentamos os modelos de redes neurais quânticas encontrados na literatura, descrevendo-os brevemente. Em seguida, na Seção 4, mostramos o estudo comparativo entre os modelos estudados. Finalmente, a Seção 5 contém as conclusões. 2. Princípios de Computação Quântica A Informação Quântica é uma área de pesquisa abrangente que busca por avanços nos campos da Ciência e da Engenharia, e envolve teorias e modelos para aquisição, transmissão e processamento da informação através da utilização de princípios da Mecânica Quântica, tais como emaranhamento, superposição e decoerência, os quais serão apresentados nas próximas subseções. Nos primórdios da Computação Quântica na década de 1980, Feynman [Feynman, 1982], foi um dos primeiros que argumentaram sobre o desenvolvimento de computadores baseados nas leis da Mecânica Quântica com a finalidade de modelar efetivamente sistemas quânticos, já que máquinas clássicas não são capazes de fazê-lo eficientemente. Neste mesmo período, Deutsch [Deutsch, 1985], [Deutsch, 1989], levantou dúvidas a respeito de uma possível computação mais eficiente em um computador quântico em contraste à computação realizada por uma máquina clássica. Com essa questão a responder, ele gerou extensões da teoria da Computação Quântica com a noção de Computador Quântico Universal, Máquina de Turing Quântica [Deutsch, 1985] e com as Redes Computacionais Quânticas [Deutsch, 1989]. Pode-se, também, citar o desenvolvimento dos primeiros algoritmos quânticos no início da década de 1990 [Deutsch, 1992], [Shor, 1994], propostos para resolução de aplicações fundamentais (e.g., fatoração de grandes números inteiros), tais como a criptografia baseada no protocolo RSA. A Computação Quântica, subárea da Informação Quântica que trata mais especificamente do processamento da informação, objetiva tirar proveito da capacidade inerente dos sistemas quânticos de estarem simultaneamente em múltiplos estados. Dessa forma, várias computações podem ser realizadas ao mesmo tempo e de forma 4 independente. Para maiores detalhes, o leitor pode consultar o livro de Nielsen e Chuang [Nielsen et al, 2000], de onde foram obtidos os conceitos utilizados nessa seção. Alguns princípios são comumente utilizados para explicar o massivo poder computacional de um computador quântico. Dentre os vários princípios existentes, pode-se destacar o princípio da incerteza, o qual afirma ser impossível realizar a medição da velocidade e do momento de uma partícula ao mesmo tempo, além do princípio dos múltiplos universos, no qual um objeto pode existir em diferentes universos, onde cada universo representa um dos possíveis estados descritos pelo seu vetor de estados. A formalização matemática da Computação Quântica baseia-se na representação e manipulação de estados quânticos em um espaço de Hilbert, o qual pode ser definido como um espaço vetorial complexo e linear, munido de produto interno, e completo em relação à norma definida por esse produto interno. O espaço vetorial é complexo porque os componentes de um vetor de estado têm valores complexos, ou seja, são números do tipo a + bi, em que a e b são reais e i= 1− . É linear porque a soma de vetores e a multiplicação de vetores por números produzem vetores no mesmo espaço. Normalmente, os vetores nesse espaço obedecem à notação de Dirac, comumente utilizada na área, sendo representados através dos símbolos ϕ (bra) e ϕ (ket). Como na Computação Clássica, a Computação Quântica possui uma unidade elementar de informação, o qubit, definido como sendo a superposição de dois estados independentes 0 e 1 (base ortogonal), denotado por 10 β+α , onde α e β são números complexos tais que 122 =β+α . De uma forma geral, vetores de estado são definidos através de uma escolha particular de vetores bases e um conjunto de números complexos, os quais indicam as contribuições de cada componente base para o vetor de estado completo. Um sistema quântico simples de 2 estados pode, por definição, estar em um de dois possíveis estados. Conseqüentemente, o vetor de estado desse sistema tem exatamente 2 componentes Evidencia-se o interesse crescente em Computação Quântica devido as suas vantagens em relação à Computação Clássica (e.g., velocidade de processamento), aumentando, assim, o número de pesquisas na área, dentre elas: Circuitos, Redes Neurais e Comunicação Quânticas. A Computação Quântica é baseada em princípios da Mecânica Quântica, cuja teoria pode ser encontrada em diversos livros especializados [Feynman et al., 1965], [Nielsen et al, 2000]. Apresentaremos, a seguir, algumas idéias necessárias para um entendimento elementar da Computação Quântica. 2.1. Superposição Linear Um fato interessante na Mecânica Quântica é a existência de partículas (fótons, elétrons, etc) em mais de um estado diferente ao mesmo tempo. Isto é chamado de fenômeno da Superposição Linear. Por exemplo, um estado 2 10 + representa uma superposição de dois estados: 0 e 1 com probabilidade 2 1 2 1 2 ==P de estar em qualquer um dos dois estados. 5 Na realidade, quando se realiza uma medição, ou seja, quando se aplica uma observável (operador) ao estado, chega-se a um valor real representando o estado da partícula após a medição. Esta operação "colapsa" um estado de superposição em um estado simples, ou seja, o sistema, antes composto por diversos estados, será reduzido a um dos seus estados elementares possíveis. Do ponto de vista matemático, para criar um estado de superposição (ou seja, assumir diferentes estados ao mesmo tempo), são utilizados operadores lineares simples como o operador Hadamard, que recebe um qubit como entrada, e o coloca em estado de superposição. 2.2. Emaranhamento Um sistema composto por partículas é dito emaranhado quando não é possível representar o seu estado como o produto tensorial1 dos estados componentes, ou seja, não podemos expressar o estado do sistema na forma de uma equação apropriada. Quando um estado composto de dois subsistemas está emaranhado, não podemos atribuir um estado quântico puro para cada subsistema sozinho. É possível escrevermos estados quânticos misturados para cada subsistema considerado sozinho. O emaranhamento consiste na necessidade de usar várias moléculas representantes independentes (na realidade, ortogonais) para cada um dos sistemas, juntamente com o fato desses representantes estarem associados (ou correlacionados) aos pares, um para cada sistema, com o mesmo autovalor (do auto-espaço do sistema). O emaranhamento é responsável por interessantes possibilidades relacionadas à Teleportação, Criptografia Quântica e Computação Quântica. Uma forma de produzir estados emaranhados é através da passagem de um feixe de luz (tipicamente um laser) através de um cristal não-linear. O feixe é dividido em dois outros feixes de comprimento de onda igual à metade do feixe original. Os fótons presentes nos dois feixes têm uma polarização bem definida, uma parte tem polarização vertical e a outra horizontal. Mas os fótons que estão nos dois pontos de intercessão entre os dois feixes estão correlacionados pela polarização, se um está com polarização vertical, o outro estará na polarização horizontal. Neste caso, estão emaranhados. A Figura 1 apresenta um pequeno esquema da criação de pares emaranhados, ou fótons gêmeos. Figura 1. Criação de pares emaranhados. 1 O produto de Kronecker, ou produto tensorial, é útil para resolver equações lineares em que a incógnita é uma matriz. 6 2.3. Coerência e Decoerência Os fenômenos da coerência e decoerência estão intimamente ligados a superposição linear. Um sistema quântico é dito ser coerente se ele está em superposição linear de seus estados básicos. Por outro lado, decoerência é o processo pelo qual um sistema quântico decai para um estado clássico através de sua iteração com o ambiente, ou seja, há uma perturbação do sistema, reduzindo-o a um único estado. 3. Modelos de Redes Neurais Quânticas Acredita-se que a Computação Quântica apresente grandes vantagens em relação à Computação Clássica, podendo resolver ou minimizar uma série de seus problemas. Neste sentido, espera-se também que as Redes Neurais Quânticas possam apresentar vantagens em relação às Redes Neurais Clássicas. Dentre algumas das características atribuídas a Redes Neurais Quânticas, pode-se citar a capacidade exponencial de memória (resultante da possibilidade de uma partícula estar em mais de um estado ao mesmo tempo, aumentando, assim, a quantidade de informação que pode ser armazenada num sistema quântico) [Ventura et al., 1998], a rápida capacidade de aprendizagem (se os vetores de pesos forem representados como uma superposição linear de estados, o processo de aprendizagem de múltiplos padrões pode ocorrer paralelamente em cada um dos estados), a eliminação do problema do esquecimento catastrófico (sendo a rede treinada independentemente para cada novo padrão, não há o problema de esquecimento de padrões anteriormente aprendidos, na presença de novos padrões de treinamento), soluções utilizando redes de uma única camada para problemas linearmente inseparáveis [Menneer et al., 1995], dentre outros. Nos últimos anos, com o crescente interesse por Mecânica Quântica, o desenvolvimento de áreas a ela relacionadas tem sido intenso. Dessa forma, seguindo a mesma tendência, a área de Redes Neurais Quânticas tem sido fonte de vários trabalhos que exploram os conceitos e ferramentas da Mecânica Quântica para superar limitações e problemas existentes, propondo novos modelos e introduzindo novos conceitos. Existem opiniões bastante díspares sobre o que seja uma Rede Neural Quântica. Muitos pesquisadores aplicam suas próprias analogias e estabelecem conexões divergentes entre os conceitos relativos à Mecânica Quântica e às Redes Neurais Artificiais [Ventura et al., 2000], sintetizados na Figura 2. Mecânica Quântica Redes Neurais Artificiais Função de Onda Neurônios Superposição (coerência) Interconexões Medição (decoerência) Evolução Emaranhamento Regra de aprendizagem Transformações unitárias Função de ativação Figura 2. Conceitos da Mecânica Quântica versus Conceitos de Redes Neurais Artificiais. Ainda não há, a princípio, uma correspondência direta entre os conceitos apresentados na figura acima. Na verdade, a tarefa de estabelecer uma analogia entre os conceitos é uma das tarefas mais árduas no momento de concepção de modelos de ? 7 Redes Neurais Quânticas [Ventura et al., 2000]. Portanto, a área carece de uma organização do conhecimento. Atualmente, não há nenhum trabalho que realize uma análise dos principais modelos propostos e sugira uma classificação baseada em um conjunto de atributos escolhidos. Com este objetivo, realizamos uma pesquisa dos modelos de Redes Neurais Quânticas mais conhecidos na literatura. Nas subseções seguintes, uma breve descrição dos modelos coletados e analisados será apresentada. 3.1. Implementação via Dispositivos Ópticos A abordagem proposta por Altaisky [Altaisky, 2004] sugere a implementação de uma rede neural baseada nos princípios da Informação Quântica, uma vez que Feynman [Feynman, 1982] propôs que computadores quânticos poderiam ter maior poder computacional do que máquinas clássicas de Turing. Assume-se a possível implementação em hardware [Knill et al., 2001], através de instrumentos ópticos (beam splitters, phase shifters, photon sources e photo detectors). O autor utiliza operadores lineares, apontando uma dificuldade em implementar operadores não-lineares em equipamentos ópticos. Utilizando o perceptron como modelo clássico como analogia, e considerando um sistema quântico com n entradas n21 x,,x,x K , a saída y é dada por: ∑ = = n 1j jj xwˆFˆy em que as saídas ( y ) e as entradas ( jx ) são consideradas estados quânticos. Os pesos sinápticos são substituídos por matrizes 2×2 ( jwˆ ) de variáveis complexas que atenuam o sinal e mudam a fase do feixe, atuando nas bases ( 0 , 1 ). O autor insere, na equação acima, o operador desconhecido Fˆ , implementado por portas quânticas lógicas. A regra de aprendizagem é dada por: jjj x)y(t)dη((t)wˆ1)(twˆ −+=+ em que d é a saída desejada. 3.2. Implementação via Circuitos Quânticos Esta abordagem de Gupta [Gupta et al., 2001] é baseada no modelo de redes computacionais quânticas, que consiste em uma máquina computacional formada por portas quânticas que realizam passos computacionais sincronizados (modelo de Deutsch [Deutsch, 1989]), ou seja, a mesma informação pode ser processada simultaneamente em mais de uma porta quântica, não afetando o resultado final da computação. Na Figura 3, estão representados alguns dos elementos que compõe as redes computacionais quânticas de Deutsch. 8 Figura 3. Componentes do modelo de redes computacionais quânticas de Deutsch (adaptação de [Gupta et al., 2001]). Como em um modelo de Deutsch, ilustrado na Figura 3, o modelo proposto possui portas quânticas interconectadas por “fios”. Utilizam-se portas sources (porta quântica que gera qubits) e sinks (meio pelo qual o qubit deixa o sistema), além do operador unitário reversível. As unidades computacionais no modelo de Deutsch são as portas quânticas nas quais entradas e saídas são qubits. Para isso, propõe uma porta inversível e não-linear, o operador D-gate (D(m,δ) – limiar δ quando aplicado a um sistema com n ≥ m qubits). A porta D-gate pode ser interpretada como um operador que envolve estados gerais em torno de um simples (estável) estado m0 . Assim, esta porta não pode ser utilizada em um sistema isolado onde o único operador permitido é unário. Define-se o comportamento do operador D-gate da seguinte forma: seja o estado dos m qubits representados por números binários de 0 até 2m – 1 (ou, equivalentemente, strings binárias 0m até 1m); as amplitudes de probabilidade antes e depois da aplicação do operador D-gate são )jA( e )j(A' , respectivamente, ou seja, c0'A0A 00'A0A mm mm =⇒δ> =⇒δ< em que a amplitude de probabilidade c denota uma constante usada para codificação. Por exemplo, se um sistema consiste de n qubits, então n mA 2 1)0´( = é suficiente para o caso δ>)0( mA . Nesse caso, o limiar δ é escolhido tal que n210 <δ< . Verifica-se um comportamento semelhante à função threshold (limiar), bastante comum nas Redes Neurais Clássicas. O autor especula sua possível implementação, definindo uma rede neural quântica RNQ(s(n),d(n)) de precisão p(n) como um circuito de altura s(n) e comprimento d(n), construída a partir de portas D e U de precisão p(n). Altura denota o número de qubits em um circuito e comprimento denota a maior seqüência de portas da entrada até a saída. Altura, comprimento e precisão são importantes medidas de complexidade teórica que quantificam vários aspectos da computação. Na Figura 4, mostra-se um exemplo de tal rede. U 0 1 Operador Unitário Local Source Gates Sink Gate 9 Figura 4. Uma Rede Neural Quântica de altura 5 e comprimento 4 (adaptação de [Gupta et al., 2001]). O trabalho não apresenta resultados de experimentos de simulação do modelo proposto. Além dessa restrição, o modelo carece de uma descrição mais detalhada, já que o trabalho dá ênfase maior ao operador D-gate. Verifica-se, também, a inexistência da porta quântica introduzida no trabalho (D-gate) em simuladores de Portas Quânticas, o que limita possíveis simulações. 3.3. Implementação via Quantum Dot Molecules A abordagem de Behrman [Behrman et al., 2000] explora simulações de redes neurais quânticas a partir de arrays de Quantum Dot Molecules2 (Figura 5), tecnologia que está bem dominada na indústria de semi-condutores. Figura 5. Um grupo de quatro moléculas pode ser depositado em um arranjo como pontos em um dado (adaptação de [Behrman et al., 2000]) Assim, o trabalho mostra que uma simples Quantum Dot Molecule pode atuar como uma rede neural quântica temporal, pois as saídas resultantes do processamento da rede neural dependem do tempo no qual foram observadas. As entradas são inseridas fixando os estados iniciais de uma Quantum Dot Molecule e as saídas são verificadas através da leitura de seus valores em um tempo T. Como mostrado na Figura 6, as unidades de processamento são os estados da molécula (Quantum Dot Molecule) em sucessivos intervalos de tempo. Os nós são excitados usando de feixes de luz e depois, controlados externamente. Uma vez que a rede neural quântica tem seu comportamento modificado de acordo com o número de excitações, influenciando na aprendizagem, a quantidade de excitações pode servir como parâmetro de “peso” das sinapses. Utilizando o princípio de superposição de estados, múltiplas entradas podem ser codificadas em um único estado. Na Figura 6 também são apresentadas algumas 2 Quantum Dot Molecules são pequenas regiões ou ilhas em um semicondutor compostas por um número de elétrons, ocupando estados quânticos discretos e bem-definidos. Se tais regiões no semicondutor estão muito próximas umas das outras, o excesso de elétrons pode fluir entre as ilhas (Behrman et al., 2000). U1 D(2,δ) U2 D(2,δ) q1 q2 q3 q4 q5 10 iterações entre estados não seqüenciais, uma vez que nesse modelo não podemos afirmar se há uma propagação progressiva ou retroativa da informação. Figura 6. Representação da discretização de uma simples Quantum Dot Molecule interagindo com seu ambiente (adaptação de [Behrman et al., 2000]). Os autores realizaram experimentos, através da implementação de seu modelo via hardware, utilizando uma simples Quantum Dot Molecule, tendo obtido resultados satisfatórios na simulação de duas portas lógicas clássicas: OR e AND. Após cerca de 14.000 iterações (ou épocas de treinamento), o erro de aproximação das saídas da porta OR convergiu para 0.01%. No caso da porta AND, o erro convergiu para o mesmo patamar após 18.000 iterações. 3.4. Baseado na Experiência da Dupla Fenda Esta abordagem de Narayanan [Narayanan et al., 2000] baseia-se na arquitetura da experiência da dupla fenda, que, segundo os autores, provê a base para redes neurais quânticas gerais. Os autores definiram uma arquitetura exemplificada na Figura 7, que assume as fendas como neurônios de entrada; as conexões entre a camada de entrada e a próxima camada são as ondas criadas pelo padrão, agora em superposição. As unidades de saída constituem o detector que reflete o padrão de chegada. Figura 7. Versão moderna do experimento da dupla-fenda de Young (figura adaptada de [Narayanan et al., 2000]). 11 Os pesos podem ser modificados inserindo filtros de mudança de fase. Podemos traçar uma arquitetura genérica em vários níveis. Para uma rede de duas camadas, podemos ter quatro componentes quânticos, gerando 16 tipos de redes neurais (entre quânticas e não-quânticas). Os quatro componentes citados (ver Figura 8) são: conexões de entrada para camada escondida, unidades escondidas, conexões da camada escondida para a de saída, e unidades de saída. Uma Rede Neural Artificial Quântica é definida como sendo uma rede que possui pelo menos um componente quântico. Cada padrão de treinamento é memorizado por um componente e apenas um. Figura 8. Uma rede neural quântica de duas camadas (adaptação de [Narayanan et al., 2000]) Como cada padrão de treinamento possui seu próprio componente, não há interferências entre os padrões durante o treinamento. Os componentes podem ser treinados através de duas formas: um conjunto de redes neurais clássicas que depois são combinadas em uma superposição; ou uma superposição das redes, sendo que esta última é mais eficiente, uma vez que haveria apenas uma mudança dos pesos. Uma Rede Neural Artificial Quântica é construída através da superposição dos pesos de cada componente. Os pesos do mesmo componente são emaranhados entre si de tal forma que, quando há colapso de um peso de um determinado componente, todo link sofre um colapso para os pesos daquele componente. Após treinar cada rede com apenas um único padrão de entrada, o padrão de teste é propagado pela rede e o resultado é comparado com o padrão de treinamento de cada universo. Se o resultado “casa”, então a fase do peso apropriado sofre uma rotação para aumentar a probabilidade de sofrer colapso. Caso contrário, o peso permanece o mesmo. Após essa fase, os pesos de cada componente são indexados por coeficientes, que dependem do inverso da diferença entre o valor de teste e o valor de treinamento. Depois, os coeficientes são somados e a Rede Neural Artificial Quântica sofre colapso para aquele componente que obteve maior soma. 3.5. Implementação via Portas C-Not Uma porta C-Not (controlled NOT) é uma porta quântica com dois qubits de entrada, onde o primeiro qubit é conhecido como qubit de controle e o segundo como qubit alvo. Os dois qubits podem assumir qualquer um dos estados 0 ou 1 . Quando o primeiro padrões evolução unitária/ emaranhamento Conexões camadas entrada-escondida: clássicas/quânticas Unidades escondidas: clássicas/quânticas Conexões camadas escondida-saída: clássicas/quânticas Unidades de saída: clássicas/quânticas 12 qubit está no estado 1 então o segundo qubit troca de estado, ou seja, passa para o estado 1 se estava no estado 0 e vice-versa. Se o primeiro qubit está no estado 0 então nada acontece, a saída da porta é igual à entrada. A porta C-Not é representada como na Figura 9. Figura 9. Representação para a porta controlled-NOT. A linha de cima representa o qubit de controle e a linha de baixo representa o qubit alvo. Shafee [Shafee et al., 2004] propõe uma Rede Neural Artificial Quântica onde os neurônios são qubits com estados determinísticos e operadores quânticos substituindo as funções de ativação. Dependendo da utilização de um threshold, o sistema pode mostrar oscilações periódicas como também oscilações correntes com uma certa periodicidade. Neste modelo, um neurônio recebe um estímulo da vizinhança, e quando seu próprio potencial excede o threshold, ativa toda a sua vizinhança. Em um processo quântico, todas as transições devem ser designadas por um operador unitário. Assim, ocorrem transformações unitárias que realizam rotações no estado de um vetor de um qubit. Em suma, o trabalho apenas propõe uma prévia de um modelo de neurônios integrados e excitados como qubits sendo interconectados com os vizinhos mais próximos através de portas C-Not (controlled NOT, que funciona como uma porta condicional para os dois estados do qubit). 4. Análise Comparativa No geral, os modelos descritos anteriormente apresentam características como: tratamento da informação de diversas maneiras, arquitetura baseada em Redes Neurais Clássicas ou uma organização bem peculiar, apresentam diferentes formas de processamento da informação e são implementadas de formas distintas. A seguir, apresentamos os critérios utilizados na comparação dos modelos definindo cada um deles. Esses critérios foram escolhidos segundo as características básicas de uma rede neural como: camadas, unidades de processamento, tipos de conexões, etc. 4.1. Critérios de Comparação Para se ter informações mais objetivas sobre os modelos examinados, foram definidos alguns critérios de classificação, e realizadas comparações entre os vários modelos com base nesses critérios. Decidimos classificar os critérios segundo certas perspectivas 13 sobre os modelos: tratamento da informação, arquitetura, unidade de processamento e implementação. O tratamento da informação diz respeito a como a informação é tratada na rede neural. Utilizamos dois critérios, tais como: Representação da Entrada para indicar qual o tipo da informação (vetor real, vetor complexo) utilizada pela rede neural quântica e Propagação, que indica como é o processo de propagação da informação desde o início da rede até a saída. A Arquitetura refere-se à maneira como estão dispostos os elementos de processamento em uma dada rede neural quântica. Utilizamos dois critérios na análise: As Camadas indicam se as unidades de processamento da rede neural quântica estão dispostas em camadas compostas (mais de uma camada) ou simples (somente uma camada), e as Conexões indicam a forma como as unidades de processamento estão conectadas entre si (referente aos pesos sinápticos em redes neurais clássicas). O processamento realizado pela rede neural quântica diz respeito ao modo de tratamento da informação e os elementos que realizarão toda a manipulação necessária da informação. O critério utilizado foi Unidade de Processamento que indica qual é o elemento de processamento da informação da rede neural quântica (equivalente ao neurônio da rede neural clássica). A Implementação diz respeito às possibilidades de simulação ou construção do modelo de rede neural proposta, segundo os autores. Utilizamos dois critérios na análise: Tecnologia, que indica qual a forma para implementação do modelo proposto, isto é, se é via software (simulação) ou hardware, e Custo, que indica se o custo de implementação é acessível ou não. Todos os modelos que possuem alguma forma de implementação relatam simulações com exemplos e resultados descritos. Convém lembrar que nenhum modelo, com exceção de Narayanan [Narayanan et al., 2000], descreve, de forma minuciosa a implementação do modelo, seja ela via software ou hardware. O valor real assumido pelas conexões de Behrman [Behrman et al., 2000] corresponde ao número de excitações ópticas dos nós. Embora cite as conexões entre os elementos de processamento, não evidencia seu papel de comunicação entre esses elementos. Cabe lembrar que, em Narayanan [Narayanan et al., 2000], os autores abrem espaço para duas possíveis simulações: uma apenas implementável em computadores quânticos e outra utilizando redes neurais clássicas. Apenas a última é considerada para nosso estudo, uma vez que a primeira não é passível de implementação tendo em vista a tecnologia atual, segundo os autores. As informações levantadas sobre os modelos de Redes Neurais Quânticas se encontram na Tabela 1. 14 Tabela 1. Análise comparativa dos modelos de Redes Neurais Quânticas. Arquitetura Implementação Modelos / Critérios Representação da Entrada Propagação Camadas Conexões Unidade de Processamento Tecnologia Custo Dispositivos Ópticos Vetor de estados complexo Progressiva Múltiplas camadas Portas Quânticas Portas Quânticas Hardware Aquisição de instrumentos óticos. Alto Circuitos Quânticos Vetor de estados complexo Progressiva Camada simples Ligações diretas Portas Quânticas Software Necessita apenas de simuladores de circuitos quânticos com porta D-gate. Baixo Quantum Dot Molecules Vetor de estados complexo Indeterminada (Progressiva ou Retroativa) Múltiplas camadas Valores reais Estado Quântico Temporal Hardware Domínio da tecnologia de Quantum Dot Molecules, já utilizada na pesquisa com condutores. Alto Experimento Dupla Fenda Vetor real Progressiva Camada simples Valores reais Neurônio Software Necessita apenas de simuladores de redes neurais clássicas. Baixo Porta C-NOT Vetor de estados complexo Progressiva Múltiplas camadas Portas Quânticas Qubit Software Necessita apenas de simuladores de circuitos quânticos. Baixo 4.2. Discussão Observando as características apresentadas pelos diversos modelos considerados, temos uma idéia da diversidade de implementação, processamento, entre outros aspectos. A seguir, é apresentada uma análise comparativa com base nos critérios estabelecidos e nas características apresentadas na Tabela 1. 4.2.1. Tratamento da Informação No tocante à representação da entrada, todos os modelos de Redes Neurais Quânticos descritos e analisados, com exceção de Narayanan [Narayanan et al., 2000], representam a informação através de um vetor complexo. Mais precisamente, todos citam o qubit como unidade de informação. Em Behrman [Behrman et al., 2000], por exemplo, o qubit é utilizado para representar o estado de uma Quantum Dot Molecule. Narayanan [Narayanan et al., 2000] utiliza vetor real uma vez que seu modelo utiliza pequenas variações de elementos existentes nas redes neurais clássicas, e, portanto, a mesma natureza de informação. 15 Quanto à propagação, todas os modelos apresentam propagação progressiva da informação, isto é, a informação segue o percurso da entrada à saída, sem retorno algum durante o seu processamento. Podemos associar tal característica, às redes feedforward clássicas. Com exceção do modelo de Behrman [Behrman et al., 2000], o qual os autores afirmam que não se pode definir para um instante t a forma de propagação da rede, podendo ser tanto progressiva quanto retroativa. 4.2.2. Arquitetura Assim como redes neurais clássicas, os elementos de processamento podem estar dispostos em formas de camadas ou não. Caso a rede possua, além da camada de entrada e saída, outras camadas, evidencia-se um aumento do potencial do processamento. Altaisky [Altaisky, 2004], Behrman [Behrman et al., 2000] e Shafee [Shafee et al., 2004] apresentam apenas camada de entrada e de saída, e os demais apresentam mais camadas. Devido à carência de simulações de todos os modelos, de forma completa e detalhada, não podemos inferir a relação direta entre número de camadas e poder de processamento. Em relação às conexões, verificamos que seu conceito em redes neurais quânticas pode variar desde apenas um simples conector de elementos de processamento que não exerce nenhuma função no processamento da informação (Gupta [Gupta et al., 2001] e Faber [Faber et al., 2004]) até conexões que possuem pesos (Behrman [Behrman et al., 2000] e Narayanan [Narayanan et al., 2000]), tal como o conceito de pesos sinápticos das redes neurais clássicas. Cabe também lembrar que Altaisky [Altaisky, 2004] e Shafee [Shafee et al., 2004] possuem, como conexões, operadores (portas quânticas) que modificam o estado da informação propagada ao longo da rede neural quântica. 4.2.3. Processamento As unidades de processamento assumem diferentes formas. É dúbia a definição de Shafee [Shafee et al., 2004] quanto ao seu elemento de processamento (qubit), uma vez que anteriormente fora definido o vetor complexo como tipo de informação e, logo após, considera o mesmo elemento da natureza da informação como elemento de processamento da informação. Narayanan [Narayanan et al., 2000] possui, como elemento de processamento o próprio neurônio oriundo das redes neurais artificiais clássicas. Apenas Altaisky [Altaisky, 2004], Gupta [Gupta et al., 2001] e Faber [Faber et al., 2004] apresentam, como elemento de processamento, o operador quântico (porta quântica). Behrman [Behrman et al., 2000] possui um peculiar processador: o estado de uma Dot Molecule no tempo T. Isso significa que apenas uma única Dot Molecule pode ser considerada uma rede neural quântica. 4.2.4. Implementação No tocante à tecnologia, com exceção de Altaisky [Altaisky, 2004], todas as demais redes apresentam alguma forma de implementação, segundo os autores. Embora nem todos as implementações sejam explicitamente descritas, podemos conhecê-las, sem muitos detalhes, através dos relatos de simulação produzidos ao longo do trabalho. Gupta [Gupta et al., 2001] não apresenta nenhuma simulação, contudo podemos 16 concluir que a implementação pode ser realizada através de um simulador de portas quânticas que possua a porta D-gate implementada. Evidencia-se o baixo custo de implementação dos modelos que utilizam, como forma de implementação, o software, já que se dispõe de vários simuladores de circuitos quânticos acessíveis (ver alguns exemplos em [Wallace, 1999], [Eck 2000], [Watanabe, 2003]). Os modelos que são implementados via hardware são, em sua totalidade, caros, pois se torna necessária à aquisição de aparelhos [Altaisky, 2004], ou domínio de tecnologia até então desconhecida [Behrman et al., 2000]. 5. Conclusões Sendo uma área relativamente nova, o campo de Redes Neurais Quânticas ainda não possui resultados concretos o suficiente para podermos comprovar na prática as possíveis vantagens das Redes Neurais Quânticas em relação às Redes Neurais Clássicas. Embora já existam pesquisas em Redes Neurais Quânticas, ainda não há consenso na comunidade em relação às características gerais e forma de implementação de uma Rede Neural Quântica. Alguns modelos apresentados possuem apenas descrições teóricas, necessitando assim, de resultados concretos, ou seja, simulações. Alguns dos modelos que dispõem de alguma simulação, ainda precisam de recursos tecnológicos avançados (e.g., [Behrman et al., 2000]). Existem também modelos que não estão suficientemente documentados (e. g., [Gupta et al., 2001] e [Shafee et al., 2004]). Dessa forma, a concepção de modelos de Redes Neurais Quânticas torna-se uma tarefa difícil. É importante destacar a carência de uma classificação ou sistematização dos modelos propostos com base em um conjunto de critérios consistentes. O presente trabalho, portanto, traz uma importante contribuição na medida em que apresenta e discute o estado da arte em Redes Neurais Quânticas, realizando uma análise comparativa entre os modelos existentes, a fim de que se possam extrair características comuns, identificar eventuais problemas e um possível rumo promissor para a concepção de um modelo mais concreto. Dando continuidade às pesquisas conduzidas, nossa próxima tarefa será propor um modelo de Rede Neural Quântica, a partir da análise dos modelos aqui apresentada. Concluímos que a implementação via Circuitos Quânticos é o modelo mais promissor por dois motivos: primeiro, já há uma suficiente experiência nesta área e, segundo, há a viabilidade de simulação, pois já existem muitos simuladores de Circuitos Quânticos desenvolvidos. Agradecimentos Agradecemos ao professor Aércio Ferreira de Lima pelos valiosos esclarecimentos e sugestões na produção desse artigo. 17 Referências Bibliográficas Altaisky, M. V. (2004) Quantum neural network. Joint Institute for Nuclear Research, Russia. Technical report, Available online at the Quantum Physics repository: http://arxiv.org/PS_cache/quant-ph/pdf/0107/0107012.pdf, last accessed 31/5/2004. Behrman, E. C., Nash, L. R., Steck, J. E., Chandrashekar, V. G., Skinner, S. R. (2000) Simulations of Quantum Neural Networks. Information Sciences, 128(3-4):257- 269. Deutsch, D. (1985) Quantum theory, the Church-Turing principle and the universal quantum computer. In Proceedings of the Royal Society of London, vol. A-400, pages 97-117. Deutsch, D. (1989) Quantum computational networks, Proceedings of the Royal Society of London, A 425, pages 73-90. Deutsch, D., Jozsa, R. (1992) Rapid solution of problems by quantum computation, Proceedings of the Royal Society of London, vol. A-439, pages 553-558. Eck, M., Wocjan, P., Zeier, R. M. (2000) QuaSi – Quantum Circuit Simulator. Universität Karlsruhe, http://iaks-www.ira.uka.de/QIV/QuaSi/, last accessed 8/7/2004. Faber, J., Giraldi, G. A. (2004) Models for Quantum Neural Networks. Laboratório Nacional de Computação Científica, Brasil, http://virtual01.lncc.br/~giraldi/qc/Quantum-Neural-Nets/Research/Research.html, last accessed 8/7/2004. Feynman, R.P., Leighton, R.B., Sands, M. (1965) The Feynman Lectures on Physics, vol. 3, Addison-Wesley Publishing Company, Massachusetts. Feynman, R.P. (1982) Simulating physics with computers, Int. J.Theor.Phys. vol. 21, pages 467-488. Gupta, S., Zia, R. K. P. (2001) Quantum Neural Networks. Journal of Computer and System Sciences, vol. 63, pages 355-383. Haykin, S. (1999) Neural Networks: A Comprehensive Foundation. 2a ed., New Jersey: Prentice Hall. Knill, E., Laamme, R, Milburn, G. J. (2001) A scheme for efficient quantum computation with linear optics. Nature, vol. 409, pages 46-57. Menneer, T., Narayanan, A. (1995) Quantum-inspired neural networks. Technical Report R329, Department of Computer Science, University of Exeter, UK. Narayanan, A., Menneer, T. (2000) Quantum artificial neural networks architectures and components. Information Sciences, 128 (3-4):231-255. Nielsen, M. A., Chuang, I. L. (2000) Quantum Computation and Quantum Information. Cambridge, UK, Cambridge University Press. Penrose, R. (1994) Shadows of the Mind. Vintage Science. 18 Shafee, F. (2004) Neural Networks with c-NOT Gated Nodes, Department of Physics, Princeton University, Princeton, USA. Available online at Quantum Physics repository: http://arxiv.org/PS_cache/quant-ph/pdf/0202/0202016.pdf, last accessed 31/5/2004. Shor, P. W. (1994) Algorithms for Quantum Computation: Discrete Logarithms and Factoring, Proceedings, 35th Annual Symposium on Foundations of Computer Science, pages 124-134. Shor, P. W. (1997) Polynomial-time algorithms for prime factorization and discrete logarithms on a quantum computer. SIAM Journal on Computing, 26(5):1484-1509, October. Ventura, D., Martinez, T. (1998) Quantum associative memory with exponential capacity, Proceedings of the International Joint Conference on Neural Networks, pages.509-513. Ezhov, A., Ventura, D. (2000) Quantum Neural Networks, in Future Directions for Intelligent Systems and Information Science, Ed. N. Kasabov, Physica-Verlag. Wallace, J. (1999) Quantum Computer Simulators - A Review, Technical Report 387, School of Engineering and Computer Science, University of Exeter. Watanabe, H., Suzuki, M., Yamazaki, J. (2003) QCAD – GUI environment for quantum computer simulator. University of Tokio, http://acolyte.t.u- tokyo.ac.jp/~kaityo/qcad/, last accessed 8/7/2004.