Lambda calculus meets machine learning - Flach, João Marcos (2023)
Redes 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.