26 votos

¿Cuáles son los usos prácticos de las ODE neuronales?

"Ecuaciones diferenciales ordinarias neuronales", de Tian Qi Chen, Yulia Rubanova, Jesse Bettencourt y David Duvenaud, recibió el premio premio al mejor artículo en NeurIPS en 2018

Allí, los autores proponen el NeuralODE, que es un método que fusiona conceptos de Ecuaciones Diferenciales y Redes Neuronales. Tomando prestado de la literatura anterior y aportando nuevos desarrollos, los NeuralODEs pueden, por ejemplo, utilizar Resolvedores de Ecuaciones Diferenciales en su paso hacia adelante y aún mantener un paso hacia atrás computable.

Creo que dos ejemplos del artículo llamaron realmente la atención de los medios de comunicación: el modelado generativo basado en el flujo y la pseudoequivalencia entre la profundidad de las conexiones de salto de ResNet y el número de evaluaciones de funciones de NeuralODE (más información aquí): ¿Qué es el concepto de profundidad continua en el documento Neural ODE de David Duvenaud? ).

Así que, en aras de la brevedad, hay que hacer dos preguntas relativas a la forma en que se van a utilizar realmente (que me sorprende que no hayamos tenido en CV todavía):

  • ¿Hay algo que hagan los NeuralODEs que no puedan hacer las redes neuronales "convencionales"? ¿Cálculos en tiempo continuo? ¿Cómputo de "profundidad" "infinita"?

  • ¿Hay algo que hagan las redes neuronales "convencionales" que no puedan hacer los NeuralODEs?

37voto

jarmod Puntos 1582

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:

  1. Representan un conjunto diferente de funciones, lo que puede ser bueno o malo dependiendo de lo que estés modelando.
  2. 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?

  1. 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.
  2. 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.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X