Aquí va un desafío para los amantes de las matemáticas. Consiste en resolver la siguiente ecuación diferencial para y. En 30 segundos. ¡Rápido! No se puede perder el tiempo.
La respuesta, por supuesto, es:
Si no ha podido resolverla, no sufra. Es tan complicada que varios potentes paquetes de software matemático tampoco lo consiguieron, ni siquiera tras 30 segundos de cálculos.
Sin embargo, los investigadores de Facebook AI Research en París (Francia) Guillaume Lample y François Charton afirman haber desarrollado un algoritmo capaz de hacerlo en un momento. Por primera vez, los investigadores han entrenado una red neuronal para llevar a cabo el razonamiento simbólico necesario para diferenciar e integrar las expresiones matemáticas. Su trabajo supone un importante paso hacia un razonamiento matemático más potente y una nueva forma de aplicar las redes neuronales más allá de las tareas tradicionales de reconocimiento de patrones.
Primero, algunos antecedentes. Las redes neuronales han conseguido enormes logros en tareas de reconocimiento de patrones como el reconocimiento de rostros y objetos, así como ciertos tipos de procesamiento del lenguaje natural e incluso en juegos como ajedrez, Go y Space Invaders.
Pero a pesar de tanto esfuerzo, nadie había sido capaz de entrenarlas para realizar tareas de razonamiento simbólico, como las que se usan en las matemáticas. Lo máximo que se había conseguido con las redes neuronales en este campo fue sumar y multiplicar números enteros.
Para las redes neuronales y para las personas, una de mayores las dificultades con las expresiones matemáticas avanzadas son las abreviaturas que se usan. Por ejemplo, la expresión x 3 es una forma abreviada de escribir x multiplicado por x multiplicado por x. En este ejemplo, la «multiplicación» es la abreviatura de la suma repetida, que es en sí misma la abreviatura del valor total de dos cantidades juntas.
Es fácil ver que incluso una expresión matemática simple es una descripción muy condensada de una secuencia de operaciones matemáticas todavía más simples. Por lo tanto, no sorprende que las redes neuronales hayan tenido problemas con este tipo de lógica. Si no entienden la abreviatura, hay pocas posibilidades de que aprendan a usarla. De hecho, las personas tienen un problema similar, a menudo inculcado desde la edad temprana. Sin embargo, al nivel básico, los procesos como la integración y la diferenciación todavía implican tareas de reconocimiento de patrones, aunque ocultas por las abreviaturas matemáticas.
Así que Lample y Charton idearon una forma simple de descomponer las abreviaturas matemáticas en sus unidades básicas. Luego enseñaron a una red neuronal a reconocer los patrones de manipulación matemática equivalentes a la integración y la diferenciación. Finalmente, dejaron que la red neuronal trabajara sola con expresiones que nunca había visto antes y compararon los resultados con las respuestas de los programas convencionales como Mathematica y Matlab.
La primera parte de este proceso consistió en dividir las expresiones matemáticas en sus partes componentes. Lample y Charton lo han hecho representando las expresiones como estructuras en forma de árbol. Las hojas de estos árboles son los números, constantes y variables como x; los nodos internos son las operaciones como sumar, multiplicar, diferenciar con respecto a, etcétera.
Por ejemplo, la expresión 2 + 3 x (5 + 2) se puede escribir así:
Y la expresión
sería:
Y así sucesivamente.
Los árboles son iguales cuando son matemáticamente equivalentes. Por ejemplo,
2 + 3 = 5 = 12 – 7 = 1 x 5 son todos equivalentes; por lo tanto, sus árboles también son equivalentes.
Muchas operaciones matemáticas son más fáciles de manejar de esta manera. «Por ejemplo, la simplificación de expresiones ayuda a encontrar una representación equivalente más corta de un árbol», explica Lample.
Estos árboles también se pueden escribir como secuencias, formando cada nodo consecutivamente. De esta manera, están listos para ser procesados por un enfoque de redes neuronales llamado seq2seq. Curiosamente, este enfoque a menudo se usa también para la traducción automática, donde una secuencia de palabras en un idioma tiene que traducirse a una secuencia de palabras en otro idioma. De hecho, Lample y Charton subrayan que su enfoque básicamente trata las matemáticas como un lenguaje natural.
La siguiente fase consistió en el proceso de entrenamiento, y lo que requirió una gran base de datos de ejemplos para aprender. Lample y Charton crearon esta base de datos mediante el agrupamiento aleatorio de expresiones matemáticas de una biblioteca de operadores binarios como la suma, la multiplicación, etcétera, de operadores unarios como cos, sin y exp; y de un conjunto de variables, enteras y constantes, como π y e. También limitaron el número de nodos internos para evitar que las ecuaciones se volvieran demasiado grandes.
Incluso con un número relativamente pequeño de nodos y componentes matemáticos, la cantidad de expresiones posibles es enorme. Cada ecuación aleatoria se integra y diferencia usando un sistema de álgebra computacional. Cualquier expresión que no es posible integrar se descarta.
De esta forma, los investigadores generaron conjunto de datos de entrenamiento un masivo que consiste, por ejemplo, en 80 millones de ejemplos de ecuaciones diferenciales de primer y segundo grado y 20 millones de ejemplos de expresiones integradas por partes.
Al procesar este conjunto de datos, la red neuronal aprendió a calcular la derivación o integral de una expresión matemática dada. Al final, Lample y Charton pusieron a prueba su red neuronal con 5.000 expresiones que nunca antes había visto y compararon los resultados creados en 500 casos con los de los programas disponibles comercialmente, como Maple, Matlab y Mathematica.
Estos programas utilizan un enfoque algorítmico desarrollado en la década de 1960 por el matemático estadounidense Robert Risch. Sin embargo, el algoritmo de Risch es enorme, con 100 páginas solo para integración. Así que el software de álgebra simbólica suele usar versiones reducidas para acelerar las cosas.
Las comparaciones son reveladoras. Charton detalla: «En todas las tareas, observamos que nuestro modelo supera significativamente a Mathematica. En la integración de funciones, nuestro modelo obtiene una precisión cercana al 100 %, mientras que Mathematica apenas alcanza el 85 %». Y los paquetes de Maple y Matlab tienen de media un rendimiento inferior que Mathematica.
En muchos casos, los programas convencionales no pueden encontrar una solución en absoluto, después de tener 30 segundos para intentarlo. En comparación, la red neuronal tarda aproximadamente un segundo en encontrar sus soluciones. El ejemplo al inicio de este artículo es uno de esos casos.
Un resultado interesante es que la red neuronal a menudo encuentra varias soluciones equivalentes al mismo problema. Esto se debe a que las expresiones matemáticas generalmente se pueden escribir de muchas maneras diferentes. Esta habilidad es un misterio tentador para los investigadores. «La capacidad del sistema para recuperar las expresiones equivalentes, sin haber sido entrenado para hacerlo, resulta muy intrigante», afirman Lample.
Se trata de un avance significativo. Charton añade: «Hasta donde sabemos, ningún estudio ha investigado la capacidad de las redes neuronales para detectar patrones en las expresiones matemáticas». Ahora que ellos lo han hecho, el resultado claramente tiene un enorme potencial en este mundo cada vez más importante y complejo de las matemáticas computacionales.
Los investigadores no han revelado los planes de Facebook para este enfoque. Pero no es difícil ver cómo podría ofrecer su propio servicio de álgebra simbólica que supere a los líderes actuales del mercado. No obstante, es poco probable que sus rivales se queden quietos. Esperemos una gran batalla en el mundo de las matemáticas computacionales.
Fuente: technologyreview.es