Use este identificador para citar ou linkar para este item: http://repositorio.utfpr.edu.br/jspui/handle/1/4487
Título: NeuroPON: uma abordagem para o desenvolvimento de redes neurais artificiais utilizando o paradigma orientado a notificações
Título(s) alternativo(s): NeuroPON: an approach to the development of artificial neural networks using the notification oriented paradigm
Autor(es): Schütz, Fernando
Orientador(es): Simão, Jean Marcelo
Palavras-chave: Redes neurais (Computação)
Inteligência artificial
Arranjos de lógica programável em campo
Processamento paralelo (Computadores)
Software - Desenvolvimento
Métodos de simulação
Engenharia de computador
Engenharia elétrica
Neural networks (Computer science)
Artificial intelligence
Field programmable gate arrays
Parallel processing (Electronic computer)
Computer software - Development
Simulation methods
Computer engineering
Electric engineering
Data do documento: 31-Mai-2019
Editor: Universidade Tecnológica Federal do Paraná
Câmpus: Curitiba
Citação: SCHÜTZ, Fernando. NeuroPON: uma abordagem para o desenvolvimento de redes neurais artificiais utilizando o paradigma orientado a notificações. 2019. 269 f. Tese (Doutorado em Engenharia Elétrica e Informática Industrial) - Universidade Tecnológica Federal do Paraná, Curitiba, 2019.
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.
Abstract: Artificial Neural Networks (ANN), which are inspired by the naturally parallel Natural Neural Networks (NNN), are computational models capable of self-adjusting their synaptic weights based on examples, thus being able to learn and generalize solutions. Most ANN implementations were driven by the Imperative Paradigm (IP), often resulting in coupled programs. Thus, even if inspired by parallel NNN, ANN does not have an effective execution distribution when developed under IP, due to their coupling factor. Alternatively, the Notification Oriented Paradigm (NOP) emerges as a processing approach that relies on collaborative and notifying entities. NOP tends to be more efficient and decoupled compared to IP, as it allows a simpler and more efficient exploration of processing. Such advantages become even more relevant in systems that must have decoupled parts to be executed in parallel, such as ANN. The execution of NOP applications, however, cannot always be held most efficiently by traditional computer architectures based on sequential execution models (both monocore and multicore). In this context, Field Programmable Gate Arrays (FPGA) technology is a great alternative to NOP development. In this sense emerged the NOPHD technology, allowing the development of systems declaratively using NOP's own language (NOPL) and, through a specific compiler, generate parallel code for execution on FPGA devices. The present work proposes the specification and elaboration of the computational model NeuroNOP, which allows the construction of ANN with NOP concepts through a high-level declarative language. This model inherits from NOP the abstraction of knowledge through logical-causal rules using a declarative language. The focus of this model is also on efficient code generation for execution on monocore processors, concurrent for execution on multicore processors and parallel to FPGA devices. Such codes allow the created ANN to run in operational and training mode, adaptably and scalably, on such computational platforms. Tests were performed using NOP materializations in software (NOP Framework C++ 2.0, 3.0 and NOPL) as well as in hardware (NOPHD). Such tests proved the feasibility of the NeuroNOP computational model. The results of experiments with NeuroNOP in monoprocessor software, when compared with equivalents in IP, revealed a high level of decoupling, making the factual and logical-causal elements explicit. Experiments with the Framework NOP C++ 3.0 and the Framework Elixir/Erlang have proven the distribution of NOP entities for execution in different cores (multicore). Hardware experiments (NOPHD) resulted in the generation of parallel VHDL code, in a transparent way to the user. In short, NeuroNOP presents itself as a new computational model for ANN, which presents absent characteristics from other approaches in the literature, such as ANN execution and training in different computational platforms, through effective neural entities created from its descriptive and high-level language implementation.
URI: http://repositorio.utfpr.edu.br/jspui/handle/1/4487
Aparece nas coleções:CT - Programa de Pós-Graduação em Engenharia Elétrica e Informática Industrial

Arquivos associados a este item:
Arquivo Descrição TamanhoFormato 
CT_CPGEI_D_Schütz, Fernando_2019.pdf7,24 MBAdobe PDFThumbnail
Visualizar/Abrir


Os itens no repositório estão protegidos por copyright, com todos os direitos reservados, salvo quando é indicado o contrário.