Novo algoritmo acerta as perguntas do curso de matemática da universidade

Crédito: Pixabay/CC0 Public Domain

Cálculo multivariável, equações diferenciais, álgebra linear – tópicos que muitos alunos do MIT podem dominar sem suar a camisa – vinham consistentemente deixando perplexos os modelos de Machine Learning. Os melhores modelos só conseguiram responder a questões de matemática do ensino fundamental ou médio e nem sempre encontram as soluções corretas.

Agora, uma equipe multidisciplinar de pesquisadores do MIT e de outros lugares, liderada por Iddo Drori, professor do Departamento de Engenharia Elétrica e Ciência da Computação do MIT (EECS), usou um modelo de rede neural para resolver problemas de matemática de nível universitário em poucos segundos a nível humano.

O modelo também explica automaticamente as soluções e gera rapidamente novos problemas em disciplinas de matemática universitárias. Quando os pesquisadores mostraram essas perguntas geradas por máquina para estudantes universitários, os alunos não conseguiram dizer se as perguntas foram geradas por um algoritmo ou por um humano.

Esse trabalho pode ser usado para agilizar a geração de conteúdo para cursos, o que pode ser especialmente útil em grandes cursos residenciais e cursos online abertos massivos (MOOCs) que têm milhares de alunos. O sistema também pode ser usado como um tutor automatizado que mostra aos alunos as etapas envolvidas na resolução de problemas de matemática de graduação.

“Acreditamos que isso melhorará o ensino superior”, diz Drori, principal autor do trabalho, que também é professor adjunto do Departamento de Ciência da Computação da Universidade de Columbia e que se juntará ao corpo docente da Universidade de Boston neste verão. “Isso vai ajudar os alunos a melhorar, e vai ajudar os professores a criar novos conteúdos, e pode ajudar a aumentar o nível de dificuldade em alguns cursos. Também nos permite construir um gráfico de perguntas e cursos, o que nos ajuda a entender a relação entre os cursos e seus pré-requisitos, não apenas contemplando-os historicamente, mas com base em dados.”

O trabalho é uma colaboração que inclui estudantes, pesquisadores e professores do MIT, da Universidade de Columbia, da Universidade de Harvard e da Universidade de Waterloo. O autor sênior é Gilbert Strang, professor de matemática do MIT. A pesquisa aparece esta semana no Proceedings of the National Academy of Sciences.

Um momento “eureca”

Drori e seus alunos e colegas trabalham neste projeto há quase dois anos. Eles estavam descobrindo que os modelos pré-treinados usando apenas texto não conseguiam ter uma precisão superior a 8% em problemas de matemática do ensino médio, e aqueles que usavam redes neurais gráficas podiam responder às perguntas do curso de aprendizado de máquina, mas levariam uma semana para treinar.

Então Drori teve o que ele descreve como um momento “eureka”: ele decidiu tentar tirar dúvidas de cursos de matemática de graduação oferecidos pelo MIT e um da Universidade de Columbia que nunca haviam sido vistos antes por um modelo, transformando-os em tarefas de programação e aplicando técnicas conhecido como síntese de programa e aprendizado de poucos tiros. Transformar uma pergunta em uma tarefa de programação pode ser tão simples quanto reescrever a pergunta “encontre a distância entre dois pontos” como “escrever um programa que encontre a diferença entre dois pontos” ou fornecer alguns pares de perguntas-programa como exemplos.

Antes de alimentar essas tarefas de programação em uma rede neural, no entanto, os pesquisadores adicionaram uma nova etapa que permitiu que ela superasse amplamente suas tentativas anteriores.

No passado, eles e outros que abordaram esse problema usaram uma rede neural, como a GPT-3, que foi pré-treinada apenas em texto, o que significa que foram mostrados milhões de exemplos de texto para aprender os padrões da linguagem natural. Desta vez, eles usaram uma rede neural pré-treinada em texto que também foi “ajustada” no código. Essa rede, chamada Codex, foi produzida pela OpenAI. O ajuste fino é essencialmente outra etapa de pré-treinamento que pode melhorar o desempenho de um modelo de aprendizado de máquina.

O modelo pré-treinado recebeu milhões de exemplos de código de repositórios online. Como os dados de treinamento desse modelo incluíam milhões de palavras em linguagem natural, bem como milhões de linhas de código, ele aprende as relações entre trechos de texto e trechos de código.

Muitos problemas matemáticos podem ser resolvidos usando um gráfico ou árvore computacional, mas é difícil transformar um problema escrito em texto nesse tipo de representação, explica Drori. Como esse modelo aprendeu as relações entre texto e código, no entanto, ele pode transformar uma pergunta de texto em código, com apenas alguns exemplos de código de pergunta, e depois executar o código para responder ao problema.

“Quando você apenas faz uma pergunta em texto, é difícil para um modelo de aprendizado de máquina encontrar uma resposta, mesmo que a resposta possa estar no texto”, diz ele. “Este trabalho preenche a parte que faltava de usar código e síntese de programa.”

Este trabalho é o primeiro a resolver problemas de matemática de graduação e move a agulha de 8% de precisão para mais de 80%, acrescenta Drori.

Adicionando contexto

Transformar questões matemáticas em tarefas de programação nem sempre é simples, diz Drori. Alguns problemas exigem que os pesquisadores adicionem contexto para que a rede neural possa processar a pergunta corretamente. Um aluno pegaria esse contexto durante o curso, mas uma rede neural não tem esse conhecimento básico a menos que os pesquisadores o especifiquem.

Por exemplo, eles podem precisar esclarecer que a “rede” no texto de uma pergunta se refere a “redes neurais” em vez de “redes de comunicação”. Ou eles podem precisar informar ao modelo qual pacote de programação usar. Eles também podem precisar fornecer certas definições; em uma pergunta sobre mãos de pôquer, eles podem precisar informar ao modelo que cada baralho contém 52 cartas.

Eles alimentam automaticamente essas tarefas de programação, com o contexto e os exemplos incluídos, para a rede neural pré-treinada e ajustada, que gera um programa que geralmente produz a resposta correta. Acertou mais de 80% das questões.

Os pesquisadores também usaram seu modelo para gerar perguntas, dando à rede neural uma série de problemas matemáticos sobre um tópico e pedindo que criasse um novo.

“Em alguns tópicos, isso nos surpreendeu. Por exemplo, havia questões sobre detecção quântica de linhas horizontais e verticais, e gerou novas questões sobre detecção quântica de linhas diagonais. Então, não é só gerar novas questões substituindo valores e variáveis nas questões existentes”, diz Drori.

Perguntas geradas por humanos versus perguntas geradas por máquina

Os pesquisadores testaram as perguntas geradas por máquina, mostrando-as a estudantes universitários. Os pesquisadores deram aos alunos 10 perguntas de cada curso de matemática de graduação em ordem aleatória; cinco foram criados por humanos e cinco foram gerados por máquina.

Os alunos foram incapazes de dizer se as perguntas geradas por máquina foram produzidas por um algoritmo ou por um humano, e deram notas semelhantes para perguntas geradas por humanos e por máquina para nível de dificuldade e adequação para o curso.

Drori é rápido em apontar que este trabalho não pretende substituir professores humanos.

“A automação está agora em 80%, mas a automação nunca será 100% precisa. Toda vez que você resolve algo, alguém surge com uma pergunta mais difícil. Mas esse trabalho abre o campo para as pessoas começarem a resolver questões cada vez mais difíceis com aprendizado de máquina Achamos que terá um grande impacto no ensino superior”, diz.

A equipe está entusiasmada com o sucesso de sua abordagem e estendeu o trabalho para lidar com provas matemáticas, mas há algumas limitações que planejam resolver. Atualmente, o modelo não é capaz de responder a perguntas com um componente visual e não pode resolver problemas computacionalmente intratáveis devido à complexidade computacional.

Além de superar esses obstáculos, eles estão trabalhando para dimensionar o modelo para centenas de cursos. Com essas centenas de cursos, eles gerarão mais dados que podem aprimorar a automação e fornecer informações sobre o design e os currículos do curso.


Publicado em 09/08/2022 07h48

Artigo original:

Estudo original: