¿Se pueden utilizar los algoritmos de Machine Learning o Deep Learning para "mejorar" el proceso de muestreo de una técnica MCMC?

21

Basado en el poco conocimiento que tengo sobre los métodos MCMC (Markov chain Monte Carlo), entiendo que el muestreo es una parte crucial de la técnica antes mencionada. Los métodos de muestreo más utilizados son Hamiltonian y Metropolis.

¿Hay alguna manera de utilizar el aprendizaje automático o incluso el aprendizaje profundo para construir un muestreador MCMC más eficiente?

Jespar
fuente
55
¿Podría especificar qué tipo de "mejora" tiene en mente y cómo ve el papel del aprendizaje automático?
Tim
2
Por lo general, MCMC generalmente implica estimar valores a partir de expresiones sin forma cerrada que son simplemente demasiado complejas para encontrar soluciones analíticas. Es posible que la agrupación multivariada (o enfoques similares) se pueda utilizar para estimar densidades multivariadas más simples, pero vería eso más como una alternativa al uso de MCMC.
AdamO
1
@ Adam, ¿por qué no convertir eso en una respuesta? Parece que podría ser tan bueno como podamos llegar aquí.
gung - Restablece a Monica
@Tim Bueno, de lo que he leído, MCMC toma muestras de una distribución para calcular cantidades inferenciales. El algoritmo MH selecciona aleatoriamente "ubicaciones" y luego afirma si son aceptables. Lo que me preguntaba es si hay técnicas alternativas de ML. Sé que suena vago, y me disculpo por eso, pero encuentro MCMC intrigante y estoy tratando de entender la teoría y las aplicaciones prácticas mediante el autoaprendizaje.
Jespar

Respuestas:

27

Sí. A diferencia de lo que dicen otras respuestas, los métodos de aprendizaje automático "típicos" como las redes neuronales (paramétricas) y no paramétricas pueden ayudar a crear mejores muestreadores MCMC.

El objetivo de MCMC es extraer muestras de una distribución objetivo (no normalizada) . Las muestras obtenidas se utilizan para aproximar y en su mayoría permiten calcular las expectativas de funciones bajo (es decir, integrales de alta dimensión) y, en particular, las propiedades de (como los momentos).f f ff(x)fff

El muestreo generalmente requiere una gran cantidad de evaluaciones de , y posiblemente de su gradiente, para métodos como el Hamiltoniano Monte Carlo (HMC). Si es costoso de evaluar, o el gradiente no está disponible, a veces es posible construir una función sustituta menos costosa que puede ayudar a guiar el muestreo y se evalúa en lugar de (de una manera que aún conserva las propiedades de MCMC).f ffff

Por ejemplo, un artículo seminal ( Rasmussen 2003 ) propone utilizar procesos gaussianos (una aproximación de función no paramétrica) para construir una aproximación a y realizar HMC en la función sustituta, con solo el paso de aceptación / rechazo de HMC basado en . Esto reduce el número de evaluaciones de la original y permite realizar MCMC en archivos PDF que de otro modo serían demasiado costosos de evaluar.f flogfff

La idea de usar sustitutos para acelerar MCMC se ha explorado mucho en los últimos años, esencialmente probando diferentes formas de construir la función sustituta y combinarla de manera eficiente / adaptativa con diferentes métodos MCMC (y de una manera que conserva la 'corrección' 'de muestreo MCMC). En relación con su pregunta, estos dos documentos muy recientes utilizan técnicas avanzadas de aprendizaje automático: redes aleatorias ( Zhang et al. 2015 ) o funciones de kernel exponenciales aprendidas adaptativamente ( Strathmann et al. 2015 ), para construir la función sustituta.

HMC no es la única forma de MCMC que puede beneficiarse de los sustitutos. Por ejemplo, Nishiara et al. (2014) construyen una aproximación de la densidad objetivo ajustando una distribución de Student multivariada al estado de múltiples cadenas de una muestra de conjunto, y la utilizan para realizar una forma generalizada de muestreo de corte elíptico .t

Estos son solo ejemplos. En general, se pueden utilizar varias técnicas de ML distintas (principalmente en el área de aproximación de funciones y estimación de densidad) para extraer información que podría mejorar la eficiencia de los muestreadores MCMC. Su utilidad real , por ejemplo, medida en número de "muestras independientes efectivas por segundo", está condicionada a que sea ​​costosa o algo difícil de calcular; Además, muchos de estos métodos pueden requerir el ajuste de su propio conocimiento o conocimiento adicional, restringiendo su aplicabilidad.f

Referencias

  1. Rasmussen, Carl Edward. "Procesos gaussianos para acelerar Monte Carlo híbrido para integrales bayesianas costosas". Bayesian Statistics 7. 2003.

  2. Zhang, Cheng, Babak Shahbaba y Hongkai Zhao. "Aceleración hamiltoniana de Montecarlo utilizando funciones sustitutas con bases aleatorias". preimpresión arXiv arXiv: 1506.05555 (2015).

  3. Strathmann, Heiko y col. "Montecarlo hamiltoniano libre de gradientes con familias exponenciales de kernel eficientes". Avances en los sistemas de procesamiento de información neuronal. 2015

  4. Nishihara, Robert, Iain Murray y Ryan P. Adams. "MCMC paralelo con muestreo de corte elíptico generalizado". Journal of Machine Learning Research 15.1 (2014): 2087-2112.

lacerbi
fuente
2
No estoy seguro de que los métodos que ha enumerado estén realmente en la categoría de "métodos de aprendizaje automático", en lugar de solo métodos MCMC estándar (aunque esta es la línea más borrosa). El único que definitivamente parece ser un método ML / DL fue el 3, que desde entonces ha eliminado la "red neuronal" de su título (y parece admitir en el texto que usar métodos ML estándar sería demasiado lento).
Cliff AB
2
@CliffAB gracias. Estoy de acuerdo en que la línea está un poco borrosa para algunos de estos métodos (p. Ej., 4 usa un ajuste de Student simple , pero su método podría usar una técnica de estimación de densidad más compleja). En cuanto al resto, bueno, depende de si considera la aproximación de funciones (no paramétrica), como GP, o la estimación de densidad, una técnica de ML o no. Si no lo hace, es justo, pero no estoy seguro de qué es una técnica de ML. (El OP solicitó técnicas ML o DL para mejorar MCMC.)t
lacerbi
1
Muchas gracias @lacerbi. Me alegra poder utilizar sus referencias como base para futuras investigaciones.
Jespar
6

Un método que podría conectar los dos conceptos es el de un algoritmo multivariado de Metropolis Hastings. En este caso, tenemos una distribución objetivo (la distribución posterior) y una distribución propuesta (típicamente una distribución multivariada normal o t).

Un hecho bien conocido es que cuanto más se aleja la distribución de la propuesta de la distribución posterior, menos eficiente es la muestra. Por lo tanto, uno podría imaginarse utilizando algún tipo de método de aprendizaje automático para construir una distribución de propuesta que coincida mejor con la distribución posterior verdadera que una distribución normal / t multivariada simple.

Sin embargo, no está claro que esto sea una mejora en la eficiencia. Al sugerir un aprendizaje profundo, supongo que puede estar interesado en utilizar algún tipo de enfoque de red neuronal. En la mayoría de los casos, esto sería significativamente más costoso desde el punto de vista computacional que todo el método MCMC de vainilla. Del mismo modo, no sé por qué los métodos NN (o incluso la mayoría de los métodos de aprendizaje automático) hacen un buen trabajo al proporcionar una densidad adecuada fuera del espacio observado, crucial para MCMC. Entonces, incluso ignorando los costos computacionales asociados con la construcción del modelo de aprendizaje automático, no puedo ver una buena razón por la cual esto mejoraría la eficiencia del muestreo.

Acantilado
fuente
Cliff AB Siento que usted y @AdamO me aclararon los conceptos de MCMC y ML más que pasar horas en otro libro. Aprecio su esfuerzo, muchachos, y me alegra que hayan mencionado algunas áreas en las que puedo profundizar más.
Jespar
@Sitherion, ¿a qué libro te refieres?
AdamO
@AdamO Actualmente estoy leyendo Reinforcement Learning de Richard Sutton y Machine Learning: A Probabilistic Perspective de Kevin Murphy que contiene un capítulo de MCMC; y también publicaciones de varias revistas de ML y estadísticas computacionales.
Jespar
3

El aprendizaje automático se refiere a la predicción, clasificación o agrupamiento en un entorno supervisado o no supervisado. Por otro lado, MCMC simplemente se preocupa de evaluar un complejo integral (generalmente sin forma cerrada) utilizando métodos numéricos probabilísticos. El muestreo de metrópolis definitivamente no es el enfoque más utilizado. De hecho, este es el único método MCMC que no tiene ningún componente probabilístico. Entonces ML no informaría nada con MCMC en este caso.

Muestreo basado importancia hace requerir un componente probabilístico. Es más eficiente que Metrópolis bajo algunos supuestos básicos. Los métodos de ML se pueden usar para estimar este componente probabilístico si encaja con algunos supuestos. Los ejemplos podrían ser la agrupación multivariada para estimar una densidad gaussiana compleja de alta dimensión. No estoy familiarizado con los enfoques no paramétricos de este problema, pero esa podría ser un área interesante de desarrollo.

No obstante, ML se destaca para mí como un paso distinto en el proceso de estimación de un modelo de probabilidad compleja de alta dimensión que posteriormente se utiliza en un método numérico. No veo cómo ML realmente mejora MCMC en este caso.

AdamO
fuente
Gracias @AdamO, al menos ahora tengo una mejor comprensión de esta área.
Jespar
1
Creo que esta respuesta es incompleta y posiblemente incorrecta (dependiendo de la interpretación de la pregunta real del OP, que no está completamente clara). Los métodos típicos de ML, como las redes neuronales y no paramétricas, pueden y se utilizan para mejorar los muestreadores MCMC. De hecho, es un área activa de investigación. Vea mi respuesta y referencias para comenzar.
lacerbi
1
p
Gracias @ Adam. Aún así, para ser honesto, no entiendo su explicación, o cómo hace que su respuesta sea correcta. Por ejemplo, no entiendo a qué te refieres cuando dices que Metropolis "no tiene un componente probabilístico". Además, usted afirma que ML no puede ayudar en el muestreo, lo cual es simplemente falso (incluso en la definición limitada del muestreo como estimación de una integral de alta dimensión), como lo muestra mi respuesta.
lacerbi
3
@AdamO: procesos gaussianos, métodos de kernel, redes de base aleatoria. En general, cualquier forma de aproximación de función o estimación de densidad funcionaría. Si estos no son métodos de ML, no estoy seguro de qué es ... (tenga en cuenta que el OP solicitó métodos de ML o DL). Además, como pregunté anteriormente, ¿puede explicar a qué se refería cuando escribió que Metropolis no tiene un componente probabilístico? ¡Gracias!
lacerbi
0

Hubo algunos trabajos recientes en física computacional donde los autores utilizaron las Máquinas de Boltzmann restringidas para modelar la distribución de probabilidad y luego propusieron (con suerte) actualizaciones eficientes de Monte Carlo arXiv: 1610.02746 . La idea aquí resulta ser bastante similar a las referencias dadas por @lacerbi anteriormente.

En otro intento 1702.08586 , el autor construyó explícitamente máquinas Boltzmann que pueden realizar (e incluso descubrir) las celebradas actualizaciones de clúster Monte Carlo .

Lei Wang
fuente