Pero ahora, la IA ha entendido el cálculo y ha extendido sus garras a sus números altos favoritos. No solo puede descubrir integrales indefinidas:
También puede resolver ecuaciones diferenciales ordinarias:
Funcionará el primer orden o el segundo orden.
Este es un nuevo modelo anunciado por Facebook. La respuesta dada en 1 segundo supera los resultados de 30 segundos de Mathematica y Matlab. El equipo afirmó que este es el resultado de la combinación de Seq2Seq y Transformer. De hecho, es posible utilizar el procesamiento del lenguaje natural (PLN) para comprender las matemáticas. El logro recibió 1.700 me gusta en Twitter. Muchos amigos expresaron sorpresa, como: "¡Gracias! ¡En mi imaginación original, esto era completamente imposible!"
Además, se dice que el algoritmo será de código abierto pronto:
Entonces, ¿qué pasa con el software pago?
El requisito previo más importante para generar un conjunto de datos enorme es entrenar el modelo para resolver problemas de cálculo, lo que requiere un conjunto de datos muy grande. A continuación se explica cómo crear el conjunto de datos integral y el conjunto de datos de ecuaciones diferenciales ordinarias: función, su integral, primero haga un par de datos de "una función; su diferencia". El equipo utilizó tres métodos: el primer método es la generación directa (Fwd), que genera funciones aleatorias (hasta n operadores) y luego utiliza herramientas listas para usar para calcular la integral. Deseche las funciones que la herramienta no pueda encontrar. El segundo tipo es la generación hacia atrás (Bwd), que genera una función aleatoria y luego deriva la función. Completa algunas funciones que el primer método no puede recopilar, porque incluso si la herramienta no puede encontrar la integral, seguramente encontrará la derivada. La tercera es la generación inversa mediante integración parcial (Ibp). Un problema con la generación inversa anterior es que es poco probable que cubra f(x)= x3sin(x): f(x)=-x3cos(x) 3 x2 sin(x) 6 xcos(x)-6s en (x ) apunta en . Debido a que esta función es demasiado larga, es difícil generarla aleatoriamente. Además, la mayoría de los productos generados en dirección hacia atrás serán que la integral de la función es más corta que la integral de la función, mientras que el producto generado en dirección hacia adelante es lo contrario. Para resolver este problema, el equipo utilizó la integración parcial: generando dos funciones aleatorias F y G, y calculando las derivadas de F y G respectivamente. Si fG ha aparecido en el conjunto de entrenamiento obtenido mediante los dos primeros métodos, entonces se conoce su integral y se puede utilizar para encontrar Fg: ∫ fG = FG-∫ FG, y viceversa. Si FG ya está en el conjunto de entrenamiento, use su integral para encontrar FG. Cada vez que se encuentra la integral de una nueva función, se agrega al conjunto de entrenamiento. Si ni Fg ni fG están en el conjunto de entrenamiento, se regenera un par de F y G. De esta manera, funciones como x10sin(x) se pueden obtener fácilmente sin herramientas de integración externas. Una ecuación diferencial ordinaria de primer orden cuya solución proviene de una función binaria F(x, y). Hay una ecuación F (x, y) = c, que se puede resolver para obtener y = f (x, c). Es decir, existe una función binaria f que satisface cualquier x y c:
Luego toma la derivada de x para obtener una ecuación diferencial:
Fc representa x a f( x, La aplicación de c) es la solución de esta ecuación diferencial. De esta forma, para cualquier constante c, fc es la solución de la ecuación diferencial de primer orden. Reemplace fc con y y tendrá una ecuación diferencial concisa:
De esta manera, quiero hacer una "ecuación diferencial ordinaria de primer orden; solución" para el conjunto de datos, simplemente genere una f(x, c ), que tiene una solución para c, y luego encuentre la ecuación diferencial f que satisface, por ejemplo:
La ecuación diferencial ordinaria de segundo orden y su solución al principio de segundo orden se generalizan a partir de el de primer orden. Simplemente reemplace f(x, c) con f(x, c1, c2) y c2 tendrá una solución. La ecuación diferencial f debe satisfacer:
Derivación de x, obtendrá:
Fc1, c2 representa el mapeo de X a f (X, c1, c2). Si esta ecuación tiene una solución para c1, puedes derivar otra función ternaria G, que satisface cualquier x:
Derivando x nuevamente, obtendrás:
Finalmente resuelve Diferencial refrescante ecuación:
Su solución es fc1, c2.
En cuanto al proceso de generación, por ejemplo:
Ahora, hay dos conjuntos de entrenamiento para resolver ecuaciones integrales y diferenciales. Entonces aquí viene el problema. ¿Cómo entiende la IA estas fórmulas complejas y luego aprende a resolverlas?
Considerar las matemáticas como ecuaciones integrales y ecuaciones diferenciales del lenguaje natural puede verse como transformar una expresión en otra. Los investigadores creen que este es un caso especial de traducción automática que puede resolverse mediante PNL. El primer paso es expresar la expresión matemática en forma de árbol. Los operadores y funciones son nodos internos y los números, constantes y variables son nodos hoja. Por ejemplo, 3x 3x^2 cos(2x)-1 0 se puede expresar como:
Tomemos un ejemplo más complejo, como una expresión diferencial parcial:
Con el árbol Representación formal, es decir:
Usar la forma de un árbol puede eliminar la ambigüedad del orden de las operaciones, cuidar la prioridad y relevancia y omitir paréntesis. No hay símbolos sin sentido como espacios, signos de puntuación, corchetes adicionales, etc. Diferentes expresiones generarán diferentes árboles. Existe una correspondencia uno a uno entre expresiones y árboles. El segundo paso es introducir el modelo seq2seq. El modelo seq2seq tiene dos características importantes: las secuencias de entrada y salida pueden tener una longitud arbitraria y las longitudes pueden ser diferentes. No es necesario que las palabras de las secuencias de entrada y salida se correspondan entre sí. Por tanto, el modelo seq2seq es muy adecuado para resolver problemas de cálculo. Para generar un árbol usando el modelo seq2seq, primero, el árbol debe asignarse a una secuencia. Usando notación de prefijo, escriba cada nodo principal antes de sus hijos, enumerándolos de izquierda a derecha. Por ejemplo, 2 3 * (5 2) significa que el árbol es:
Representado como una secuencia es [2 * 3 5 ^ 2]. También existe un mapeo uno a uno entre árboles y secuencias de prefijos. El tercer paso es generar una expresión aleatoria. Para crear datos de entrenamiento, es necesario generar expresiones matemáticas aleatorias. La estrategia de generación de conjuntos de datos se presentó en el artículo anterior. Aquí nos centramos en el algoritmo de generación de expresiones aleatorias. El muestreo uniforme de una expresión utilizando n nodos internos no es fácil. Por ejemplo, los métodos recursivos tienden a producir árboles profundos en lugar de árboles anchos, y árboles izquierdos en lugar de árboles derechos. De hecho, es imposible generar diferentes tipos de árboles con la misma probabilidad. Entonces, tomando un árbol binario aleatorio como ejemplo, el método específico es comenzar desde un nodo raíz vacío y determinar la posición del siguiente nodo interno en el nodo vacío en cada paso. Repita esta operación hasta que se hayan asignado todos los nodos internos.
Pero en general, el árbol de expresión matemática no es necesariamente un árbol binario y el nodo interno puede tener solo un nodo secundario. De esta manera, es necesario considerar la distribución de probabilidad bidimensional del número de parámetros del nodo raíz y el siguiente nodo interno, denotado como L (e, n).
A continuación, se muestrea el árbol aleatorio y se seleccionan aleatoriamente los nodos internos y de hoja de la lista de posibles operadores y números enteros, variables y constantes para decorar el árbol. Finalmente, cuente el número de expresiones. A través de los pasos anteriores, podemos ver que las expresiones en realidad están compuestas por un conjunto limitado de variables, constantes, números enteros y una serie de operadores. Entonces, el problema se puede resumir como: un árbol con como máximo N nodos internos, un conjunto de p1 operadores unarios (como cos, sin, exp, log), un conjunto de p2 operadores binarios (como, -, ×, pow ) y un conjunto de valores de hojas L, que contienen variables (como X, Y, Z) y constantes (como E, π). De esta manera, un árbol binario con n nodos internos tiene exactamente n nodos de 1 hoja. Cada nodo y hoja pueden tomar p1 y L valores diferentes respectivamente. El número de expresiones con n operadores binarios se puede expresar como:
Si p 1 > 0, el número de expresiones es:
Se puede observar que los nodos hoja y El número de operadores binarios afectará significativamente el tamaño del espacio del problema.
△Número variable de operadores y número de expresiones en los nodos de hoja
En experimentos de software comercial, los investigadores entrenan modelos seq2seq para predecir soluciones a un problema determinado. El modelo utilizado es un modelo transformador, con 8 cabezales de atención, 6 capas y 512 dimensiones. En un conjunto de datos de 5.000 ecuaciones, los investigadores evaluaron la precisión del modelo para resolver ecuaciones de cálculo. Los resultados muestran que la decodificación de búsqueda de haces puede mejorar significativamente la precisión de los modelos de ecuaciones diferenciales.
El nuevo modelo no sólo es más rápido sino también más preciso que el software informático científico comercial de última generación.
En el conjunto de pruebas que contiene 500 ecuaciones, Mathematica es el mejor software comercial. Por ejemplo, para ecuaciones diferenciales de primer orden, el codicioso algoritmo de decodificación de búsqueda de Mathematica (el tamaño del grupo es 1) no es inferior al nuevo modelo, pero el nuevo método generalmente puede resolver la ecuación en 1 segundo, y el tiempo de resolución de problemas de Mathematica es mucho más (el límite de tiempo es de 30 segundos, si supera los 30 segundos, se considerará que no hay solución).
Al utilizar el nuevo método para buscar un haz de tamaño 50, la precisión del modelo mejoró de 81,2 a 97, que es mucho mejor que el 77,2 de Mathematica. Además, el nuevo modelo resuelve eficazmente algunos problemas que Mathematica y Matlab no pueden resolver.
△El software informático científico comercial no encontró la solución a la ecuación.
Invitar a la IA a participar en la OMI. Una IA que puede resolver cálculos ha atraído la atención de muchos internautas y ha provocado acaloradas discusiones. Los internautas la elogiaron uno tras otro: Goose Girl. Algunos internautas dijeron: Lo súper interesante de este artículo es que puede resolver problemas mucho más complejos que las integrales.
Algunos internautas piensan que esta investigación es demasiado interesante. El modelo puede resumir e integrar algunas funciones que Sympy no puede lograr.
Sin embargo, algunos internautas creen que, en comparación con Mathematica, los entornos experimentales de los investigadores no son lo suficientemente rigurosos. Mathematica calcula en el campo complejo por defecto, lo que aumentará la dificultad de sus operaciones. Sin embargo, el autor considera "inválidas" las expresiones que contienen coeficientes complejos. Entonces, ¿ajustaron la configuración al dominio real cuando usaron Mathematica?
Tengo mucha curiosidad por saber si Mathematica puede resolver problemas que este sistema no puede resolver. El límite de tiempo de 30 años es algo arbitrario para un sistema de álgebra computacional.
Pero en resumen, frente a la IA cada vez más inteligente, alguien lanzó un desafío e invitó a la IA a desafiar la medalla de oro de la OMI.
Este artículo fue completado por el Instituto de Investigación de Inteligencia Artificial de Facebook. Guillaume Lample de Brest es estudiante de doctorado en el Instituto de IA de Facebook y en la Universidad Pierre y Marie Curie. Tiene maestrías en matemáticas, informática e inteligencia artificial de la Ecole Polytechnique y la Universidad CMU, respectivamente. En 2014 entré a Facebook como pasante. François Chaton es empresario invitado en el Instituto de Inteligencia Artificial de Facebook, donde estudia matemáticas y causalidad.
Portal binator.com/item? id=21084748
————
Editar ∑ Gemini
Fuente: Sina Technology