NeuroPON: uma abordagem para o desenvolvimento de redes neurais artificiais utilizando o paradigma orientado a notificações

Detalhes bibliográficos
Ano de defesa: 2019
Autor(a) principal: Schütz, Fernando lattes
Orientador(a): Simão, Jean Marcelo lattes
Banca de defesa: Vieira Neto, Hugo lattes, Nievola, Júlio Cesar lattes, Oliveira, Lucas Ferrari de lattes, Lima, Carlos Raimundo Erig lattes, Lazzaretti, André Eugênio lattes
Tipo de documento: Tese
Tipo de acesso: Acesso embargado
Idioma: por
Instituição de defesa: Universidade Tecnológica Federal do Paraná
Curitiba
Programa de Pós-Graduação: Programa de Pós-Graduação em Engenharia Elétrica e Informática Industrial
Departamento: Não Informado pela instituição
País: Brasil
Palavras-chave em Português:
Área do conhecimento CNPq:
Link de acesso: http://repositorio.utfpr.edu.br/jspui/handle/1/4487
Resumo: Redes Neurais Artificiais (RNA), que são inspiradas nas naturalmente paralelas Redes Neurais Naturais (RNN), são modelos computacionais capazes de auto ajustar seus pesos sinápticos a partir de exemplos, sendo assim capazes de aprender e generalizar soluções. Grande parte das implementações de RNA teve seu desenvolvimento guiado pelo Paradigma Imperativo (PI), geralmente resultando em programas acoplados. Assim, mesmo se inspiradas em RNN paralelas, as RNA não têm uma distribuição efetiva de execução, quando desenvolvidas sob PI, devido ao seu fator de acoplamento. Como alternativa, o Paradigma Orientado a Notificações (PON) surge como uma abordagem de processamento que se baseia em entidades colaborativas e notificantes. O PON tende a ser mais eficiente e desacoplado quando comparado ao PI, pois permite a exploração de processamento de maneira mais simples e eficiente. Tais vantagens se tornam ainda mais relevantes em sistemas que devem ter partes desacopladas, a serem executadas em paralelo, como RNA. A execução de aplicações PON, entretanto, nem sempre pode ser feita da forma mais eficiente pelas arquiteturas de computadores tradicionais, baseados em modelos de execução sequencial (tanto monocore como multicore). Neste contexto, a tecnologia de Field Programmable Gate Arrays (FPGA) é uma alternativa para o desenvolvimento em PON. Neste âmbito surgiu a tecnologia PON-HD, que permite se desenvolver sistemas de forma declarativa utilizando a linguagem própria do PON (LingPON) e, por meio de compilador específico, gerar código paralelo para execução em dispositivos FPGA. O presente trabalho propõe então a especificação e elaboração do modelo computacional NeuroPON, que permite a construção de RNA com conceitos do PON, por meio de uma linguagem declarativa de alto nível. Este modelo herda do PON a abstração do conhecimento por meio de regras lógicocausais, utilizando uma linguagem declarativa. Também é foco deste modelo a geração de código eficiente para execução em processadores monocore, concorrente para execução em processadores multicore e paralelizável para dispositivos FPGA. Tais códigos permitem que a RNA criada execute no modo operacional e de treinamento, de forma adaptável e escalável, em tais plataformas computacionais. Testes foram realizados utilizando materializações do PON em software (Framework PON C++ 2.0, 3.0 e LingPON), bem como em hardware (PONHD). Tais testes demonstraram a factibilidade do modelo computacional NeuroPON. Os resultados de experimentos com NeuroPON em software monoprocessado, quando comparados com equivalentes em PI, apresentaram um alto nível de desacoplamento, tornando explícitos os elementos factuais e lógico-causais. Experimentos com o Framework PON C++ 3.0 e com o Framework Elixir/Erlang demonstraram a distribuição das entidades PON para execução em diferentes núcleos de processamento (multicore). Experimentos efetuados em hardware (PON-HD) resultaram na geração de código VHDL paralelo, de forma transparente ao usuário. Em suma, o NeuroPON se apresenta de fato como um novo modelo computacional para RNA, que apresenta características ausentes em demais abordagens da literatura, como treinamento e execução de RNA em plataformas distintas por meio entidades neurais efetivas criadas a partir de sua implementação em linguagem descritiva de alto nível.