Embedded representation of genetic programming trees

Detalhes bibliográficos
Ano de defesa: 2023
Autor(a) principal: Victor de Souza Caetano
Orientador(a): Não Informado pela instituição
Banca de defesa: Não Informado pela instituição
Tipo de documento: Dissertação
Tipo de acesso: Acesso aberto
Idioma: eng
Instituição de defesa: Universidade Federal de Minas Gerais
Programa de Pós-Graduação: Não Informado pela instituição
Departamento: Não Informado pela instituição
País: Não Informado pela instituição
Palavras-chave em Português:
Link de acesso: https://hdl.handle.net/1843/80245
Resumo: 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.
id UFMG_07a87a3f2ef174e104fbcb3e6b8abcd5
oai_identifier_str oai:repositorio.ufmg.br:1843/80245
network_acronym_str UFMG
network_name_str Repositório Institucional da UFMG
repository_id_str
spelling 2025-02-20T14:33:27Z2025-09-09T00:25:21Z2025-02-20T14:33:27Z2023-09-12https://hdl.handle.net/1843/80245Aprendizado 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.engUniversidade Federal de Minas Geraishttp://creativecommons.org/licenses/by-sa/3.0/pt/info:eu-repo/semantics/openAccessgenetic programmingembedded representationstransformerssemanticsrepresentation learningneural networksComputação – TesesAprendizado do computador – TesesProgramação genética (Computação) – TesesRedes neurais (Computação) – TesesEmbedded representation of genetic programming treesRepresentação incorporada de árvores de programação genéticainfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisVictor de Souza Caetanoreponame:Repositório Institucional da UFMGinstname:Universidade Federal de Minas Gerais (UFMG)instacron:UFMGhttp://lattes.cnpq.br/3293465922564525Gisele Lobo Pappahttp://lattes.cnpq.br/5936682335701497Luiz ChaimowiczRenato TinósRepresentation 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.BrasilICEX - INSTITUTO DE CIÊNCIAS EXATASPrograma de Pós-Graduação em Ciência da ComputaçãoUFMGCC-LICENSElicense_rdfapplication/octet-stream1031https://repositorio.ufmg.br//bitstreams/c3e9da8e-8b5e-45fa-b65d-a62e69ffca55/download5dda753f5b57b1020a56e348e443aa73MD51falseAnonymousREADLICENSElicense.txttext/plain2118https://repositorio.ufmg.br//bitstreams/4b945c53-f1fe-4807-9ada-67b4664d6abb/downloadcda590c95a0b51b4d15f60c9642ca272MD52falseAnonymousREADORIGINALDissertação_Victor.pdfapplication/pdf21865305https://repositorio.ufmg.br//bitstreams/47c42b5a-b6a7-45f4-a2fd-0cdd058e6fcf/download8cbf50230e8423bd3512507fda792b46MD53trueAnonymousREAD1843/802452025-09-08 21:25:21.556http://creativecommons.org/licenses/by-sa/3.0/pt/Acesso Abertoopen.accessoai:repositorio.ufmg.br:1843/80245https://repositorio.ufmg.br/Repositório InstitucionalPUBhttps://repositorio.ufmg.br/oairepositorio@ufmg.bropendoar:2025-09-09T00:25:21Repositório Institucional da UFMG - Universidade Federal de Minas Gerais (UFMG)falseTElDRU7Dh0EgREUgRElTVFJJQlVJw4fDg08gTsODTy1FWENMVVNJVkEgRE8gUkVQT1NJVMOTUklPIElOU1RJVFVDSU9OQUwgREEgVUZNRwoKQ29tIGEgYXByZXNlbnRhw6fDo28gZGVzdGEgbGljZW7Dp2EsIHZvY8OqIChvIGF1dG9yIChlcykgb3UgbyB0aXR1bGFyIGRvcyBkaXJlaXRvcyBkZSBhdXRvcikgY29uY2VkZSBhbyBSZXBvc2l0w7NyaW8gSW5zdGl0dWNpb25hbCBkYSBVRk1HIChSSS1VRk1HKSBvIGRpcmVpdG8gbsOjbyBleGNsdXNpdm8gZSBpcnJldm9nw6F2ZWwgZGUgcmVwcm9kdXppciBlL291IGRpc3RyaWJ1aXIgYSBzdWEgcHVibGljYcOnw6NvIChpbmNsdWluZG8gbyByZXN1bW8pIHBvciB0b2RvIG8gbXVuZG8gbm8gZm9ybWF0byBpbXByZXNzbyBlIGVsZXRyw7RuaWNvIGUgZW0gcXVhbHF1ZXIgbWVpbywgaW5jbHVpbmRvIG9zIGZvcm1hdG9zIMOhdWRpbyBvdSB2w61kZW8uCgpWb2PDqiBkZWNsYXJhIHF1ZSBjb25oZWNlIGEgcG9sw610aWNhIGRlIGNvcHlyaWdodCBkYSBlZGl0b3JhIGRvIHNldSBkb2N1bWVudG8gZSBxdWUgY29uaGVjZSBlIGFjZWl0YSBhcyBEaXJldHJpemVzIGRvIFJJLVVGTUcuCgpWb2PDqiBjb25jb3JkYSBxdWUgbyBSZXBvc2l0w7NyaW8gSW5zdGl0dWNpb25hbCBkYSBVRk1HIHBvZGUsIHNlbSBhbHRlcmFyIG8gY29udGXDumRvLCB0cmFuc3BvciBhIHN1YSBwdWJsaWNhw6fDo28gcGFyYSBxdWFscXVlciBtZWlvIG91IGZvcm1hdG8gcGFyYSBmaW5zIGRlIHByZXNlcnZhw6fDo28uCgpWb2PDqiB0YW1iw6ltIGNvbmNvcmRhIHF1ZSBvIFJlcG9zaXTDs3JpbyBJbnN0aXR1Y2lvbmFsIGRhIFVGTUcgcG9kZSBtYW50ZXIgbWFpcyBkZSB1bWEgY8OzcGlhIGRlIHN1YSBwdWJsaWNhw6fDo28gcGFyYSBmaW5zIGRlIHNlZ3VyYW7Dp2EsIGJhY2stdXAgZSBwcmVzZXJ2YcOnw6NvLgoKVm9jw6ogZGVjbGFyYSBxdWUgYSBzdWEgcHVibGljYcOnw6NvIMOpIG9yaWdpbmFsIGUgcXVlIHZvY8OqIHRlbSBvIHBvZGVyIGRlIGNvbmNlZGVyIG9zIGRpcmVpdG9zIGNvbnRpZG9zIG5lc3RhIGxpY2Vuw6dhLiBWb2PDqiB0YW1iw6ltIGRlY2xhcmEgcXVlIG8gZGVww7NzaXRvIGRlIHN1YSBwdWJsaWNhw6fDo28gbsOjbywgcXVlIHNlamEgZGUgc2V1IGNvbmhlY2ltZW50bywgaW5mcmluZ2UgZGlyZWl0b3MgYXV0b3JhaXMgZGUgbmluZ3XDqW0uCgpDYXNvIGEgc3VhIHB1YmxpY2HDp8OjbyBjb250ZW5oYSBtYXRlcmlhbCBxdWUgdm9jw6ogbsOjbyBwb3NzdWkgYSB0aXR1bGFyaWRhZGUgZG9zIGRpcmVpdG9zIGF1dG9yYWlzLCB2b2PDqiBkZWNsYXJhIHF1ZSBvYnRldmUgYSBwZXJtaXNzw6NvIGlycmVzdHJpdGEgZG8gZGV0ZW50b3IgZG9zIGRpcmVpdG9zIGF1dG9yYWlzIHBhcmEgY29uY2VkZXIgYW8gUmVwb3NpdMOzcmlvIEluc3RpdHVjaW9uYWwgZGEgVUZNRyBvcyBkaXJlaXRvcyBhcHJlc2VudGFkb3MgbmVzdGEgbGljZW7Dp2EsIGUgcXVlIGVzc2UgbWF0ZXJpYWwgZGUgcHJvcHJpZWRhZGUgZGUgdGVyY2Vpcm9zIGVzdMOhIGNsYXJhbWVudGUgaWRlbnRpZmljYWRvIGUgcmVjb25oZWNpZG8gbm8gdGV4dG8gb3Ugbm8gY29udGXDumRvIGRhIHB1YmxpY2HDp8OjbyBvcmEgZGVwb3NpdGFkYS4KCkNBU08gQSBQVUJMSUNBw4fDg08gT1JBIERFUE9TSVRBREEgVEVOSEEgU0lETyBSRVNVTFRBRE8gREUgVU0gUEFUUk9Dw41OSU8gT1UgQVBPSU8gREUgVU1BIEFHw4pOQ0lBIERFIEZPTUVOVE8gT1UgT1VUUk8gT1JHQU5JU01PLCBWT0PDiiBERUNMQVJBIFFVRSBSRVNQRUlUT1UgVE9ET1MgRSBRVUFJU1FVRVIgRElSRUlUT1MgREUgUkVWSVPDg08gQ09NTyBUQU1Cw4lNIEFTIERFTUFJUyBPQlJJR0HDh8OVRVMgRVhJR0lEQVMgUE9SIENPTlRSQVRPIE9VIEFDT1JETy4KCk8gUmVwb3NpdMOzcmlvIEluc3RpdHVjaW9uYWwgZGEgVUZNRyBzZSBjb21wcm9tZXRlIGEgaWRlbnRpZmljYXIgY2xhcmFtZW50ZSBvIHNldSBub21lKHMpIG91IG8ocykgbm9tZXMocykgZG8ocykgZGV0ZW50b3IoZXMpIGRvcyBkaXJlaXRvcyBhdXRvcmFpcyBkYSBwdWJsaWNhw6fDo28sIGUgbsOjbyBmYXLDoSBxdWFscXVlciBhbHRlcmHDp8OjbywgYWzDqW0gZGFxdWVsYXMgY29uY2VkaWRhcyBwb3IgZXN0YSBsaWNlbsOnYS4K
dc.title.none.fl_str_mv Embedded representation of genetic programming trees
dc.title.alternative.none.fl_str_mv Representação incorporada de árvores de programação genética
title Embedded representation of genetic programming trees
spellingShingle Embedded representation of genetic programming trees
Victor de Souza Caetano
Computação – Teses
Aprendizado do computador – Teses
Programação genética (Computação) – Teses
Redes neurais (Computação) – Teses
genetic programming
embedded representations
transformers
semantics
representation learning
neural networks
title_short Embedded representation of genetic programming trees
title_full Embedded representation of genetic programming trees
title_fullStr Embedded representation of genetic programming trees
title_full_unstemmed Embedded representation of genetic programming trees
title_sort Embedded representation of genetic programming trees
author Victor de Souza Caetano
author_facet Victor de Souza Caetano
author_role author
dc.contributor.author.fl_str_mv Victor de Souza Caetano
dc.subject.por.fl_str_mv Computação – Teses
Aprendizado do computador – Teses
Programação genética (Computação) – Teses
Redes neurais (Computação) – Teses
topic Computação – Teses
Aprendizado do computador – Teses
Programação genética (Computação) – Teses
Redes neurais (Computação) – Teses
genetic programming
embedded representations
transformers
semantics
representation learning
neural networks
dc.subject.other.none.fl_str_mv genetic programming
embedded representations
transformers
semantics
representation learning
neural networks
description 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.
publishDate 2023
dc.date.issued.fl_str_mv 2023-09-12
dc.date.accessioned.fl_str_mv 2025-02-20T14:33:27Z
2025-09-09T00:25:21Z
dc.date.available.fl_str_mv 2025-02-20T14:33:27Z
dc.type.status.fl_str_mv info:eu-repo/semantics/publishedVersion
dc.type.driver.fl_str_mv info:eu-repo/semantics/masterThesis
format masterThesis
status_str publishedVersion
dc.identifier.uri.fl_str_mv https://hdl.handle.net/1843/80245
url https://hdl.handle.net/1843/80245
dc.language.iso.fl_str_mv eng
language eng
dc.rights.driver.fl_str_mv http://creativecommons.org/licenses/by-sa/3.0/pt/
info:eu-repo/semantics/openAccess
rights_invalid_str_mv http://creativecommons.org/licenses/by-sa/3.0/pt/
eu_rights_str_mv openAccess
dc.publisher.none.fl_str_mv Universidade Federal de Minas Gerais
publisher.none.fl_str_mv Universidade Federal de Minas Gerais
dc.source.none.fl_str_mv reponame:Repositório Institucional da UFMG
instname:Universidade Federal de Minas Gerais (UFMG)
instacron:UFMG
instname_str Universidade Federal de Minas Gerais (UFMG)
instacron_str UFMG
institution UFMG
reponame_str Repositório Institucional da UFMG
collection Repositório Institucional da UFMG
bitstream.url.fl_str_mv https://repositorio.ufmg.br//bitstreams/c3e9da8e-8b5e-45fa-b65d-a62e69ffca55/download
https://repositorio.ufmg.br//bitstreams/4b945c53-f1fe-4807-9ada-67b4664d6abb/download
https://repositorio.ufmg.br//bitstreams/47c42b5a-b6a7-45f4-a2fd-0cdd058e6fcf/download
bitstream.checksum.fl_str_mv 5dda753f5b57b1020a56e348e443aa73
cda590c95a0b51b4d15f60c9642ca272
8cbf50230e8423bd3512507fda792b46
bitstream.checksumAlgorithm.fl_str_mv MD5
MD5
MD5
repository.name.fl_str_mv Repositório Institucional da UFMG - Universidade Federal de Minas Gerais (UFMG)
repository.mail.fl_str_mv repositorio@ufmg.br
_version_ 1862105841076797440