Mostrar registro simples

dc.contributor.advisorLamb, Luis da Cunhapt_BR
dc.contributor.authorFlach, João Marcospt_BR
dc.date.accessioned2023-08-26T03:35:29Zpt_BR
dc.date.issued2023pt_BR
dc.identifier.urihttp://hdl.handle.net/10183/264011pt_BR
dc.description.abstractNeural Networks are usually used in the context of machine learning to solve statistical problems and calculate approximations. However, its use for symbolic learning has been increasing in the past years, placing them in the Neurosymbolic realm. To study the capabilities of Neural Networks in this kind of task, several works have already explored the ability of these networks to learn mathematical operations, such as addition and multiplication, logic inference, such as theorem provers, and even execution of computer programs. The latter is known to be a task too complex for neural networks. Therefore, the results were not always successful and often required the introduction of biased elements in the learning process, in addition to restricting the scope of possible programs to be executed. In this work, we will be interested in studying the ability of Neural Networks to learn how to execute programs as a whole. To achieve this, we propose a di erent approach. Instead of using an imperative pro gramming language with complex structures, we use the Lambda Calculus (λ-Calculus), a simple yet Turing-Complete mathematical formalism, which serves as the basis for modern functional languages. As the execution of a program in λ-Calculus is based on reductions, we will show that learning how to perform these reductions is enough to execute any program.en
dc.description.abstractRedes neurais são geralmente utilizadas para resolver problemas estatísticos e calcular aproximações. No entanto, seu uso para aprendizagem simbólica vem aumentando nos últimos anos, colocando-as no domínio Neuro-Simbólico. Para estudar as capacidades das Redes Neurais nesse tipo de tarefa, vários trabalhos já exploraram a capacidade des sas redes em aprender operações matemáticas, como adição e multiplicação, inferências lógicas, como provadores de teoremas, e até execução de programas de computador. Esta última tarefa é conhecida por ser muito complexa para redes neurais. Portanto, nem sem pre os resultados são bem-sucedidos, e muitas vezes exigem a introdução de elementos enviesados no aprendizado, além de restrição no escopo de programas a serem executa dos. Neste trabalho, estaremos interessados em estudar a capacidade das Redes Neurais em aprender a executar programas como um todo. Para isso, propomos uma abordagem diferente. Ao invés de usar uma linguagem de programação imperativa, com estruturas complexas, usamos o Lambda Calculus (λ-Calculus), um formalismo matemático sim ples, mas Turing-Completo, que serve de base para as linguagens funcionais modernas. Como a execução de um programa em λ-Calculus é baseada em reduções, mostraremos que basta aprender a fazer essas reduções para que possamos executar qualquer pro grama.pt_BR
dc.format.mimetypeapplication/pdfpt_BR
dc.language.isoengpt_BR
dc.rightsOpen Accessen
dc.subjectRedes neuraispt_BR
dc.subjectSequence-to-sequence modelen
dc.subjectTransformer modelen
dc.subjectAprendizado de máquinapt_BR
dc.subjectCalculo lambdapt_BR
dc.subjectSymbolic AIen
dc.subjectNeuro-symbolic computationen
dc.titleLambda calculus meets machine learningpt_BR
dc.title.alternativeCálculo lambda encontra aprendizado de máquina pt
dc.typeDissertaçãopt_BR
dc.identifier.nrb001175975pt_BR
dc.degree.grantorUniversidade Federal do Rio Grande do Sulpt_BR
dc.degree.departmentInstituto de Informáticapt_BR
dc.degree.programPrograma de Pós-Graduação em Computaçãopt_BR
dc.degree.localPorto Alegre, BR-RSpt_BR
dc.degree.date2023pt_BR
dc.degree.levelmestradopt_BR


Thumbnail
   

Este item está licenciado na Creative Commons License

Mostrar registro simples