Designing deep neural networks using a flexible grammar-based evolutionary approach
Resumo
Resumo: Na área da Computacão Bio-Inspirada, Redes Neurais Artificiais (ANNs) e Algoritmos Evolutivos (EAs) são dois tópicos muito populares, frequentemente aplicados a uma variedade de problemas. Aprendizagem Profunda (DL) tem tido sucesso no processo de automação da engenharia de características, sendo amplamente aplicada para diversas tarefas, como, por exemplo, reconhecimento de fala, classificação, segmentação de imagens, predição de séries temporais, dentre outras. Redes Neurais Profundas (DNNs) incorporam o poder de aprender padrões através dos dados, seguindo um esquema ponta-a-ponta, e expandindo a aplicabilidade em problemas do mundo real, sendo que menos pré-processamento é necessário. EAs podem ser utilizados no projeto de soluções para problemas complexos como, por exemplo, robôs, placas de circuitos, e outros algoritmos, através do uso da Programação Genética (GP). GP utiliza dos mesmos princípios que outros algoritmos evolutivos, evoluindo uma população de soluções, e modificando elas através de operadores de recombinação, buscando pelas melhores soluções, definidas por uma métrica de qualidade. Com o rápido crescimento em ambos escala e complexidade, novos desafios surgiram com relação ao projeto manual e configuração de DNNs. Abordagens evolucionárias têm crescido em popularidade para esse assunto, com mais estudos na área de Neuro-evolução, várias técnicas baseadas em GP tem sido aplicadas de diversas maneiras. Neste trabalho, uma abordagem evolucionária baseada em gramática, chamada GE/DNN, está sendo proposta para o projeto de DNNs. Ela consiste de uma versão modificada da Evolução Gramatical (GE), também buscando inspiração em outros trabalhos relacionados ao projeto de algoritmos, sendo composta por três componentes principais: a gramática, o mapeamento, e o motor de busca. A abordagem é validada em três diferentes aplicações: no projeto de Redes Neurais Convolucionais (CNNs) para a classificação de imagens, U-Nets para segmentação de imagens, e Redes Neurais de Grafos (GNNs) para classificação de textos. Os resultados mostram que a GE/DNN pode gerar diferentes arquiteturas de DNNs de forma eficiente, sendo adaptada para cada problema, e aplicando escolhas que diferem do que é visto usualmente em redes projetadas manualmente. A abordagem tem mostrado grande potencial em relação ao projeto de arquiteturas, atingindo resultados competitivos comparado as demais abordagens comparadas. Abstract: In the field of Bio-Inspired Computation, Artificial Neural Networks (ANNs) and Evolutionary Algorithms (EAs) are two popular topics, often applied to a variety of problems. Deep Learning (DL) has been very successful in automating the feature engineering process, widely applied for various tasks, such as speech recognition, classification, segmentation of images, time-series forecasting, among others. Deep neural networks (DNNs) incorporate the power to learn patterns through data, following an end-to-end fashion, and expand the applicability in real world problems, since less pre-processing is necessary. EAs can be used to design solutions for complex problems, like robots, circuit boards, and designing other algorithms, through the use of Genetic Programming (GP). GP uses the same principles as other evolutionary algorithms, evolving a population of solutions, and modifying them through the use of recombination operators, searching for the fittest solutions, defined by a quality measure. With the fast growth in both scale and complexity, new challenges have emerged regarding the manual design and configuration of DNNs. Evolutionary approaches have been growing in popularity for this subject, as Neuroevolution is studied more, with many GP-based techniques being applied in different ways. In this work, an evolutionary grammar-based GP approach, called GE/DNN, is being proposed for the design of DNNs. It consists of a modified version of Grammatical Evolution (GE), also drawing inspiration from other works related to the design of algorithms, and it is composed of three main components: the grammar, mapping, and search engine. The approach is validated in three different applications: the design of Convolutional Neural Networks (CNNs) for image classification, U-Nets for image segmentation, and Graph Neural Networks (GNNs) for text classification. The results show that GE/DNN can efficiently generate different DNN architectures, being adapted to each problem, and employing choices that differ from what is usually seen in networks designed by hand. This approach has shown a lot of promise regarding the design of architectures, reaching competitive results with the compared approaches.
Collections
- Teses [140]