Propagação de alvos em redes neurais artificiais
Texto
(2) Tiago de Souza Farias. PROPAGAÇÃO DE ALVOS EM REDES NEURAIS ARTIFICIAIS. Dissertação de Mestrado apresentada ao Programa de Pós-Graduação em Física, Área de Concentração em Física da Matéria Condensada, da Universidade Federal de Santa Maria (UFSM, RS), como requisito parcial para obtenção do grau de Mestre em Física.. ORIENTADOR: Prof. Jonas Maziero. Santa Maria, RS 2019.
(3) DE SOUZA FARIAS, TIAGO PROPAGAÇÃO DE ALVOS EM REDES NEURAIS ARTIFICIAIS / TIAGO DE SOUZA FARIAS.- 2019. 61 f.; 30 cm Orientador: JONAS MAZIERO Dissertação (mestrado) - Universidade Federal de Santa Maria, Centro de Ciências Naturais e Exatas, Programa de Pós-Graduação em Física, RS, 2019 1. rede neural 2. propagação de alvos 3. inicialização de pesos 4. emaranhamento 5. hiperparâmetros I. MAZIERO, JONAS II. Título.. Sistema de geração automática de ficha catalográfica da UFSM. Dados fornecidos pelo autor(a). Sob supervisão da Direção da Divisão de Processos Técnicos da Biblioteca Central. Bibliotecária responsável Paula Schoenfeldt Patta CRB 10/1728.. ©2019 Todos os direitos autorais reservados a Tiago de Souza Farias. A reprodução de partes ou do todo deste trabalho só poderá ser feita mediante a citação da fonte. Endereço: Rua Nilo Peçanha, 7, bairro Salgado Filho Fone (0xx) 55 981489967; End. Eletr.: [email protected].
(4)
(5) AGRADECIMENTOS. Agradeço aos meus pais, por tudo. A minha avó Maria de Lourdes. Ao professor Jonas Maziero, que me orienta desde a graduação e sempre me apoiou na pesquisa. A todos os professor de física da UFSM, por terem contribuído no meu progresso profissional. A meus amigos Aritra, Diovana, Douglas, Maíra, Mauro, Romario e Vitor, pelo apoio e pelas conversas. Agradeço aos membros da banca, professores Adenilton, Artur e Rodrigo Guerra, por poderem participar na defesa desta dissertação. Ao Grupo de Informação Quântica e Fenômenos Emergentes. Agradeço a CAPES pelo apoio financeiro. Por último, mas não menos importante, agradeço a população brasileira que permite eu estudar e pesquisar em uma universidade pública..
(6) Apenas aqueles dispostos a irem longe demais são capazes de descobrir o quão longe podem ir. (Walter Bishop).
(7) RESUMO PROPAGAÇÃO DE ALVOS EM REDES NEURAIS ARTIFICIAIS AUTOR: Tiago de Souza Farias ORIENTADOR: Jonas Maziero Rede neural artificial é um tipo de inteligência artificial dedicada ao estudo de sistemas artificiais que aprendem com dados. O treinamento de redes neurais necessita de um método que evolua seus parâmetros internos de tal forma que melhore sua capacidade de resolver algum problema determinado. Propagação de alvos é um método de treinamento que calcula a melhor atividade neural para atingir um objetivo. Desenvolvemos uma variação da propagação de alvos que calcula a atividade ideal de acordo com o gradiente de uma função do objetivo. Inicialização aleatória de pesos é uma técnica para inicializar valores peso aleatórios presentes em redes neurais antes de treinamento. Apresentamos uma inicialização que considera a não-linearidade de neurônios e a distribuição de dados de entrada. Hiperparâmetros são valores que regulam variações de parâmetros de modificação. Estes valores são geralmente especificados heuristicamente, desperdiçando recursos computacionais. Mostramos uma forma de obter os hiperparâmetros sem a necessidade de algoritmos de busca. Rede neural quântica é um tipo de inteligência artificial que usa fenômenos quânticos para realizar computação. Inspirado em uma teoria de emaranhamento no cérebro biológico, desenvolvemos uma técnica de correlação quântica entre neurônios que melhora o desempenho sobre certas condições. Através do problema de classificação de imagens, os resultados mostram que as quatro técnicas desenvolvidas beneficiam o desempenho de redes neurais, podendo até mesmo reduzir o custo computacional em certos casos.. Palavras-chave: Rede neural. Treinamento. Propagação de alvos. Inicialização. Hiperparâmetros. Emaranhamento..
(8) ABSTRACT TARGET PROPAGATION IN ARTIFICIAL NEURAL NETWORKS AUTHOR: Tiago de Souza Farias ADVISOR: Jonas Maziero Artificial neural network is a type of artificial intelligence focued on the study of learning systems with data. The training of neural networks requires a method that evolves their internal parameters, which are responsible for solving some given problem. Target propagation is a training method where it evaluates the best neural activity to accomplish an objective. We developed a variation of target propagation in which the ideal activity is obtained from a gradient of an objective function. Random weights initialization is a technique to set the random values in neural networks before training. We present an initialization scheme that considers the non-linear effects from neurons and the distribution of data. Hyperparameters are values that regulate evolving parameters. These values are, in general, obtained heuristically, wasting computational resources. We show a method to obtain the hyperparameters without the need of searches algorithms. Quantum neural networks are a type of artificial intelligence where it harness quantum phenomena for computation power. Inspired by a theory of entanglement in the biological brain, we developed a quantum correlation technique among neurons that can improve performance. Within the problem of image classification, the results show that the four techniques can improve the neural network performance and, under certain conditions, lower the computational cost. Keywords: Neural network. Training. Target propagation. Initialization. Hyperparameters. Entanglement..
(9) LISTA DE FIGURAS. Figura 1.1 – Arquitetura de Von Neumann: o centro de processamento é separado do centro de memória. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 Figura 1.2 – Arquitetura neural: processamento e memória são compartilhados. . . . . . 16 Figura 1.3 – Neurônio biológico e seus componentes principais. . . . . . . . . . . . . . . . . . . . . . 17 Figura 1.4 – Rede de propagação direta, neurônios independentes estão agrupados em camadas. As conexões representam pesos independentes. . . . . . . . . . 21 Figura 1.5 – Propagação de erros entre as camadas com o método do Backpropagation. C indica o erro propagado. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 Figura 3.1 – Propagação gradiente de alvos depende de informações de várias camadas de neurônios. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 Figura 3.2 – Exemplos de imagens no conjunto MNIST. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45.
(10) LISTA DE GRÁFICOS. Gráfico 1.1 – Exemplo de diferença de potencial com o tempo em um neurônio biológico qualquer. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Gráfico 1.2 – u(t) com corrente constante. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Gráfico 1.3 – v(t) com corrente variando com o tempo. Pontos em vermelho indicam o momento de disparo do neurônio. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Gráfico 1.4 – Dilema viés-variância. Linha pontilhada quadrada: erro devido ao viés. Linha pontilhada circular: erro devido à variância. Linha contínua: soma dos erros. Para um determinado problema, existe um grau de complexidade do sistema para o qual o erro total é mínimo. . . . . . . . . . . . . . . . . . . . . . . Gráfico 1.5 – Exemplo de ajuste de uma função (linha) com dados (pontos). Esquerda: subajuste- a função foi pouco ajustada. Centro: ótimo ajuste. Direita: sobreajuste- a função é complicada demais para os dados e/ou ajustes muito finos foram realizados. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Gráfico 4.1 – Exemplos de busca de hiperparâmetro global. Para cada ponto é medido o desempenho da rede neural no conjunto de treino. . . . . . . . . . . . . . . . . . . . . Gráfico 4.2 – Eixo horizontal corresponde ao número de épocas. Arquitetura 784-10010. (a) Desempenho do treino. (b) Erro do treino. (c) Desempenho do teste. (d) Erro do teste. BP: η =0,1. PGA Euler: η =0,01; τ = 400. PGA Ind 1: η =0,05. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Gráfico 4.3 – Eixo horizontal corresponde ao número de épocas. Arquitetura 784-50010. (a) Desempenho do treino. (b) Erro do treino. (c) Desempenho do teste. (d) Erro do teste. BP: η =0,1. PGA Euler: η =0,01; τ = 400. PGA Ind 1: η =0,01. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Gráfico 4.4 – Eixo horizontal corresponde ao número de épocas. Arquitetura 784-100100-10. (a) Desempenho do treino. (b) Erro do treino. (c) Desempenho do teste. (d) Erro do teste. BP: η =1,0. PGA Euler: η =0,001; τ = 50. PGA Ind 1: η =0,01. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Gráfico 4.5 – Eixo horizontal corresponde ao número de épocas. Arquitetura 784-500500-10. (a) Desempenho do treino. (b) Erro do treino. (c) Desempenho do teste. (d) Erro do teste. BP: η =0,1. PGA Euler: η =0,001; τ = 50. PGA Ind 1: η =0,001. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Gráfico 4.6 – Eixo horizontal corresponde ao número de épocas. Arquitetura 784-100100-100-10. (a) Desempenho do treino. (b) Erro do treino. (c) Desempenho do teste. (d) Erro do teste. BP: η =1,0. PGA Euler: η =0,0005; τ = 25. PGA Ind 1: η =0,005. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Gráfico 4.7 – Eixo horizontal corresponde ao número de épocas. Arquitetura 784-10010. A legenda "ent n"significa resultados para n neurônios emaranhados. (a) Desempenho do treino. (b) Erro do treino. (c) Desempenho do teste. (d) Erro do teste. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Gráfico 4.8 – Relação de melhor desempenho por número de neurônios emaranhados. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 18 19 20. 24. 25 47. 48. 48. 49. 49. 50. 51 52.
(11) LISTA DE TABELAS. Tabela 4.1 – Vetor alvo da camada de saída. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46.
(12) LISTA DE ABREVIATURAS E SIGLAS. I.A.. Inteligência Artificial. AM. Aprendizado de Máquina. RN A. Rede Neural Artificial. BP. Backpropagation. P GA. Propagação Gradiente de Alvos. P GAEuler. Propagação Gradiente de Alvos com aproximação de Euler. P GAInd. Propagação Gradiente de Alvos com aproximação independente. V AR. Variância.
(13) LISTA DE SÍMBOLOS. y, x. Atividade neural. yˆ. Alvo. z. Pré-ativação. y. 0. Derivada de y em relação a pré-ativação. f. Função não-linear. σ. Função sigmóide. θ. Parâmetro de treinamento. w. Peso. η. Velocidade de treinamento. τ. Passo de tempo para PGAEuler. u. Diferença de potencial. t. Tempo. I. Corrente. L. Função custo. U. Incerteza neural. hoi. Valor esperado de o. max(y). Valor máximo de y.
(14) SUMÁRIO. 1 1.1 1.1.1 1.1.2 1.1.3 1.1.4 1.1.5 1.2 1.3 1.3.1 1.3.2 1.3.3 1.4 2 2.1 2.2 2.3 2.4 3 3.1 3.1.1 3.1.2 3.1.3 3.2 3.3 3.3.1 3.4 3.5 3.5.1 4 4.0.1 4.0.2 5. INTRODUÇÃO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . REDE NEURAL ARTIFICIAL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Notação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Modelos de neurônios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Modelos de redes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Treinamento de redes neurais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Outros parâmetros importantes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . PROPAGAÇÃO DE ALVOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . MECÂNICA QUÂNTICA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Superposição . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Emaranhamento. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Spin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . OBJETIVOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . REVISÃO BIBLIOGRÁFICA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . PROPAGAÇÃO DE ALVOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . INICIALIZAÇÃO DE PESOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . HIPERPARÂMETROS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . REDES NEURAIS QUÂNTICAS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . METODOLOGIA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . PROPAGAÇÃO GRADIENTE DE ALVOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Aproximação de Euler. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Aproximação independente . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Relação com Backpropagation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . INICIALIZAÇÃO ALEATÓRIA DE PESOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . HIPERPARÂMETROS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Taxa de aprendizado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . EMARANHAMENTO COMO CORRELAÇÃO ENTRE NEURÔNIOS . . . . . . . . PROBLEMA PROPOSTO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . MNIST . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . RESULTADOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Segunda geração de modelos neurais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Terceira geração . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . CONCLUSÃO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . REFERÊNCIAS BIBLIOGRÁFICAS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . APÊNDICE A – LOCALIDADE NA PROPAGAÇÃO GRADIENTE DE ALVOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . APÊNDICE B – GENERALIZAÇÃO DA APROXIMAÇÃO INDEPENDENTE APÊNDICE C – PROVA QUE PROPAGAÇÃO GRADIENTE DE ALVOS NÃO TEM SOLUÇÃO ANALÍTICA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . APÊNDICE D – CÓDIGO MINIMALISTA PARA A PROPAGAÇÃO GRADIENTE DE ALVOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 13 14 16 17 20 22 24 26 26 27 28 29 29 30 30 31 31 32 34 34 34 35 37 38 40 40 43 44 45 46 47 51 53 54 58 60 61 62.
(15) 1. INTRODUÇÃO. Inteligência artificial (I.A.) é a área da ciência dedicada ao estudo de agentes artificiais inteligentes. Um agente é qualquer sistema físico produzido por humanos que seja capaz de realizar observações e produzir ações (BRUNETTE; FLEMMER; FLEMMER, 2009). O interesse em criar seres inteligentes está presente na imaginação humana desde a o início da história da civilização, como Galatéia dos gregos, homúnculos da idade média na Europa e o monstro de Frankstein de Mary Shelley. A área é reconhecida oficialmente em 1956, na conferência de Darmouth, onde o termo I.A. foi criado (MOOR, 2006). Alan Turing contribuiu imensamente para a teoria de computação, com o conceito de máquina de Turing, sendo uma das primeiras pessoas a discutir a possibilidade de máquinas pensantes (TURING, 1950). Claude Shannon, pai da teoria da informação, demonstrou em 1952 uma máquina (rato mecânico) capaz de achar a saída de um labirinto qualquer (SHANNON, 1952). Um marco histórico da I.A. foi em 1996, quando o computador desenvolvido pela IBM, DeepBlue, venceu o campeão de xadrez mundial Garry Kasparov (HSU, 2004). Desde então, competições vêm sendo realizadas contra humanos para testar as capacidades e limites da inteligência artificial. Aprendizagem de máquina (AM) (JUNG, 2018) é uma sub-área de I.A. dedicada ao estudo de agentes artificiais que são capazes de aprender. Um agente sofre modificações internas sem intervenção humana de tal forma que o agente seja capaz de completar um determinado objetivo. Dentro do campo de aprendizagem de máquina, destacam-se máquina de vetores suporte, árvore de decisões, algoritmos genéticos, treinamento reforçado e redes neurais artificiais como os métodos mais populares de máquinas inteligentes adaptativas. Está havendo um grande favorecimento a aprendizagem de máquina desde o começo do século XXI. O aperfeiçoamento de hardware e acesso a grandes quantidade de dados permitiu simular AM em larga escala. Redes neurais artificiais começaram a ganhar grande destaque a partir de 2012, quando sua capacidade de classificar imagens superou consideravelmente qualquer outro algoritmo antes conhecido (KRIZHEVSKY; SUTSKEVER; HINTON, 2012). A vitória da I.A. AlphaGo contra o campeão mundial Lee Sedol no jogo Go em 2016 (SILVER et al., 2016) foi outro um marco na história. Muitos pesquisadores acreditavam que levaria mais de uma década para a vitória de uma máquina contra humanos neste jogo. Mais recentemente, o trabalho da empresa OpenAI no jogo DOTA, em 2018 (OPENAI, 2018), também demonstrou enorme progresso na área. Ao contrário de jogos de tabuleiro como Xadrez e Go, DOTA é um jogo de informação incompleta, que torna a com-.
(16) 14. plexidade muito superior. Em janeiro de 2019, foram demonstradas as primeiras tentativas de criar uma I.A. (com AM) no jogo Starcraft (DEEPMIND, 2019). AlphaStar é uma I.A. capaz de derrotar vários jogadores considerados ótimos, ainda que ela possa perder algumas vezes. Devido à capacidade de resolver problemas cada vez mais difíceis, inteligência artificial está sendo usada nas diversas áreas do conhecimento humano, com grande potencial de aplicação tecnológica, como descoberta de novos materiais (TALAPATRA et al., 2018), previsão do tempo (ANANDHARAJAN et al., 2016), síntese de drogas farmacêuticas (FLEMING, 2018), veículos autônomos (WANG; DAOYUAN; WENG, 2018), robótica (OPENAI et al., 2018) e até mesmo arte (GATYS; ECKER; BETHGE, 2015). Apesar disso, I.A. está diante de vários problemas em aberto. Por exemplo, linguagem natural (BELINKOV; GLASS, 2018), classificação robusta (SENGUPTA; FRISTON, 2018), inteligência artificial geral (YAWORSKY, 2018), teste de Turing (LOWE et al., 2017), instinto (DUNDAS; CHIK, 2011), sensibilidade a ruído (LIU et al., 2018), emoções (BARTNECK; LYONS; SAERBECK, 2017), aprendizado com poucos exemplos (SUN et al., 2018), consciência (HATEREN, 2018) e escalabilidade de hardware (FURBER, 2016). Todos estes problemas exigem grandes esforços de investimento e pesquisa nesta área. O resto desta seção será dedicada ao estudo detalhado de redes neurais artificiais, introduzindo sua terminologia, modelos de neurônios, tipos de redes e treinamento. Além disso, também serão discutidos detalhes importantes a serem considerados sobre redes neurais, como hiperparâmetros, e alguns conceitos de mecânica quântica.. 1.1. REDE NEURAL ARTIFICIAL Rede neural artificial (RNA) é um paradigma de computação onde cada unidade de. processamento possui uma memória (Figura 1.2) (SCHUMAN et al., 2017). Esta unidade de processamento e memória, chamada de neurônio, realiza operações sobre informação que recebe de outros neurônios conectados a ele. O armazenamento de memória depende do modelo de neurônio a ser usado. Em geral, a memória pode ser armazenada em um subcomponente do neurônio, chamado de peso, ou em outra parte dedicada. Este tipo de computação se diferencia da arquitetura de Von Neumann (OGBAN; ARIKPO; ETENG, 2007), onde as unidades de processamento são separadas das unidades de memória (Figura 1.1). RNAs tem este nome devido a sua inspiração biológica no cérebro. Neurônios biológicos são células que se comunicam por correntes elétricas e iônicas (HODGKIN; HUXLEY, 1952). Um neurônio biológico consiste em quatro componentes principais: dendritos, soma, axônio e sinapse (Figura 1.3). O dendrito é o que recebe o sinal de um outros neurônios e transmite ao soma,.
(17) 15. Figura 1.1 – Arquitetura de Von Neumann: o centro de processamento é separado do centro de memória.. P. P. P. P. M. M. M. M. P. P. P. P. M. M. M. M. P. P. P. P. M. M. M. M. P. P. P. P. M. M. M. M. P Unidade de processamento M Unidade de memória. que é constituído por neuroreceptores que somente se ativam se substâncias específicas (neurotransmissores) são recebidos. Cada neurônio pode ter de dezenas até milhares de dendritos. O soma coleta os sinais de todos os dendritos. Este sinal aumenta sua diferença de potencial por um certo intervalo de tempo. Se esta diferença de potencial atingir um valor limite, o soma libera um potencial ação: a diferença de potencial retorna ao estado fundamental e transmite um sinal para o axônio (Gráfico 1.1). O papel do axônio é proteger o sinal do meio interneural e transmití-lo a sinapse. Axônios podem ter diversos tamanhos, podendo auxiliar na conexão entre dois neurônios distantes. A sinapse libera o sinal para o dendrito de outro neurônio. Cada sinapse contém sacos vesiculares que carregam neurotransmissores. Se o sinal do axônio chega na sinapse, os sacos vesiculares são direcionados a sua parede, onde seu conteúdo é liberado para o meio interneural. Após a liberação de um sinal, os neurotransmissores podem retornar ao neurônio original ou serem absorvidos por outros neurônios ou pelo próprio meio interneural. Uma rede neural artificial construída fisicamente é chamada de computador neuromórfico. Um exemplo é TrueNorth da IBM (MEROLLA et al., 2014), que contém cerca de um milhão de neurônios. Outros exemplos podem ser encontrados em (LI; WANG; MIDYA, 2018). A dificuldades de construção, preço e escalabilidade de computadores neuromórficos limitam aplicações práticas de RNAs. A alternativa comum é simular RNAs em computadores clássicos (baseados na arquitetura de Von Neumann). O aperfeiçoamento de hardware dedicado, como processamento em paralelo e GPU, permite simulações em larga escala..
(18) 16. Figura 1.2 – Arquitetura neural: processamento e memória são compartilhados.. P. M. P. P. P. P. 1.1.1. M. M. M. M. P. P. P. P. M. M. M. M. P. P. P. P. P. M. P. M. P. M. P. M. M. M. M. M. Neurônio: unidade de processamento e memória. Notação Aqui será definida a notação usada durante toda esta dissertação. Os símbolos x e y são usados mútuamente para atividade de um determinado. neurônio. O subíndice l indica uma determinada camada de neurônios. De forma geral, a atividade y do j -ésimo neurônio da camada l é:. ! ylj = f. X. i wlji yl−1. ,. (1.1). i. onde w é o peso sináptico que conecta o neurônio j com o neurônio i. As expressões em negrito correspondem a vetores ou matrizes, que carregam o conjunto de suas unidades. A equação 1.1 pode então ser escrita como: yl = f (wl yl−1 ).. (1.2). Também será usado o símbolo z para a pré-ativação de um neurônio:. zlj =. X. i wlji yl−1 ,. (1.3). i. ou zl = wl yl−1 .. (1.4). Índices omitidos indicam caso geral. O subíndice N denota a camada de saída, a.
(19) 17. Figura 1.3 – Neurônio biológico e seus componentes principais.. axônio. sinapse. soma. dendritos. não ser se especificado contrário. Neurônios pré-sinápticos são definidos como o grupo de neurônios que enviam informação a um neurônio específico. Neurônios pós-sinápticos são definidos como o grupo de neurônios que recebem informação de um neurônio específico.. 1.1.2. Modelos de neurônios Os modelos de neurônios são classificados em grupos, chamados gerações, de. acordo com seu grau de realismo biológico. A primeira geração de modelos são constituídos por neurônios binários: um neurônio está ativado ou não ativado de acordo com o sinal de entrada. O neurônio McCullogh-Pitts (MCCULLOCH; PITTS, 1943) foi o primeiro modelo criado, ele compartilha um peso positivo w igual para todos os seus neurônios pré-sinápticos, um limiar θ de ativação e um sinal de inibição, sua ativação possui a seguinte equação:. f (z) =. 1,. se wx ≥ θ e não inibido,. 0,. se wx < θ ou inibido.. (1.5). Mais tarde o modelo McCullogh-Pitts evoluiu para o perceptron (ROSENBLATT, 1957), onde os pesos são independentes e podendo variar sobre todos os números reais:. f (z) =. 1,. se wx ≥ θ,. 0,. se wx < θ.. (1.6). A primeira geração de neurônios teve pouco sucesso, um livro publicado em (MINSKY;.
(20) 18. Gráfico 1.1 – Exemplo de diferença de potencial com o tempo em um neurônio biológico qualquer. 60 50 40 30. u (mV). 20 10 0 -10 -20 -30 -40 0. 2. 4. 6. 8. 10. t (ms). SEYMOUR, 1987) mostrou que estes modelos de neurônios só conseguem resolver problemas linearmente separáveis para as redes neurais de duas camadas. A segunda geração de neurônios são neurônios cuja ativação é uma função não linear. Exemplos populares são: -Função sigmóide:. f (z) =. 1 . 1 + e−z. (1.7). -Função tangente hiperbólica: f (z) = tanh(z). -Função Retificador Linear (ReLU):. f (z) =. z,. se z ≥ 0,. 0,. se z < 0.. (1.8). Existem também modelos mais sofisticados, que consideram o histórico de atividade neural. O estado de um neurônio em um instante t depende de seu estado em um tempo anterior:. ! ylt = f. X. i wli yl−1 + vylt−1 ,. (1.9). i. onde v é um parâmetro de treinamento para o histórico de atividade neural. Há modelos de memória mais sofisticados, como a unidade de memória de longo e curto prazo (LSTM) (HOCHREITER; SCHMIDHUBER, 1997) e Gate Recurrent Unit (CHO et al., 2014). A segunda geração de neurônios elevou a capacidade de RNAs de resolver proble-.
(21) 19. mas, as colocando como estado da arte em muitos problemas de inteligência artificial. A terceira geração de neurônios possui mais proximidade com o realismo biológico. Esta geração considera os neurônios com diferença de potencial e corrente elétrica. O modelo Hodgkin-Huxley (HODGKIN; HUXLEY, 1952) foi um modelo desenvolvido para descrever o comportamento de neurônios biológicos. Como modelo de neurônio, ele pode ser usado para redes neurais artificiais. Entretanto, devido ao elevado custo computacional, o modelo Hodgkin-Huxley pode ser simplificado para reduzir sua complexidade. O modelo mais simples é o neurônio integra-e-dispara. A diferença de potencial u do neurônio é controlada pela equação diferencial:. τm. du = −(u(t) − u0 ) + RI, dt. (1.10). com o condicional u(t) = u0 se u = V (t = tf ), onde τm e R são parâmetros fixos de controle da dinâmica da equação, u0 é o potencial fundamental e I é a corrente de entrada. O condicional determina que se o potencial u atingir o limiar V , então ele volta para o estado u = u0 , cujo instante de tempo é chamado de tempo de disparo tf (gráficos 1.2 e 1.3). Gráfico 1.2 – u(t) com corrente constante. 1 0.9 0.8 0.7. u(t). 0.6 0.5 0.4 0.3 0.2 0.1 0 0. 0.1. 0.2. 0.3. 0.4. 0.5. 0.6. 0.7. 0.8. 0.9. 1. t. Decodificação por frequência é uma forma obter informação sobre a atividade neural. A frequência y de disparos de neurônios é definido como o número de disparos por unidade de tempo. A frequência pode ser obtida através da equação diferencial:. ∂y = −y + δ(t − tf ), ∂t com:. (1.11).
(22) 20. Gráfico 1.3 – v(t) com corrente variando com o tempo. Pontos em vermelho indicam o momento de disparo do neurônio. 1. 0.9. 0.8. 0.7. u(t). 0.6. 0.5. 0.4. 0.3. 0.2. 0.1. 0 0. 0.1. 0.2. 0.3. 0.4. 0.5. 0.6. 0.7. 0.8. 0.9. 1. t. f. δ(t − t ) =. 1,. se t = tf ,. 0,. se t 6= tf .. (1.12). Os neurônios que recebem sinais de um conjunto de entrada são chamados de neurônios de entrada (que podem formar a camada de entrada). Os neurônios que emitem sinais para determinar o desempenho são chamados de neurônios de saída (que formam a camada de saída). Todos os outros neurônios são chamados de neurônios ocultos.. 1.1.3. Modelos de redes Arquitetura neural é a topologia de uma rede: disposição das conexões entre neurô-. nios (KHAN et al., 2019). O número de possibilidades cresce super-exponencialmente com 2. o número de neurônios (há 2n arquiteturas possíveis para n neurônios). Apesar do número elevado de configurações, algumas arquiteturas regulares são populares na comunidade científica, destacam-se: - Redes de propagação direta: a rede neural é dividida em grupos de neurônios independentes, chamados de camadas, onde cada neurônio de uma camada é conectado com todos os neurônios da camada anterior e posterior (Figura 1.4). A informação é transmitida unidirecionalmente da camada de entrada para a camada de saída. - Redes localmente conectadas: semelhante a de propagação direta, exceto que um neurônio não está totalmente conectado com a camada anterior e/ou posterior. O número de conexões é determinado empiricamente ou com o auxílio de algum algoritmo.
(23) 21. Figura 1.4 – Rede de propagação direta, neurônios independentes estão agrupados em camadas. As conexões representam pesos independentes.. evolutivo. Há um subgrupo desta arquitetura, chamado de rede convolucional, onde os pesos de todos os neurônios de uma mesma camada são compartilhados. - Redes recorrentes: compreendem arquiteturas como propagação direta e localmente conectadas, porém possuem um adicional de conexões de uma camada posterior de volta para ela mesma ou camadas anteriores. - Redes aleatórias: as conexões entre os neurônios são determinadas por alguma determinada distribuição aleatória, como redes de estado eco e máquinas de estado líquido (CHATZIS; DEMIRIS, 2011). - Redes evolucionárias: são redes cuja arquitetura é determinada por algum algoritmo evolutivo, como CNNP, NEAT ou hyperNEAT (STANLEY; D’AMBROSIO; GAUCI, 2009). Em geral RNAs realizam limitadas computações, isto é, conseguem realizar apenas um conjunto específico de operações. Porém, existem certos tipos de redes neurais que aproximam funções mais gerais. Uma rede neural com arquitetura de propagação direta de no mínimo três camadas obedece ao teorema da aproximação universal: uma RNA pode ser usada para aproximar qualquer função contínua analítica (CYBENKO, 1989). Com quatro camadas existe uma capacidade neural superior (TAMURA; TATEISHI, 1997). Redes recorrentes são máquinas de Turing completas (SIEGELMANN; SONTAG, 1995), qualquer algoritmo que possa ser reproduzido em uma máquina de Turing também pode ser reproduzido em uma rede neural recorrente..
(24) 22. 1.1.4. Treinamento de redes neurais Uma rede neural artificial, como classe de aprendizado de máquina, recebe dados. para conseguir resolver um problema. A forma em como estes dados interagem com uma rede neural depende do paradigma de treinamento (SIMEONE, 2018): No treinamento supervisionado, os dados possuem identificação (classe). Essa identificação é usada para medir a "distância"da rede neural para um objetivo. Por exemplo, em treinamento de classificação de imagens, em um conjunto de imagens de animais, cada imagem já possui uma classe identificando corretamente que animal corresponde a imagem. Os dados de treinamento pertencem ao conjunto de pares D = {x, y ˆ N }. No treinamento reforçado, há um sinal r (feedback) que informa a rede neural de seu desempenho. Um exemplo são jogos, onde a pontuação do jogo pode ser usada como sinal para identificar o quão perto a rede neural está de atingir um determinado objetivo. Os dados de treinamento consistem nas observações e nos sinais D = {x, r}. No treinamento não-supervisionado, não há identificação de observação, nem sinal de informação: D = {x}. Os próprios dados de observação são usados para identificar padrões. Exemplo de treinamento não-supervisionado são os autocodificadores, onde. ˆ }). Outro exemplo o objetivo da rede neural é reconstruir o sinal de entrada (D = {x, x é o aprendizado Hebbiano, onde a modificações sinápticas acontecem de acordo com o produto da atividade neural e atividade pré-sináptica:. ∆w ∝ yl yl−1 .. (1.13). Operacionalmente, uma rede neural sofre modificações em seus parâmetros livres (parâmetros de treinamento) θ que levam ela a um objetivo. Fundamentalmente, estas modificações correspondem a um problema de otimização: encontrar os valores θ que maximizem o seu desempenho. Uma forma de quantificar um objetivo é através de uma função custo L, que mede a distância da atividade de uma rede neural ao seu objetivo. O método do gradiente descendente é um método de otimização que calcula a variação de θ necessária para reduzir o erro.. ∆θ = −η. ∂L , ∂θ. (1.14). onde η é um hiperparâmetro chamado taxa de aprendizado ou velocidade de treinamento. O parâmetro θ é atualizado iterativamente:. θk = θk−1 + ∆θ.. (1.15). No treinamento supervisionado, a função custo depende do estado da rede neural e do estado desejado. Na maioria das arquiteturas, estes estados são medidos pela ativação.
(25) 23. dos neurônios e seus respectivos alvos da camada de saída, a distância será dependente destes dois parâmetros: L = L(yN , yˆN ). A função custo utilizada neste trabalho é o custo quadrático:. 1 y − y)2 . L = (ˆ 2. (1.16). Há três formas de usar o método do gradiente para atualizar os pesos. O mais geral é o método do gradiente onde o custo é a soma de todos os exemplos k de um conjunto de treino:. L=. 1 X1 k (ˆ y − y k )2 . D k 2. (1.17). O método acima é consideravelmente lento para treinar uma rede neural, pois os pesos são somente atualizados depois que o custo de todos os exemplos foram calculados. O método do gradiente por mini-batch considera um tamanho S de exemplos escolhidos aleatoriamente do conjunto de treino:. L=. 1 X1 k (ˆ y − y k )2 . S k 2. (1.18). O método do gradiente estocástico atualiza os pesos a cada exemplo k:. 1 k y − y k )2 . Lk = (ˆ 2. (1.19). Na maioria das vezes, somente os alvos da camada de saída estão disponíveis, isso poderia impossibilitar o treinamento de pesos de camadas ocultas. Uma solução para este problema é o método Backpropagation (RUMELHART; HINTON; WILLIAMS, 1986), que consiste de uma regra de cadeia de derivadas, definindo LN o custo na última camada, temos:. ∂LN ∂LN ∂yN ∂yN −1 ∂yl ∂LN = ... = ∂wl ∂yN ∂yN −1 ∂yN −2 ∂wl ∂yN. l+1 Y ∂yi ∂yi−1 i=N. !. ∂yl . ∂wl. (1.20). Um problema que o método do Backpropagation apresenta é a dissipação dos gradientes: dependendo da função ativação escolhida, as derivadas do produtório da equação 1.20 podem se tornar arbitrariamente pequenas, reduzindo a velocidade de treinamento de uma rede neural. A figura 1.5 ilustra o processo de propagação de erros através de uma rede neural..
(26) 24. objetivo. Figura 1.5 – Propagação de erros entre as camadas com o método do Backpropagation. C indica o erro propagado.. 1.1.5. Outros parâmetros importantes Hiperparâmetros (SMITH, 2018), valores especificados pelo programador na inici-. alização de uma rede neural, devem ser cuidadosamente considerados antes do treinamento. A forma mais simples de obtê-los é determinar empiricamente: o desempenho de uma rede neural é determinado para um conjunto de valores de hiperparâmetros e o valor escolhido é o que corresponde ao melhor desempenho. Melhores técnicas de obter os hiperparâmetros são apresentadas na seção revisão bibliográfica e um método de calculá-los é apresentado na sessão de metodologia. Embora possa-se imaginar que quanto mais complexa uma rede neural é, menor será sua dificuldade em resolver um problema, o dilema viés-variância estabelece um custo fundamental entre complexidade e desempenho (figura 1.4), mostrando que a relação entre complexidade de uma rede neural e complexidade de um problema não é direta.. erro. Gráfico 1.4 – Dilema viés-variância. Linha pontilhada quadrada: erro devido ao viés. Linha pontilhada circular: erro devido à variância. Linha contínua: soma dos erros. Para um determinado problema, existe um grau de complexidade do sistema para o qual o erro total é mínimo.. complexidade. O número de camadas adiciona complexidade à rede neural (NEAL et al., 2019)..
(27) 25. Este número deve ser considerado para a complexidade do problema a ser resolvido. Quanto mais difícil um problema ou quanto maior o conjunto de treino, mais camadas podem ser adicionadas. O número de neurônios em cada camada oculta não é tão problemático quanto o número de camadas, graças ao teorema da aproximação universal. Adicionar mais neurônios a uma determinada camada melhorará a qualidade da função que resolve um problema. A complexidade de uma RNA só aumenta com um número muito elevado de neurônios (NEAL et al., 2019). O tempo de treinamento também influencia no desempenho de uma rede neural. Em geral, quanto maior o tempo de treinamento, menor será o erro de treinamento, porém isso não necessariamente reflete em sua capacidade de generalização. Este fenômeno acontece devido ao sobreajuste dos parâmetros nos dados de treinamento (SALMAN; LIU, 2019), a rede neural memoriza os exemplos de treino ao invés de generalizá-los (ver gráfico 1.5). Gráfico 1.5 – Exemplo de ajuste de uma função (linha) com dados (pontos). Esquerda: subajuste- a função foi pouco ajustada. Centro: ótimo ajuste. Direita: sobreajuste- a função é complicada demais para os dados e/ou ajustes muito finos foram realizados.. Determinar como evitar sobreajuste e permitir melhor generalização é uma área ativa de pesquisa. Existem algumas formas de contornar (mas não resolver) o problema: - Expansão de dados (TAYLOR; NITSCHKE, 2017) é um método em que os dados do conjunto de treino são aumentados: novos exemplos são criados para o conjunto de treino através de transformações nos exemplos de treino, como adição de ruído, rotação e translação. Dependendo do problema, nem sempre isso é possível, além de adicionar custo computacional devido ao tempo de treino ficar maior. - Parada súbita (MACLAURIN; DUVENAUD; ADAMS, 2015) é outro método para aliviar o sobreajuste. O desempenho no conjunto de teste ou validação é sempre verificado a cada certo intervalo de tempo de treinamento. Se o desempenho possuir uma queda grande, então o treinamento é parado e os parâmetros usados serão os correspondentes época de melhor desempenho. - Dropout (HINTON et al., 2012) é uma técnica para evitar sobreajuste que consiste em desativar neurônios aleatoriamente durante treinamento. Isto impede a formação.
(28) 26. de correlações entre neurônios, o que auxilia uma rede neural a procurar soluções que correspondem a ajuste ótimo.. 1.2. PROPAGAÇÃO DE ALVOS Determinar uma regra de treinamento para redes neurais artificiais é uma área ativa. de pesquisa. Desde sua concepção, muitas técnicas foram propostas. Backpropagation se tornou a mais popular graças ao elevado desempenho das redes neurais quando comparado com outras regras. Há dois tipos de perguntas relacionadas às regras de treinamento: qual regra o cérebro biológico utiliza e se Backpropagation é a melhor regra para RNAs. Como o cérebro humano é o melhor exemplo de inteligência geral já observado, é relevante tentar determinar como alterações sinápticas acontecem. Várias pesquisas mostram resultados divergentes (POZZI; SANDER; ROELFSEMA, 2018) (STORK, 1989), permanecendo como uma pergunta em aberto. Propagação de alvos, introduzida em (LEE et al., 2014), é uma proposta alternativa ao Backpropagation. Ao invés de calcular diretamente a mudança de pesos, propagação de alvos determina quais os melhores valores (créditos) outros neurônios, além da camada de saída, deveriam ter para que um objetivo seja completado. Estes créditos podem ser interpretados como alvos, se eles forem possíveis de serem calculados, então cada neurônio terá um objetivo específico. A quantificação dos objetivos de cada neurônio corresponde a erros locais, ou seja, cada neurônio com propagação de alvos possui um erro individual. Ljl . A variação dos pesos pode ser obtida com uma técnica de otimização, como descida de gradiente:. ∆wlji. ∂Ljl = −η ji . ∂wl. (1.21). O problema consiste em determinar os valores dos alvos individuais. Na seção de revisão bibliográfica serão discutidos trabalhos já desenvolvidos e na seção de metodologia será apresentada uma nova técnica para obter estes alvos.. 1.3. MECÂNICA QUÂNTICA A mecânica quântica, ciência que estuda a natureza na escala microscópica, apre-. senta fenômenos úteis à computação. Já é bem conhecido que computadores quânticos conseguem realizar certos algoritmos mais eficientemente que computadores clássicos.
(29) 27. (LADD et al., 2010). A notação bra-ket é útil para operações algébricas entre matrizes e vetores. Nesta notação, um vetor coluna com seu N elementos é representado como:. . a1 a2 . = |ψi. . . aN. (1.22). A transposta:. h. i. a1 a2 · · · aN = |ψiT = hψ|.. (1.23). E os produtos interno hψ|φi e externo |ψihφ| de dois vetores.. 1.3.1. Superposição Superposição é um fenômeno quântico onde um objeto está em uma combinação. linear de estados clássicos distinguíveis. A descrição do objeto e sua dinâmica é regulada pela função de onda ψ . Uma superposição pode ser escrita como:. |ψi =. X. αi |φi i,. (1.24). i. onde αi , um número complexo, corresponde à amplitude de probabilidade do estado |φi i. A observação é uma medida de ψ que resulta no fim da superposição e leva o estado ψ para um certo estado φj . De acordo com a regra de Born, a probabilidade deste evento é calculada por:. pj = |hφj |ψi|2 = |αj |2 .. (1.25). Em computação clássica, a unidade fundamental de informação é o bit, representados pelos números 0 e 1 para indicar um determinado estado (como desligado e ligado). Em computação quântica, a unidade de informação é o quantum bit (qubit), que possui uma superposição dos bits 0 e 1:. |ψi = c0 |0i + c1 |1i,. (1.26). com. " # 1 |0i = 0. " # 0 e |1i = 1. O produto tensorial de dois ou mais vetores possui a seguinte notação:. (1.27).
(30) 28. |ψ1 i ⊗ |ψ2 i ⊗ ... ⊗ |ψN i = |ψ1 ψ2 ...ψN i.. (1.28). Um exemplo para compreender melhor superposição é a moeda quântica. Uma moeda clássica sempre terá um dos dois estados definidos: cara ou coroa. Mesmo se um observador atirar a moeda, antes de medir seu estado, a moeda já estará determinada em cara ou coroa. Se um observador conhecer todas as condições iniciais para atirar a moeda, ele poderá determinar seu estado mesmo sem medi-la, portanto a moeda clássica é fundamentalmente determinística. Porém, uma moeda quântica pode ter uma superposição dos dois estados:. 1 1 |ψi = √ |carai + √ |coroai. 2 2. (1.29). Antes da medida, a moeda quântica estará em uma mistura dos dois estados, que é fundamentalmente probabilística. O estado da moeda só passará a ser cara ou coroa depois que uma medida for realizada sobre ela.. 1.3.2. Emaranhamento Um estado emaranhando é um estado que não pode ser decomposto na forma:. |ψi = |φi ⊗ |ξi.. (1.30). 1 1 |ψi = √ |01i + √ |10i. 2 2. (1.31). Como por exemplo:. Em um sistema clássico de duas moedas, elas podem estar independentes: cada moeda possui uma probabilidade de estado independente da outra, isto é, cada moeda tem 50% de chance de ser cara ou coroa e o estado de uma não afeta a outra. Outra possibilidade é um sistema onde as moedas estão, de alguma forma, conectadas. Por exemplo, se uma moeda tem o estado cara então a outra terá estado coroa e vice-versa. Isso implica em causalidade: o conhecimento do estado de uma moeda determina o estado da outra. O emaranhamento é diferente, há correlação ao invés de causalidade. No exemplo dado acima, uma medida em |ψi pode levar os estados do primeiro qubit e segundo qubit para, respectivamente, |0i e |1i ou |1i e |0i..
(31) 29. 1.3.3. Spin Spin é uma propriedade física intrínseca de partículas, correspondendo a um tipo. de momento angular quantizado. Os estados definidos de spin de partículas com spin= 1/2 são chamados de up e down. Um sistema de duas partículas de spin 1/2 com spins maximamente emaranhados corresponde aos estados de Bell:. 1 |Φ− i = √ (|00i − |11i) 2 1 |Φ+ i = √ (|00i + |11i) 2 1 |Ψ− i = √ (|01i − |10i) 2 1 |Ψ+ i = √ (|01i + |10i) 2. (1.32). Para um sistema de três ou mais partículas (ou qubits), os estados maximamente emaranhados dependem da forma de medida do emaranhamento: diferentes medidas podem levar a diferentes valores.. 1.4. OBJETIVOS Esta dissertação desenvolve quatro assuntos independentes que contribuem para. a otimização de redes neurais artificiais. O objetivo é que essas contribuições possam melhorar a capacidade de redes neurais artificiais em resolver problemas, com treinamento mais rápido ou desempenho superior. Serão apresentados: - Propagação gradiente de alvos como técnica de treinamento de redes neurais. Logo após considerações matemáticas, será mostrada duas aproximações que podem ser implementadas computacionalmente; - Inicialização aleatória de pesos, que introduz o conceito de incerteza de atividade neural e considera a não-linearidade de neurônios; - Expressão analítica para hiperparâmetros, com o propósito de eliminar a necessidade de algoritmos de busca; - Correlação de atividade neural, inspirada em um possível mecanismo de emaranhamento no cérebro proposto na literatura..
(32) 2. REVISÃO BIBLIOGRÁFICA. Esta seção revisará os quatro assuntos principais discutidos na introdução. Serão mostrados artigos e revisões presentes na literatura que contribuíram para o desenvolvimento deles, desde como surgiram até o que foi desenvolvido até o momento, focando nos trabalhos de maior relevância.. 2.1. PROPAGAÇÃO DE ALVOS A ideia de propagar alvos ao invés de erros surgiu na década de 1980 (LECUN,. 1986), mas foi a partir de 2015 que o método começou a chamar atenção, com a publicação de (LEE et al., 2015). Este trabalho considera obter os alvos através de um processo de inversão da rede neural, da função ativação:. y = f (wx),. (2.1). x = w−1 f −1 (y).. (2.2). ou seja, deseja-se obter:. Como as inversões podem ser complicadas ou computacionalmente caras, o que foi feito é criar uma outra rede neural que seja capaz de aprender a inversão, através de um processo de autocodificação. Os problemas deste processo são a necessidade de treinar outra rede neural e o tamanho do vetor x. Amostragem de alvo (BALDI; SADOWSKI, 2016) é outra técnica para calcular os alvos. Um conjunto de vetores alvos são obtidos através de uma distribuição aleatória e para cada vetor o desempenho da rede neural é medido. O vetor com melhor desempenho é usado para atualizar os parâmetros de treinamento. Esta técnica é ineficiente devido ao crescimento exponencial da dimensão dos vetores com o número de neurônios. Alinhamento de representação local (ORORBIA et al., 2018) usa passos gradientes para calcular os alvos. Entretanto há a consideração de créditos pré-sinápticos e póssinápticos para cada neurônio, além de restrições de normalização, que podem aumentar o tempo de treinamento..
(33) 31. 2.2. INICIALIZAÇÃO DE PESOS Inicialização de Xavier (GLOROT; BENGIO, 2010) é um método bastante popular. para inicialização de pesos. Através do uso de ferramentas estatísticas, a inicialização de Xavier mostra que os pesos devem vir de uma distribuição normal centrada em zero e variância inversamente proporcional ao número de neurônios pré-sinápticos. O problema é que a inicialização assume função ativação linear, o que não é realístico no contexto de redes neurais. Um trabalho mais realístico foi realizado por (KUMAR, 2017), onde o autor considera a não-linearidade dos neurônios. O problema desta técnica é assumir uma distribuição específica para atividade neural.. 2.3. HIPERPARÂMETROS Como discutido na introdução, uma forma de obter os hiperparâmetros é testar a. rede neural para um conjunto de valores e verificar qual apresenta melhor desempenho. Este empirismo é muito indesejável, pois exige experiência de um programador, além do desperdício de tempo e recursos computacionais. Busca em grade e busca aleatória (BERGSTRA; BENGIO, 2012) são técnicas um pouco melhores do que apenas tentar adivinhar o melhor hiperparâmetro. Estas técnicas consistem em, dado um conjunto de valores espaçados (grade) ou aleatoriamente, uma rede neural é automaticamente testada para cada ponto. Dependendo de como elas são implementadas e da complexidade da rede neural, pode haver elevado custo computacional. Minimizar a sensibilidade de uma rede neural aos hiperparâmetros usando métodos de otimização mais sofisticados é uma opção, tais como Adam (KINGMA; BA, 2014) e RMSprop (RUDER, 2016), ainda que tenham um certo número de parâmetros livres. Hiperpârametro cíclico (SMITH, 2015) considera que um hiperparâmetro varie com o tempo durante o treinamento de uma rede neural. Apesar de poder levar a melhores resultados em certos casos, ainda assim depende de fatores que um programador deve especificar, como a taxa de variação temporal e mínimo e máximo de oscilação. Inferência bayesiana (LI et al., 2018) considera hiperparâmetros probabilísticos ao invés de determinísticos. Após a observação de cada exemplo, os hiperparâmetros são atualizados de acordo com a regra de Bayes:. p(η|x) =. p(x|η)p(η) , p(x). (2.3). isso gera uma distribuição de probabilidades para η , cujo valor médio é usado para atualizar.
(34) 32. o gradiente dos pesos. Mas devido a esta técnica ser probabilística, ela pode falhar, o valor do hiperparâmetro pode ser superestimado, levando a uma degradação de desempenho durante o treinamento. Por fim, algoritmos evolucionários (HINZ et al., 2018) também são uma alternativa. Um conjunto de redes neurais com hiperparâmetros diferentes é gerado, o desempenho de cada uma é testada e o as melhores RNAs são usadas para gerar novas redes neurais semelhantes, mas com hiperparâmetros ligeiramente diferentes. Eventualmente a evolução dessas redes converge, a princípio, para os melhores hiperparâmetros. O custo computacional novamente é um problema: além da necessidade de simular várias redes neurais, não há garantia de convergência nem há como determinar o tempo de evolução ideal.. 2.4. REDES NEURAIS QUÂNTICAS Há uma intersecção entre a natureza quântica da computação e um problema que. se deseja resolver. Pode-se usar I.A. clássica para resolver problemas clássicos ou quânticos e I.A. quântica para também resolver problemas clássicos ou quânticos. Independente da classe de problemas, encontrar mecanismos de implementação de mecânica quântica em redes neurais artificiais pode ser útil, da mesma forma que computadores quânticos realizam certos algoritmos de forma mais rápida que suas versões clássicas. Por rede neural quântica entende-se qualquer rede neural artificial que utilize fenômenos quânticos em alguma parte de seu sistema. Isso pode incluir: neurônios, sinapses, aprendizado ou até mesmo uma rede inteira. O objetivo é que a mecânica quântica possa melhorar uma rede neural, como atingir desempenho superior ou treinamento mais rápido. Exceto pela medida, todas as operações em mecânica quântica são lineares, o que torna não trivial a implementação em redes neurais diretamente, usando apenas os princípios de superposição e evolução temporal. Uma forma de contornar este problema é através de sistemas não-lineares, como por exemplo (TORRONTEGUI; GARCIA-RIPOLL, 2018), que considera um campo não-linear interagindo com qubits. Outra proposta (STEINBRECHER et al., 2018) trata uma rede neural como um sistema ótico, cuja não-linearidade surge a partir efeito Kerr: um material muda seu índice de refração de forma não-linear de acordo com o campo elétrico aplicado. Há a possibilidade de tratar uma rede neural clássica com treinamento quântico. Annealing quântico (KADOWAKI; NISHIMORI, 1998) é uma técnica de otimização implementável em computadores quânticos para encontrar extremos de uma função. Em RNAs, ela pode ser utilizada para encontrar os pesos que minimizam uma função custo, substituindo o método do gradiente. Devido as limitações de hardware atuais para implementação de RNAs quânticas em grande escala, as pesquisas desde assunto acabam tendo um teor muito teórico. Con-.
(35) 33. tudo, é possível usar mecânica quântica apenas como inspiração para o desenvolvimento de novos algoritmos, ao invés de uma implementação direta dos seus fenômenos. Biologia quântica é uma área da mecânica quântica dedicada ao estudo de fenômenos quânticos em seres vivos. Como exemplos destacam-se a fotossíntese (ENGEL et al., 2007), magnetorecepção em aves migratórias (HORE; MOURITSEN, 2016) e transporte de oxigênio nos músculos (WEBER et al., 2014). Há um debate na comunidade científica se o cérebro utiliza fenômenos quânticos para realizar cognição, alguns a favor (POZZI; SANDER; ROELFSEMA, 2018) e outros contra (STORK, 1989). Mas nenhuma confirmação experimental, contra ou a favor, foi realizada até o momento. Matthew Fisher propôs um mecanismo (FISHER, 2015) ao qual o cérebro poderia usar emaranhamento nos neurônios. Hexafosfato de cálcio Ca9 (P O4 )6 , também conhecida como molécula de Posner, é uma molécula produzida pelo corpo humano devido a reações com a molécula trifosfato de adenosina. A interação entre duas moléculas de Posner pode permitir a preservação da superposição de estados de spins nucleares dos átomos de fósforo em uma escala de tempo elevada (de minutos a horas). Dependendo de condições adequadas para a formação dessas moléculas, é possível que elas contenham átomos de fósforo com spins nucleares emaranhados. Se dois pares de moléculas de Posner forem absorvidos por neurônios diferentes, as moléculas estarão sujeitas a reações químicas neurais. Se um dos neurônios elevar sua diferença de potencial, o pH do meio intraneural irá reduzir, o que acaba por destruir as moléculas de Posner, que são sensíveis ao meio ácido. Quando uma molécula de Posner fosse destruída, seus átomos de cálcio seriam liberados, o que acabaria por elevar mais ainda a diferença de potencial neural, aumentando suas chances de disparo. Mas devido ao emaranhamento, quando uma molécula fosse destruída a outra também seria, ou seja, quando um neurônio elevar sua diferença de potencial, também acontecerá com o outro..
(36) 3. METODOLOGIA. 3.1. PROPAGAÇÃO GRADIENTE DE ALVOS A equação fundamental da propagação gradiente de alvos (PGA) (FARIAS; MAZI-. ERO, 2018) é a seguinte equação diferencial autônoma:. ∂y ∂L =− , ∂t ∂y. (3.1). y˙ = −∇L.. (3.2). de forma compacta:. A equação acima informa que o valor de y evolui temporalmente para o menor valor de L, desde que o custo seja uma função convexa, caso contrário, y irá evoluir para algum mínimo local. O valor do alvo é obtido resolvendo a equação diferencial para tempo infinito:. yˆ = y(t)|t=∞ .. (3.3). A equação da propagação gradiente de alvos só possui solução analítica para caso em que uma camada possua apenas um único neurônio, como mostrando no apêndice C. Para o caso geral, devemos fazer alguma aproximação para obter a solução. Dois meios podem ser considerados: aproximação numérica, como a aproximação de Euler ou impor restrições para obter uma solução analítica, definida como aproximação independente.. 3.1.1. Aproximação de Euler A aproximação mais simples é resolver a equação diferencial usando o método de. Euler. y irá evoluir iterativamente a cada instante de tempo t:. y t = y t−1 − τ. ∂L , ∂y. (3.4). onde τ é um hiperparâmetro representando o tamanho temporal do passo. A condição inicial é y 0 = 0. A aproximação é resolvida em um número T de passos..
(37) 35. 3.1.2. Aproximação independente Como mostrado no apêndice C, a equação da PGA não pode ser resolvida anali-. ticamente devido a dependência dos alvos dos neurônios de uma mesma camada. Uma outra aproximação que pode ser feita é desconsiderar essa dependência, assim obtendo uma solução analítica da PGA, eliminando o hiperparâmetro τ . Partimos da equação da propagação gradiente de alvos 3.1:. ∂Ll+1 ∂yl =− , ∂t ∂yl. (3.5). para o custo quadrático médio (equação 1.16):. ∂ylj X i ij i0 i yl+1 . = (ˆ yl+1 − yl+1 )wl+1 ∂t i. (3.6). i pode ser escrito como uma aproximação de Taylor, que por uma O neurônio yl+1. questão de simplificação, será considerada expansão até primeira ordem. O apêndice B generaliza para a expansão geral. Para a função ativação sigmóide: i yl+1 = σ(wl+1 yl ) ≈. 1 1 + wl+1 yl . 2 4. (3.7). Voltando a equação 3.6:. ! ∂ylj X i 1 1 X ik i ij i0 = yˆl+1 − − wl+1 yl+1 wl+1 yl+1 . ∂t 2 4 k i. (3.8). A equação acima pode ser reescrita de forma compacta em termos de ylj :. ∂ylj = α − βylj , ∂t com:. α=. X. 0. ij i i wl+1 yl+1 yˆl+1 −. X1. i. i. 2. 0. ij i wl+1 yl+1 −. 1 X X ij ik i0 k w w y y , 4 i k6=j l+1 l+1 l+1 l. (3.9). (3.10). e. β=. 1 X ij ij i0 w w y . 4 i l+1 l+1 l+1. (3.11). A equação 3.9 tem a seguinte solução:. ylj (t) =. α + ce−βt . β. (3.12). A função sigmóide tem ativação e derivada não-negativa, portanto β é não-negativo. Para tempo muito grande, obtém-se o valor do alvo:.
(38) 36. yˆlj. P. α = = β. i. 0. ij i i wl+1 yl+1 yˆl+1 −. P 1 1 ij i0 i i 2 wl+1 yl+1 − 4 P ij ij i0 1 i wl+1 wl+1 yl+1 4. P. P. 0. k6=j. ij ik i wl+1 wl+1 yl+1 ylk. .. (3.13). Para compactar mais as expressão acima, α pode ser escrito como:. α=. X. 0. ij i i yl+1 yˆl+1 − wl+1. i. i. =. X. X1. 0. ij i i yl+1 yˆl+1 − wl+1. X. 2. 1 X X ij ik i0 k 1 X ij ij i0 j w w y y w w y y + 4 i k l+1 l+1 l+1 l 4 i l+1 l+1 l+1 l ! 1 1 X ik k 1 X ij ij i0 j − w w y y . wl+1 yl + 2 4 k 4 i l+1 l+1 l+1 l. 0. ij i yl+1 − wl+1. 0. ij i yl+1 wl+1. i. i. (3.14) Na equação acima, a expressão entre parênteses do segundo termo corresponde i a expansão de Taylor de yl+1 . Portanto a forma original pode ser retomada:. α=. X. =. X. 0. ij i i wl+1 yl+1 yˆl+1 −. X. i. 0. ij i i wl+1 yl+1 yl+1 +. i ij i0 i wl+1 yl+1 (ˆ yl+1. −. i yl+1 ). i. 1 X ij ij i0 j w w y y 4 i l+1 l+1 l+1 l. 1 X ij ij i0 j w w y y . + 4 i l+1 l+1 l+1 l. (3.15). A equação 3.13 pode ser escrita na seguinte forma vetorial: 0. ˆl = yl + 4 y. ˆl+1 − yl+1 ) wTl+1 yl+1 (y T. 0. w2l+1 yl+1. .. (3.16). O algoritmo abaixo mostra como implementar o método da propagação gradiente de alvos: Algoritmo 1: P ROPAGAÇÃO. GRADIENTE DE ALVOS. 1. Inicialize a rede neural com alguma distribuição aleatória de pesos. 2. para camada l = N até 1 faça. 3. Calcule o l-ésimo erro de Cl. 4. Calcule o (l − 1)-ésimo alvo por alguma aproximação. 5. Atualize o peso de acordo como método de descida de gradiente. 6. fim. 7. Repita até o erro diminuir para um valor desejado..
(39) 37. 3.1.3. Relação com Backpropagation Pode ser mostrado que a propagação de alvos com aproximação de Euler é um. método de treinamento mais geral que regras puras locais ou não-locais. Vamos mostrar que PGA faz ambos. Da equação da descida de gradiente (equação 1.21), com custo quadrático, teremos:. ∆wl = η(ˆ yl − yl ). ∂yl , ∂wl. (3.17). a equação acima pode ser separada da seguinte forma:. ∆wl = η yˆl. ∂yl ∂yl − ηyl . ∂wl ∂wl. (3.18). Substituindo os alvos da equação acima com aproximação de Euler para um instante de tempo, obtém-se:. ∆wl = −ητ. ∂Cl+1 ∂yl ∂yl − ηyl . ∂yl ∂wl ∂wl. (3.19). O primeiro termo corresponde a regra da cadeia do Backpropagation. Portanto PGA realiza Backpropagation mais outras operações. O segundo termo pode se reescrito como a derivada da função ativação f.. yl. ∂yl ∂f (zl ) = yl−1 yl . ∂wl ∂zl. (3.20). Este termo corresponde ao aprendizado Hebbiano não-linear (BRITO; GERSTNER, 2016), o qual é uma regra de aprendizado local. O custo das equações acima pode ser reescrito em termos do custo de camadas acima na rede neural, generalizando a expressão para um instante de tempo:. ∂ ∆wl = − ∂wl. Cq +. q−1 2 X y. !. i. i=l. .. 2. (3.21). Detalhes das operações matemáticas estão presentes no apêndice A. Na forma contínua têm-se:. ∂ ∆wl = − ∂wl. Z 0. T. Cq dq−l t +. q−1 Z X i=l. 0. T. ! yi2 i−l d t . 2. (3.22). Portanto, PGA com aproximação de Euler realiza uma combinação de regras de treinamento locais e não locais. Através da adição de novos canais de comunicação (3.1), é possível calcular os alvos..
(40) 38. objetivo. Figura 3.1 – Propagação gradiente de alvos depende de informações de várias camadas de neurônios.. 3.2. INICIALIZAÇÃO ALEATÓRIA DE PESOS A não-linearidade das funções ativação dos neurônios pode ser considerada para. obter uma melhor inicialização de pesos (FARIAS; MAZIERO, 2018). Partindo da expressão da atividade neural: yl = f (zl ), com zl = wl yl−1 .. (3.23). A variância de y é calculada pela aproximação:. V AR(yl ) ≈. df (hzl i) dzl. 2 V AR(zl ).. (3.24). Como wl e yl−1 são independentes, o valor esperado de zl pode ser escrito como:. X (i) (i) X (i) (i) hzl i = h wl yl−1 i = hwl ihyl−1 i. i. (3.25). i. Cada peso wl vem de uma mesma distribuição, então todos os valores esperados (i). são iguais: hwl i = hwl i. Uma distribuição normal centrada em zero para os pesos pode ser escolhida:. hzl i = hwl i. X i. A variância de zl é calculada por:. (i). hyl−1 i = 0.. (3.26).
Documentos relacionados
Sci-Fi - Como Escrever Ficção Científica E Fantasia Que Vendem (Segredos Do Best-Seller) (Portuguese Edition).. By
O presente documento constitui o Resumo Não Técnico (RNT) do Estudo de Impacte Ambiental (EIA) do Sobreequipamento do Parque Eólico de Arada/Montemuro, o qual
Utilizando-se os inseticidas piridabem e endosulfan diluídos em acetona, este trabalho teve como objetivos: 1) obter as curvas de respostas de mosca-branca, quanto a sua mortalidade,
Mais especi…camente, a partir de uma base de dados consolidada de captações e aplicações dos bancos brasileiros, e compulsório sobre depósitos a prazo total, nós fazemos um
A Câmara Rio-Grandense do Livro prepara ainda uma solenidade especial para a Semana, com homenagens a pessoas e instituições que, no ano passado, destacaram-se na promoção da
Em visita ao Fórum da Comarca de Palmas-TO foi informado que no dia 01 de outubro do corrente ano o Poder Judiciário realizou a primeira audiência envolvendo crianças
Para Wânia Pasinato, o conceito de feminicídio não deve ser utilizado de forma generalizada e irrestrita, eis que vinculado apenas aos assassinatos de mulheres em razão da
As pegadas patinadas sobre o coração, que estaria coberto por pó (talvez, mumificado), desenham uma passagem de tempo. Dialeticamente, as ações continuam seu curso enquanto há