Análise de desempenho da rede neural artificial do tipo multilayer perceptron na era multicore
Algoritmos Escaláveis, Redes Neurais Artificiais, Computação paralela, multilayer perceptron, OpenMP
As redes neurais artificiais geralmente são aplicadas na solução de problemas complexos. Em problemas com maior complexidade ao aumentar o número de camadas e de neurônios é possível conseguir uma maior eficiência funcional, porém, isto acarreta em um maior esforço computacional. O tempo de resposta é um fator importante na decisão
de usá-la em determinados sistemas. Muitos defendem que o maior custo computacional está na fase de treinamento. Porém, esta fase é realizada apenas uma única vez. Já treinada é necessário usar os recursos computacionais existentes de forma eficiente. Diante da era multicore o problema se resume à utilização eficiente de todos os núcleos de processamento disponíveis. No entanto, é necessário considerar a sobrecarga existente nas aplicações paralelas, neste sentido, esse trabalho propõe uma estrutura modular que mostrou-se ser mais adequado para as implementações paralelas. Neste é proposto paralelizar o processo feedforward (passo para frente) de uma RNA do tipo MLP, implementada com o OpenMP em uma arquitetura computacional de memória compartilhada. A investigação se dará com a realização de testes e análises dos tempos de execução. O speedup, a eficiência e a escalabilidade são analisados. Na proposta apresentada é possível percebe que ao diminuir o número de conexões entre os neurônios remotos o tempo de resposta da rede diminui e por consequência o tempo total de execução. O tempo necessário para comunicação e sincronismo está diretamente ligado ao número de neurônios remotos da rede, sendo então, necessário observar sua melhor distribuição.