Embedded representation of genetic programming trees
Carregando...
Arquivos
Data
Autor(es)
Título da Revista
ISSN da Revista
Título de Volume
Editor
Universidade Federal de Minas Gerais
Descrição
Tipo
Dissertação de mestrado
Título alternativo
Representação incorporada de árvores de programação genética
Primeiro orientador
Membros da banca
Luiz Chaimowicz
Renato Tinós
Renato Tinós
Resumo
Representation learning is an area responsible for learning data representations that makes it easier for machine learning algorithms to extract useful information from them. Deep learning currently has the most effective methods for this task and can learn distributed representations -- also known as embeddings -- able to represent different properties of the data and their relationship. In this direction, this work introduces a new way to look at tree-like genetic programming (GP) individuals for symbolic regression. Genetic Programming is a branch of evolutionary computation where individuals are generated to represent general structures also known as programs. When used for symbolic regression, individuals are usually represented by trees, where each tree maps to a mathematical function. As in any regression task, the objective of symbolic regression is to find the function f that maps the set of variables escribing a data example into a real-value y, where y is a real number. As with other evolutionary algorithms, GPs explore the search space of functions $f$ using the principles of evolution and survival of the fittest. First, each solution is evaluated to measure its ability to solve the problem, generating the value of the fitness function. The fitness is then used in a probabilistic individual selection process. Next, individuals selected undergo crossover and mutation operations. In tree-based GPs, it is well-known that genetic operations end up being restricted by syntax and most of the time there is no guarantee the result of crossover operations is meaningful or is just equivalent to a mutation. There have been many attempts to take semantics into consideration in this type of algorithm, but the approaches proposed so far do not change the individual's representations themselves to try to take advantage of the robustness provided by embeddings. Motivated by that, given a set of predefined operators used to generate the solutions to the problem (functions) represented by trees and a sufficiently large number of trees sampled from the space, we train a transformer to learn an encoding/decoding function. By transforming a tree representation into a distributed representation, we are able to measure distances between trees in a much more efficient way and, more importantly, generate the potential for these representations to capture semantics. We show the distance accounting for embedding presents results very similar to those of a tree-edition distance, which reflects their syntactic similarity. Although the model cannot capture semantics yet, we show its potential by using the generated tree-representation model in simple tasks: measuring distances between trees in a fitness-sharing scenario, where diversity is the desirable property and can be measured considering distances between trees or and generating visualizations of the trees within an evolved population.
Abstract
Aprendizado de representações é uma área que investiga formas de representações de dados que facilitem para os algoritmos de aprendizado de máquina extraírem informações úteis deles. O aprendizado profundo atualmente possui os métodos mais eficazes para essa tarefa e pode aprender representações vetoriais reais - também conhecidas como embeddings - capazes de representar diferentes propriedades dos dados e suas relações. Nessa direção, este trabalho introduz uma nova maneira de visualizar indivíduos de programação genética (GP) em formato de árvore para regressão simbólica. A Programação Genética é um ramo da computação evolucionária onde os indivíduos são gerados para representar estruturas gerais, também conhecidas como programas. Quando essas estruturas são usadas em regressão simbólica, os indivíduos geralmente são representados por árvores, onde cada árvore é mapeada para uma função matemática. Como em qualquer tarefa de regressão, o objetivo da regressão simbólica é encontrar a função $f$ que mapeia o conjunto de variáveis que descrevem um exemplo de dados para um valor real y pertencente aos números reais. Assim como em outros algoritmos evolucionários, os GPs exploram o espaço de busca de funções $f$ usando os princípios da evolução e sobrevivência do mais apto. Primeiro, cada solução é avaliada para medir sua capacidade de resolver o problema, gerando o valor da função de aptidão (fitness). A aptidão é então usada em um processo probabilístico de seleção de indivíduos. Em seguida, os indivíduos selecionados passam por operações de cruzamento e mutação. Nos GPs baseados em árvores, é sabido que as operações genéticas acabam sendo restritas pela sintaxe e na maioria das vezes não há garantia de que o resultado das operações de cruzamento seja significativo ou apenas equivalente a uma mutação. Há muitas tentativas de levar a semântica em consideração nesse tipo de algoritmo, mas as abordagens propostas até agora não alteram as próprias representações individuais para tentar aproveitar a robustez fornecida pelos embeddings. Motivados por isso, dado um conjunto de operadores predefinidos usados para gerar as soluções para o problema (funções) representadas por árvores e um número suficientemente grande de árvores amostradas do espaço, treinamos um transformer para aprender uma função de codificação/decodificação.
Ao transformar uma representação de árvore em uma representação vetorial numérica, somos capazes de medir distâncias entre árvores de maneira muito mais eficiente e, mais importante, gerar o potencial para que essas representações capturem semântica.
Mostramos que a distância considerando o embedding apresenta resultados muito semelhantes aos de uma distância de edição de árvore, o que reflete sua similaridade sintática. Embora o modelo ainda não possa capturar a semântica, mostramos seu potencial usando o modelo de representação de árvore gerado em tarefas simples: medindo distâncias entre árvores em um cenário de fitness sharing, onde a diversidade é a propriedade desejável e pode ser medida considerando distâncias entre árvores, e gerando visualizações das árvores dentro de uma população evoluída.
Assunto
Computação – Teses, Aprendizado do computador – Teses, Programação genética (Computação) – Teses, Redes neurais (Computação) – Teses
Palavras-chave
genetic programming, embedded representations, transformers, semantics, representation learning, neural networks
Citação
Departamento
Endereço externo
Avaliação
Revisão
Suplementado Por
Referenciado Por
Licença Creative Commons
Exceto quando indicado de outra forma, a licença deste item é descrita como Acesso Aberto
