Programação Genética em Unidades de Processamento Gráfico com TensorFlow

Autor: Baeta, Francisco José Rodrigues
Přispěvatelé: Correia, João Nuno Gonçalves Costa Cavaleiro, Martins, Tiago Filipe dos Santos
Jazyk: angličtina
Rok vydání: 2020
Předmět:
Zdroj: Repositório Científico de Acesso Aberto de Portugal
Repositório Científico de Acesso Aberto de Portugal (RCAAP)
instacron:RCAAP
Popis: Dissertação de Mestrado em Engenharia Informática apresentada à Faculdade de Ciências e Tecnologia Inspirada pela natureza, a Programação Genética (GP) constitui um método automático de resolução de problemas que otimiza soluções através da evolução de um conjunto de programas de computador [39]. Este processo de otimização, apesar de computacionalmente dispendioso, é também extremamente paralelizável. Ao longo dos anos, vários modelos de programação foram aplicados a GP de modo a aproveitar este potencial de paralelização. Mais especificamente, foi demonstrado que a vetorização de dados relativos à avaliação de aptidão dos indivíduos em GP beneficia do uso de processadores com capacidades de paralelização como as Unidades de Processamento Gráfico (GPUs).No presente trabalho recorremos à plataforma TensorFlow para investigar as vantagens da aplicação deste método de vetorização a vários problemas de GP, assim como para analisar ganhos de desempenho da GPU sobre o CPU. Para este propósito, foi desenvolvido um motor de GP independente, TensorGP, assim como um ambiente de testes com o objetivo de extrair resultados comparativos entre diversas abordagens tanto vetorizadas como iterativas.Problemas de regressão simbólica e evolução de imagens foram usados para validar o correto funcionamento das funcionalidades implementadas. Os resultados experimentais obtidos demonstram que tirando partido do modelo de execução do TensorFlow para a vetorização de domínios de avaliação extensos, ganhos de desempanho até duas ordens de grandeza são alcançáveis em GPU comparativamente com o CPU. Para além do mais, testes exploratórios realizados no âmbito de arte evolucionária comprovam a viabilidade do motor para efeitos de produção artística. Genetic Programming (GP) is an automatic problem-solving technique inspired by nature, that optimizes solutions through the evolution of a population of computer programs. This process of optimization, although computationally expensive, is also classified as “embarrassingly parallel”. For many years researchers attempted to exploit this tendency towards concurrency by employing various types of parallel programming paradigms. Particularly, vectorization of fitness evaluation data points was shown to benefit from the use of commercially available parallel architectures such as the Graphics Processing Unit (GPU), to speed up many GP related systems.In this work, we take advantage of the TensorFlow framework to investigate the benefits of applying this data vectorization method to different scenarios and determine respective GPU performance gains over a Central Processing Unit (CPU). For this purpose, an independent GP engine was developed, TensorGP, along with a testing suite to extract comparative results across different iterative and vectorized approaches.Symbolic regression problems and expression-based image evolution were used to validate system functionality. Our performance benchmarks demonstrate that by exploiting the TensorFlow execution model, performance gains of up to two orders of magnitude can be achieved on the GPU when compared to the CPU, for the vectorization of large problem domains. Furthermore, exploratory experimentation in the context of evolutionary art illustrates the engine’s feasibility towards artistic production.
Databáze: OpenAIRE