Análise de desempenho da rede neural artificial do tipo multilayer perceptron na era multicore
Redes Neurais Artificiais Computação paralela, multilayer perceptron, OpenMP
As redes neurais artificiais (RNAs) geralmente são aplicadas na solução de problemas complexos. Uma maior eficiência funcional é conseguida ao aumentar o número de camadas e de neurônios, o que acarreta em um maior esforço computacional. Muitos defendem que o maior custo computacional está na fase de treinamento. Porém, o processo de aprendizado é realizado apenas uma única vez. Outro fator importante na decisão de usá-la em determinados sistemas é seu tempo de resposta. Neste trabalho se propõe paralelizar o processo feed-forward (passo para frente) de uma RNA do tipo Multilayer Perceptron (MLP), implementada com OpenMP em uma arquitetura computacional de memória compartilhada. Propõe-se e realização de testes e análises a partir das medições dos tempos de execução da rede. O speedup, a eficiência e a escalabilidade são observados em uma mesma arquitetura computacional. É observado que a quantidade de conexões entre os neurônios e a arquitetura reduzirem o tempo total de execução. Com a paralelização o tempo necessário para comunicação e sincronização está diretamente ligado ao número de neurônios remotos da rede, sendo então, necessário observar sua melhor distribuição.