stringtranslate.com

Modelo generativo basado en flujo

Un modelo generativo basado en flujo es un modelo generativo utilizado en el aprendizaje automático que modela explícitamente una distribución de probabilidad aprovechando el flujo normalizador , [1] [2] [3] que es un método estadístico que utiliza la ley de probabilidades de cambio de variable para transformar una distribución simple en una compleja.

El modelado directo de la probabilidad ofrece muchas ventajas. Por ejemplo, la probabilidad logarítmica negativa se puede calcular directamente y minimizar como la función de pérdida . Además, se pueden generar nuevas muestras mediante el muestreo de la distribución inicial y la aplicación de la transformación de flujo.

Por el contrario, muchos métodos alternativos de modelado generativo, como el autocodificador variacional (VAE) y la red generativa adversarial, no representan explícitamente la función de probabilidad.

Método

Esquema de normalización de flujos

Sea una variable aleatoria (posiblemente multivariada) con distribución .

Para , sea una secuencia de variables aleatorias transformadas a partir de . Las funciones deben ser invertibles, es decir, la función inversa existe. El resultado final modela la distribución objetivo.

La verosimilitud logarítmica de es (ver derivación):

Para calcular de manera eficiente la verosimilitud logarítmica, las funciones deben ser 1. fáciles de invertir y 2. fáciles de calcular el determinante de su jacobiano. En la práctica, las funciones se modelan utilizando redes neuronales profundas y se entrenan para minimizar la verosimilitud logarítmica negativa de las muestras de datos de la distribución objetivo. Estas arquitecturas suelen estar diseñadas de manera que solo se requiere el paso hacia adelante de la red neuronal tanto en los cálculos del determinante inverso como en el jacobiano. Algunos ejemplos de dichas arquitecturas incluyen NICE, [4] RealNVP, [5] y Glow. [6]

Derivación de la verosimilitud logarítmica

Considere y . Tenga en cuenta que .

Por la fórmula de cambio de variable , la distribución de es:

¿Dónde está el determinante de la matriz jacobiana de ?

Por el teorema de la función inversa :

Por la identidad (donde es una matriz invertible ), tenemos:

La verosimilitud logarítmica es por tanto:

En general, lo anterior se aplica a cualquier y . Como es igual a restado por un término no recursivo, podemos inferir por inducción que:

Método de entrenamiento

Como se hace generalmente al entrenar un modelo de aprendizaje profundo, el objetivo de normalizar los flujos es minimizar la divergencia de Kullback-Leibler entre la probabilidad del modelo y la distribución objetivo que se va a estimar. La divergencia de Kullback-Leibler (hacia adelante) que denota la probabilidad del modelo y la distribución objetivo que se va a aprender es:

El segundo término del lado derecho de la ecuación corresponde a la entropía de la distribución objetivo y es independiente del parámetro que queremos que aprenda el modelo, lo que solo deja la expectativa de que la probabilidad logarítmica negativa se minimice bajo la distribución objetivo. Este término inmanejable se puede aproximar con un método de Montecarlo mediante muestreo de importancia . De hecho, si tenemos un conjunto de datos de muestras extraídas independientemente de la distribución objetivo , entonces este término se puede estimar como:

Por lo tanto, el objetivo de aprendizaje

se reemplaza por

En otras palabras, minimizar la divergencia de Kullback-Leibler entre la probabilidad del modelo y la distribución objetivo es equivalente a maximizar la probabilidad del modelo bajo muestras observadas de la distribución objetivo. [7]

Un pseudocódigo para entrenar flujos normalizadores es el siguiente: [8]

Variantes

Flujo plano

El primer ejemplo. [9] Fijemos alguna función de activación y sea con las dimensiones apropiadas, entonces La inversa no tiene una solución de forma cerrada en general.

El jacobiano es .

Para que sea invertible en todas partes, debe ser distinto de cero en todas partes. Por ejemplo, y satisface el requisito.

Estimación de componentes independientes no lineales (NICE)

Sea de dimensión par y divídalos por la mitad. [4] Entonces las funciones de flujo normalizadoras son donde es cualquier red neuronal con pesos .

es simplemente , y el jacobiano es simplemente 1, es decir, el flujo preserva el volumen.

Cuando esto ocurre, se observa como un corte curvo a lo largo de la dirección.

Preservación real sin volumen (NVP real)

El modelo de preservación del volumen real generaliza el modelo NICE mediante: [5]

Su inverso es y su jacobiano es . El modelo NICE se recupera estableciendo . Dado que el mapa NVP real mantiene separadas las mitades primera y segunda del vector , generalmente se requiere agregar una permutación después de cada capa NVP real.

Flujo generativo (resplandor)

En el modelo de flujo generativo, [6] cada capa tiene 3 partes:

La idea de utilizar la convolución invertible 1x1 es permutar todas las capas en general, en lugar de simplemente permutar la primera y la segunda mitad, como en Real NVP.

Flujo autorregresivo enmascarado (MAF)

Un modelo autorregresivo de una distribución se define como el siguiente proceso estocástico: [10]

donde y son funciones fijas que definen el modelo autorregresivo.

Mediante el truco de reparametrización , el modelo autorregresivo se generaliza a un flujo normalizador: El modelo autorregresivo se recupera estableciendo .

El mapeo hacia adelante es lento (porque es secuencial), pero el mapeo hacia atrás es rápido (porque es paralelo).

La matriz jacobiana es de diagonal inferior, por lo que el jacobiano es .

La inversión de los dos mapas de MAF da como resultado un flujo autorregresivo inverso (IAF), que tiene un mapeo rápido hacia adelante y un mapeo lento hacia atrás. [11]

Flujo Normalizador Continuo (CNF)

En lugar de construir el flujo por composición de funciones, otro enfoque es formular el flujo como una dinámica de tiempo continuo. [12] [13] Sea la variable latente con distribución . Asigne esta variable latente al espacio de datos con la siguiente función de flujo:

donde es una función arbitraria y se puede modelar con redes neuronales, por ejemplo.

La función inversa es entonces naturalmente: [12]

Y la verosimilitud logarítmica de se puede encontrar como: [12]

Dado que la traza depende únicamente de la diagonal del jacobiano , esto permite un jacobiano de "forma libre". [14] Aquí, "forma libre" significa que no hay restricción en la forma del jacobiano. Esto contrasta con los modelos discretos anteriores de flujo normalizador, donde el jacobiano está cuidadosamente diseñado para ser solo diagonal superior o inferior, de modo que el jacobiano pueda evaluarse de manera eficiente.

La traza se puede estimar mediante el "truco de Hutchinson": [15] [16]

Dada cualquier matriz , y cualquier número aleatorio con , tenemos . (Demostración: expanda la expectativa directamente).

Generalmente, el vector aleatorio se muestrea a partir de una (distribución normal) o una ( distribución Radamacher ).

Cuando se implementa como una red neuronal, se necesitarían métodos de EDO neuronales [17] . De hecho, la CNF se propuso por primera vez en el mismo artículo que propuso la EDO neuronal.

Hay dos deficiencias principales de la CNF: una es que un flujo continuo debe ser un homeomorfismo , y así preservar la orientación y la isotopía ambiental (por ejemplo, es imposible convertir una mano izquierda en una mano derecha mediante una deformación continua del espacio, y es imposible dar vuelta una esfera al revés o deshacer un nudo), y la otra es que el flujo aprendido puede tener un mal comportamiento, debido a la degeneración (es decir, hay un número infinito de posibles que resuelven el mismo problema).

Al agregar dimensiones adicionales, la CNF gana suficiente libertad para invertir la orientación e ir más allá de la isotopía ambiental (de la misma manera que uno puede tomar un polígono de un escritorio y darle la vuelta en el espacio tridimensional, o deshacer un nudo en el espacio cuádruple), produciendo la "EDO neuronal aumentada". [18]

Cualquier homeomorfismo de puede aproximarse mediante una EDO neuronal que opere sobre , lo que se demuestra combinando el teorema de incrustación de Whitney para variedades y el teorema de aproximación universal para redes neuronales. [19]

Para regularizar el flujo , se pueden imponer pérdidas de regularización. El artículo [15] propuso la siguiente pérdida de regularización basada en la teoría del transporte óptimo : donde son hiperparámetros. El primer término castiga al modelo por oscilar el campo de flujo a lo largo del tiempo, y el segundo término lo castiga por oscilar el campo de flujo a lo largo del espacio. Ambos términos juntos guían al modelo hacia un flujo que es suave (no "irregular") a lo largo del espacio y el tiempo.

Desventajas

A pesar del éxito de los flujos normalizadores en la estimación de densidades de alta dimensión, sus diseños aún presentan algunas desventajas. En primer lugar, su espacio latente sobre el que se proyectan los datos de entrada no es un espacio de menor dimensión y, por lo tanto, los modelos basados ​​en flujos no permiten la compresión de datos de forma predeterminada y requieren una gran cantidad de cálculos. Sin embargo, aún es posible realizar la compresión de imágenes con ellos. [20]

Los modelos basados ​​en flujo también son conocidos por fallar en la estimación de la probabilidad de muestras fuera de distribución (es decir: muestras que no fueron extraídas de la misma distribución que el conjunto de entrenamiento). [21] Se formularon algunas hipótesis para explicar este fenómeno, entre las que se encuentran la hipótesis del conjunto típico, [22] problemas de estimación al entrenar modelos, [23] o problemas fundamentales debido a la entropía de las distribuciones de datos. [24]

Una de las propiedades más interesantes de los flujos normalizadores es la invertibilidad de su mapa biyectivo aprendido . Esta propiedad está dada por restricciones en el diseño de los modelos (cf.: RealNVP, Glow) que garantizan la invertibilidad teórica. La integridad de la inversa es importante para asegurar la aplicabilidad del teorema de cambio de variable , el cálculo del jacobiano del mapa así como el muestreo con el modelo. Sin embargo, en la práctica esta invertibilidad se viola y el mapa inverso explota debido a la imprecisión numérica. [25]

Aplicaciones

Los modelos generativos basados ​​en flujo se han aplicado en una variedad de tareas de modelado, entre ellas:

Referencias

  1. ^ Tabak, Esteban G.; Vanden-Eijnden, Eric (2010). "Estimación de densidad por ascenso dual del log-verosimilitud". Comunicaciones en Ciencias Matemáticas . 8 (1): 217–233. doi :10.4310/CMS.2010.v8.n1.a11.
  2. ^ Tabak, Esteban G.; Turner, Cristina V. (2012). "Una familia de algoritmos no paramétricos de estimación de densidad". Communications on Pure and Applied Mathematics . 66 (2): 145–164. doi :10.1002/cpa.21423. hdl : 11336/8930 . S2CID  17820269.
  3. ^ Papamakarios, George; Nalisnick, Eric; Jimenez Rezende, Danilo; Mohamed, Shakir; Bakshminarayanan, Balaji (2021). "Normalización de flujos para modelado probabilístico e inferencia". Revista de investigación en aprendizaje automático . 22 (1): 2617–2680. arXiv : 1912.02762 .
  4. ^ ab Dinh, Laurent; Krueger, David; Bengio, Yoshua (2014). "NICE: Estimación de componentes independientes no lineales". arXiv : 1410.8516 [cs.LG].
  5. ^ ab Dinh, Laurent; Sohl-Dickstein, Jascha; Bengio, Samy (2016). "Estimación de densidad utilizando Real NVP". arXiv : 1605.08803 [cs.LG].
  6. ^ abc Kingma, Diederik P.; Dhariwal, Prafulla (2018). "Glow: flujo generativo con convoluciones 1x1 invertibles". arXiv : 1807.03039 [stat.ML].
  7. ^ Papamakarios, George; Nalisnick, Eric; Rezende, Danilo Jimenez; Shakir, Mohamed; Balaji, Lakshminarayanan (marzo de 2021). "Normalización de flujos para modelado e inferencia probabilísticos". Revista de investigación en aprendizaje automático . 22 (57): 1–64. arXiv : 1912.02762 .
  8. ^ Kobyzev, Ivan; Prince, Simon JD; Brubaker, Marcus A. (noviembre de 2021). "Normalización de flujos: una introducción y revisión de los métodos actuales". Transacciones IEEE sobre análisis de patrones e inteligencia artificial . 43 (11): 3964–3979. arXiv : 1908.09257 . doi :10.1109/TPAMI.2020.2992934. ISSN  1939-3539. PMID  32396070. S2CID  208910764.
  9. ^ Danilo Jiménez Rezende; Mohamed, Shakir (2015). "Inferencia variacional con flujos normalizadores". arXiv : 1505.05770 [stat.ML].
  10. ^ Papamakarios, George; Pavlakou, Theo; Murray, Iain (2017). "Flujo autorregresivo enmascarado para estimación de densidad". Avances en sistemas de procesamiento de información neuronal . 30 . Curran Associates, Inc. arXiv : 1705.07057 .
  11. ^ Kingma, Durk P; Salimans, Tim; Jozefowicz, Rafal; Chen, Xi; Sutskever, Ilya; Welling, Max (2016). "Inferencia variacional mejorada con flujo autorregresivo inverso". Avances en sistemas de procesamiento de información neuronal . 29 . Curran Associates, Inc. arXiv : 1606.04934 .
  12. ^ abc Grathwohl, Will; Chen, Ricky TQ; Bettencourt, Jesse; Sutskever, Ilya; Duvenaud, David (2018). "FFJORD: Dinámica continua de forma libre para modelos generativos reversibles escalables". arXiv : 1810.01367 [cs.LG].
  13. ^ Lipman, Yaron; Chen, Ricky TQ; Ben-Hamu, Heli; Nickel, Maximilian; Le, Matt (1 de octubre de 2022). "Coincidencia de flujo para modelado generativo". arXiv : 2210.02747 [cs.LG].
  14. ^ Grathwohl, Will; Chen, Ricky TQ; Bettencourt, Jesse; Sutskever, Ilya; Duvenaud, David (22 de octubre de 2018). "FFJORD: Dinámica continua de forma libre para modelos generativos reversibles escalables". arXiv : 1810.01367 [cs.LG].
  15. ^ ab Finlay, Chris; Jacobsen, Joern-Henrik; Nurbekyan, Levon; Oberman, Adam (21 de noviembre de 2020). "Cómo entrenar su EDO neuronal: el mundo de la regularización jacobiana y cinética". Conferencia internacional sobre aprendizaje automático . PMLR: 3154–3164. arXiv : 2002.02798 .
  16. ^ Hutchinson, MF (enero de 1989). "Un estimador estocástico de la traza de la matriz de influencia para splines de suavizado laplaciano". Communications in Statistics - Simulation and Computation . 18 (3): 1059–1076. doi :10.1080/03610918908812806. ISSN  0361-0918.
  17. ^ Chen, Ricky TQ; Rubanova, Yulia; Bettencourt, Jesse; Duvenaud, David K. (2018). "Ecuaciones diferenciales ordinarias neuronales" (PDF) . En Bengio, S.; Wallach, H.; Larochelle, H.; Grauman, K.; Cesa-Bianchi, N.; Garnett, R. (eds.). Avances en sistemas de procesamiento de información neuronal . Vol. 31. Curran Associates, Inc. arXiv : 1806.07366 .
  18. ^ Dupont, Emilien; Doucet, Arnaud; Teh, Yee Whye (2019). "Edificaciones ordinarias ordinarias neuronales aumentadas". Avances en sistemas de procesamiento de información neuronal . 32 . Curran Associates, Inc.
  19. ^ Zhang, Han; Gao, Xi; Unterman, Jacob; Arodz, Tom (30 de julio de 2019). "Capacidades de aproximación de EDO neuronales y redes residuales invertibles". arXiv : 1907.12998 [cs.LG].
  20. ^ ab Helminger, Leonhard; Djelouah, Abdelaziz; Bruto, Markus; Schroers, Christopher (2020). "Compresión de imágenes con pérdida con flujos de normalización". arXiv : 2008.10486 [cs.CV].
  21. ^ Nalisnick, Eric; Matsukawa, Teh; Zhao, Yee Whye; Song, Zhao (2018). "¿Los modelos generativos profundos saben lo que no saben?". arXiv : 1810.09136v3 [stat.ML].
  22. ^ Nalisnick, Eric; Matsukawa, Teh; Zhao, Yee Whye; Song, Zhao (2019). "Detección de entradas fuera de distribución para modelos generativos profundos mediante tipicidad". arXiv : 1906.02994 [stat.ML].
  23. ^ Zhang, Lily; Goldstein, Mark; Ranganath, Rajesh (2021). "Comprensión de fallas en la detección fuera de distribución con modelos generativos profundos". Actas de investigación sobre aprendizaje automático . 139 : 12427–12436. PMC 9295254 . PMID  35860036. 
  24. ^ Caterini, Anthony L.; Loaiza-Ganem, Gabriel (2022). "Cuestiones entrópicas en la detección de OOD basada en verosimilitud". págs. 21–26. arXiv : 2109.10794 [stat.ML].
  25. ^ Behrmann, Jens; Vicol, Pablo; Wang, Kuan-Chieh; Grosse, Roger; Jacobsen, Jörn-Henrik (2020). "Comprensión y mitigación de explosiones inversas en redes neuronales invertibles". arXiv : 2006.09347 [cs.LG].
  26. ^ Ping, Wei; Peng, Kainan; Gorur, Dilan; Lakshminarayanan, Balaji (2019). "WaveFlow: un modelo compacto basado en flujo para audio sin formato". arXiv : 1912.01219 [cs.SD].
  27. ^ Shi, Chence; Xu, Minkai; Zhu, Zhaocheng; Zhang, Weinan; Zhang, Ming; Tang, Jian (2020). "GraphAF: un modelo autorregresivo basado en flujo para la generación de gráficos moleculares". arXiv : 2001.09382 [cs.LG].
  28. ^ Yang, Guandao; Huang, Xun; Hao, Zekun; Liu, Ming-Yu; Belongie, Serge; Hariharan, Bharath (2019). "PointFlow: generación de nubes de puntos 3D con flujos de normalización continuos". arXiv : 1906.12320 [cs.CV].
  29. ^ Kumar, Manoj; Babaeizadeh, Mohammad; Erhan, Dumitru; Finn, Chelsea; Levine, Sergey; Dinh, Laurent; Kingma, Durk (2019). "VideoFlow: un modelo basado en flujo condicional para la generación de video estocástico". arXiv : 1903.01434 [cs.CV].
  30. ^ Rudolph, Marco; Wandt, Bastian; Rosenhahn, Bodo (2021). "Same Same But DifferNet: Detección de defectos semisupervisada con flujos normalizadores". arXiv : 2008.12577 [cs.CV].

Enlaces externos