TL;DR: Para el modelado de series temporales y de densidad, los ODE neuronales ofrecen algunas ventajas que no sabemos cómo obtener de otro modo. Para el aprendizaje supervisado simple, hay beneficios computacionales potenciales, pero a efectos prácticos probablemente no valga la pena utilizarlos todavía en ese entorno.
Para responder a su primera pregunta:
¿Hay algo que los NeuralODEs hagan que las Redes Neuronales "convencionales" no puedan hacer? convencionales"?
Las ODE neuronales difieren en dos aspectos de las redes estándar:
- Representan un conjunto diferente de funciones, lo que puede ser bueno o malo dependiendo de lo que estés modelando.
- Tenemos que aproximar su solución exacta, lo que da más libertad a la hora de calcular la respuesta, pero añade complejidad.
Yo diría que el escenario más claro en el que los ODEs neuronales ayudan es la construcción de modelos de series temporales en tiempo continuo, que pueden fácilmente gestionar los datos que llegan a intervalos irregulares . Sin embargo, las ODE sólo pueden modelar dinámicas deterministas, por lo que me entusiasma más la generalización de estos modelos de series temporales a ecuaciones diferenciales estocásticas . Si estás modelando datos muestreados a intervalos de tiempo regulares (como vídeo o audio), creo que no hay mucha ventaja, y los enfoques estándar probablemente serán más sencillos y rápidos.
Otro ámbito en el que tienen ventaja es en la construcción de flujos normalizadores para la modelización de la densidad. El cuello de botella en la normalización de flujos es el seguimiento del cambio en la densidad, que es lento (O(D^3)) para las redes estándar. Por eso los modelos de flujo normalizador en tiempo discreto como Glow o Real-NVP tienen que restringir las arquitecturas de sus capas, por ejemplo actualizando sólo la mitad de las unidades en función de la otra mitad. En tiempo continuo, es más fácil seguir el cambio de densidad, incluso para arquitecturas no restringidas. Eso es lo que hace el FFJORD se trata. Desde entonces, Flujos residuales que son flujos de tiempo discreto que también pueden manejar arquitecturas no restringidas, con algunas salvedades.
Para el aprendizaje profundo estándar, existen dos grandes ventajas potenciales:
- Coste de memoria constante en tiempo de formación. Antes de los ODEs neuronales ya existían algunas trabajo mostrando que podemos reducir el coste de memoria del cálculo de gradientes en modo inverso de las redes neuronales si pudiéramos "ejecutarlas hacia atrás" a partir de la salida, pero esto requería restringir la arquitectura de la red. Lo bueno de las ODE neuronales es que se puede simplemente ejecutar su dinámica hacia atrás para reconstruir la trayectoria original. En ambos casos, el error numérico compuesto podría ser un problema en algunos casos, pero no nos pareció un problema práctico.
- Coste temporal adaptable. La idea es que, puesto que sólo estamos aproximando una respuesta exacta, a veces sólo necesitaremos unas pocas iteraciones de nuestro solucionador aproximado para obtener una respuesta aceptablemente buena, y así ahorrar tiempo.
Ambas ventajas potenciales son compartidas por Modelos de equilibrio profundo y ya han sido escalados a transformadores. Pero en ambos casos, estos modelos hasta ahora en la práctica han tendido a ser más lentos en general que las redes estándar, porque todavía no sabemos cómo regularizar estos modelos para que sean fáciles de aproximar.
Para responder a su segunda pregunta:
¿Hay algo que hagan las redes neuronales "convencionales" que los NeuralODEs no pueden hacer?
- Las redes convencionales pueden caber no homeomórfico funciones, por ejemplo funciones cuya salida tiene una dimensión menor que su entrada, o que cambian la topología del espacio de entrada. Había una buen artículo de Oxford señalando estos problemas, y mostrando que también se puede arreglar añadiendo dimensiones adicionales. Por supuesto, se puede solucionar componiendo redes ODE con capas de red estándar.
- Las redes convencionales pueden evaluarse exactamente con una cantidad fija de cálculo y suelen ser más rápidas de entrenar. Además, con las redes estándar no tienes que elegir una tolerancia de error para un solucionador.