Embedded representation of genetic programming trees
| Ano de defesa: | 2023 |
|---|---|
| Autor(a) principal: | |
| Orientador(a): | |
| Banca de defesa: | |
| 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 |