Los cálculos multivariables, las ecuaciones diferenciales, el álgebra lineal, temas que muchos estudiantes del MIT pueden dominar sin sudar, han abrumado constantemente a los modelos de aprendizaje automático. Los mejores modelos solo pudieron responder preguntas de matemáticas a nivel elemental o avanzado, y no siempre encuentran las soluciones correctas.
Ahora, un equipo multidisciplinario de investigadores del MIT y otros lugares, dirigido por Iddo Drori, profesor asociado en el Departamento de Ingeniería Eléctrica y Ciencias de la Computación (EECS) del MIT, ha utilizado un modelo de red neuronal para resolver problemas matemáticos de nivel universitario en un asunto de segundos a nivel humano.
El modelo también explica automáticamente las soluciones y genera rápidamente nuevos problemas en las materias de matemáticas de la universidad. Cuando los investigadores mostraron a los estudiantes universitarios estas preguntas generadas por máquinas, los estudiantes no pudieron decir si las preguntas fueron generadas por un algoritmo o por un ser humano.
Este trabajo podría usarse para agilizar la generación de contenido para los cursos, lo que podría ser particularmente útil en grandes cursos presenciales y cursos masivos abiertos en línea (MOOC) con miles de estudiantes. El sistema también podría usarse como un tutor automatizado, mostrando a los estudiantes los pasos necesarios para resolver problemas matemáticos de pregrado.
«Creemos que esto mejorará la educación superior», dice Drori, el autor principal del artículo, quien también es profesor asociado asociado en el Departamento de Ciencias de la Computación de la Universidad de Columbia y se unirá a la facultad de la Universidad de Boston este verano. «Ayudará a los estudiantes a mejorar y ayudará a los profesores a crear nuevos contenidos y podría ayudar a aumentar la dificultad en algunos cursos. También nos permite crear un cuadro de preguntas y cursos que nos ayuda a comprender la relación entre los cursos y sus requisitos previos, no solo a través de consideraciones históricas sino también en función de los datos”.
El trabajo es una colaboración de estudiantes, investigadores y profesores del MIT, la Universidad de Columbia, la Universidad de Harvard y la Universidad de Waterloo. El autor principal es Gilbert Strang, profesor de matemáticas en el MIT. La investigación se publicará esta semana en Procedimientos de la Academia Nacional de Ciencias.
Un momento “Eureka”
Drori y sus alumnos y colegas han estado trabajando en este proyecto durante casi dos años. Descubrieron que los modelos entrenados previamente solo con texto no podían lograr más del 8 por ciento de precisión en los problemas matemáticos de la escuela secundaria, y aquellos que usaban redes neuronales gráficas podían aprobar las preguntas del curso de aprendizaje automático, pero necesitarían una semana de capacitación.
Luego, Drori tuvo lo que él llama un momento «eureka»: decidió probar y traducir preguntas de cursos de matemáticas de pregrado ofrecidos por el MIT y uno en la Universidad de Columbia que nunca antes había visto un modelo en tareas de programación de Transform y aplicar técnicas conocidas como programa. síntesis y aprendizaje a corto plazo. Convertir una pregunta en una tarea de programación podría ser tan simple como reescribir la pregunta «encontrar la distancia entre dos puntos» para «escribir un programa que encuentre la diferencia entre dos puntos» o proporcionar algunos pares de preguntas y programas como ejemplos.
Sin embargo, antes de enviar estas tareas de programación a una red neuronal, los investigadores agregaron un nuevo paso que le permitió superar con creces sus intentos anteriores.
En el pasado, ellos y otros que abordaron este problema utilizaron una red neuronal como GPT-3 que se entrenó previamente solo en texto, lo que significa que se le mostraron millones de muestras de texto para aprender patrones de lenguaje natural. Esta vez usaron una red neuronal preentrenada para texto que también estaba «afinada» para código. Esta red llamada Codex fue producida por OpenAI. El ajuste fino es esencialmente otro paso previo al entrenamiento que puede mejorar el rendimiento de un modelo de aprendizaje automático.
Al modelo preentrenado se le mostraron millones de muestras de código de repositorios en línea. Debido a que los datos de entrenamiento de este modelo contienen millones de palabras de lenguaje natural y millones de líneas de código, aprende las relaciones entre fragmentos de texto y fragmentos de código.
Muchos problemas matemáticos se pueden resolver usando un gráfico o árbol matemático, pero convertir un problema escrito en texto a este tipo de representación es difícil, explica Drori. Sin embargo, dado que este modelo ha aprendido las relaciones entre el texto y el código, con solo algunos ejemplos de código de pregunta, puede convertir una pregunta de texto en código y luego ejecutar el código para resolver el problema.
«Si solo hace una pregunta en el texto, es difícil que un modelo de aprendizaje automático encuentre una respuesta, incluso si la respuesta puede estar en el texto», dice. «Este trabajo completa la pieza faltante del uso del código y la síntesis del programa».
Este trabajo es el primero en resolver problemas matemáticos de pregrado, aumentando la precisión del 8 por ciento a más del 80 por ciento, agrega Drori.
añadir contexto
Convertir preguntas de matemáticas en tareas de programación no siempre es fácil, dice Drori. Algunos problemas requieren que los investigadores agreguen contexto para que la red neuronal pueda procesar correctamente la pregunta. Un estudiante captaría este contexto mientras estudia, pero una red neuronal no tiene este trasfondo a menos que los investigadores lo especifiquen.
Por ejemplo, debe aclarar que la «red» en el texto de una pregunta se refiere a «redes neuronales» en lugar de «redes de comunicación». O necesitan decirle al modelo qué paquete de programación usar. También se le puede solicitar que proporcione definiciones específicas; Para una pregunta sobre manos de póquer, es posible que deban decirle al modelo que cada mazo contiene 52 cartas.
Alimentan automáticamente estas tareas de programación, con el contexto y los ejemplos incluidos, en la red neuronal preentrenada y ajustada, que genera un programa que generalmente devuelve la respuesta correcta. Acertó en más del 80 por ciento de las preguntas.
Los investigadores también usaron su modelo para generar preguntas dando a la red neuronal un conjunto de problemas matemáticos sobre un tema y luego pidiéndole que creara uno nuevo.
“Algunos de los temas nos sorprendieron. Por ejemplo, hubo preguntas sobre la detección cuántica de líneas horizontales y verticales, y surgieron nuevas preguntas sobre la detección cuántica de líneas diagonales. Así que no se trata solo de generar nuevas preguntas reemplazando valores y variables en las preguntas existentes”, dice Drori.
Preguntas generadas por humanos frente a preguntas generadas por máquinas
Los investigadores probaron las preguntas generadas por máquinas mostrándoselas a estudiantes universitarios. Los investigadores les dieron a los estudiantes 10 preguntas de cada curso de matemáticas de pregrado en orden aleatorio; cinco fueron creados por humanos y cinco fueron generados por máquinas.
Los estudiantes no podían decir si las preguntas generadas por máquinas fueron creadas por un algoritmo o por un ser humano, y dieron a las preguntas generadas por humanos y por máquinas calificaciones similares en cuanto a dificultad e idoneidad para el curso.
Drori se apresura a señalar que este trabajo no pretende reemplazar a los profesores humanos.
“La automatización ahora está al 80 por ciento, pero la automatización nunca será 100 por ciento precisa. Cada vez que resuelva algo, alguien le hará una pregunta más difícil. Pero este trabajo abre el campo para que los humanos comiencen a resolver preguntas cada vez más difíciles con el aprendizaje automático. Creemos que tendrá un gran impacto en la educación superior”, dice.
El equipo está entusiasmado con el éxito de su enfoque y ha ampliado el trabajo para manejar pruebas matemáticas, pero hay algunas limitaciones que quieren abordar. Actualmente, el modelo no puede responder preguntas con un componente visual y no puede resolver problemas que son computacionalmente difíciles de resolver debido a la complejidad computacional.
Además de superar estos obstáculos, están trabajando para escalar el modelo a cientos de cursos. Con estos cientos de cursos, generarán más datos que pueden mejorar la automatización y brindar información sobre el diseño y el plan de estudios del curso.