Usuario:14ndy15/Taller

Belief Propagation también conocido como el algoritmo suma-producto, es un algoritmo de paso de mensaje para realizar inferencia sobre modelos gráficos tales como Redes bayesianas, Campos Aleatorios de Markov y Factor Graph. Es ampliamente usado en los campos de Inteligencia Artificial y Teoría de la Información y ha mostrado cierto éxito experimental en aplicaciones tan diferentes como: análisis de paridad de códigos[1]​, aproximaciones de energía libre [2]​, coloreado de grafos[3]​ y satisfacibilidad booleana[4]​.

Las ecuaciones de Belief Propagation han sido redescubiertas varias veces. Fueron desarrolladas por Pearl en 1988 como un algoritmo exacto para realizar inferencia probabilística sobre Redes Bayesianas acíclicas y como una aproximación útil en Redes Bayesianas con ciclos[5]​. En los inicios de los 60 Gallager las introdujo como un procedimiento iterativo para la recuperación de códigos de paridad.

Sea un conjunto de variables discretas aleatorias, denotaremos con la realización de la variable aleatoria . Con función de distribución conjunta usualmente escrita como donde .

Es posible expresar como un producto de funciones:

Donde es un índice sobre las funciones en que se descomponen , la función posee como argumento que es un subconjunto de las variables aleatorias .

Entonces la distribución marginal de una variable dada es simplemente la suma de sobre todas las restantes variables.

Este enfoque se vuelve computacionalmente prohibitivo (en sistemas de tamaños relativamente pequeños), suponiendo que y las variables son binarias. Entonces para obtener el valor marginal de computar valores posibles. Explotando la estructura de poli-arboles, Belief Propagation permite el cálculo de los marginales de manera más eficiente en tiempo linear respecto al tamaño del sistema[6]​.

Descripción del algoritmo

editar
 
Representación parcial de un factor graph. Resulta útil imaginarse que dentro de los nodos factores (cuadrados) radica una función   que expresa la interacción entre las variables que residen en su vecindad

Existen variantes del algoritmo Belief Propagation para diferentes modelos gráficos (Redes bayesianas, y campos aleatorios de Markov). El modelo gráfico usado en adelante es llamado factor graph, esto no representa ninguna limitación pues estos modelos son equivalentes y es posible la conversión entre estos[7]​. Un factor graph es un grafo bipartito con dos tipos de nodos: nodos variables, usualmente denotados por las letras   y representados gráficamente con círculos, y nodos factores, usualmente denotados por las letras   y representados gráficamente como cuadrados, existe una aristas entre un nodo variable   y un nodo función   si y solo si   se encuentra en el argumento de   . Llamaremos   al conjunto de nodos variables y   al conjunto de los nodos factores.

El algoritmo funciona enviando “mensajes” entre los nodos variables y nodos factores. De forma más especifica si   y   el mensaje enviado desde   hacia   es la evaluación de una función   y de forma alterna el mensaje enviado desde   hacia   es la evaluación de una función  . Estos mensajes contiene la influencia de una variable sobre otra. El cálculo de los mensajes posee diferente forma según los nodos emisores y receptores.

Un mensaje enviado desde una variable   a un nodo función   es el producto de todos los mensajes que recibe la variable   de los nodos factores vecinos   excepto  . donde   es el conjunto de los nodos factores vecinos de   a excepción del nodo  . Si este conjunto es vació entonces  distribuye de uniformemente sobre el conjunto de valores posibles de la variable  .

Un mensaje enviado desde un nodo factor   hacia un nodo variable   es el producto de la función   evaluada en la vecindad de   a excepcion de   que esta marginalizado al valor  . Si   es vacio entonces  . La suma sobre   es la suma sobre todo el conjunto de todos los posibles valores de las variables vecinas de   a excepción de   que se encuentra marginalizada al valor  .

Inicialmente el conjunto de mensajes iniciales se escogen de manera aleatoria, luego siguiendo cierto esquema iterativo de actualización (usualmente tomar un nodo aleatorio y actualizar los mensajes a sus vecinos) con respectos a los mensajes anteriores se computan los nuevos mensajes. Si el modelo gráfico posee forma de árbol, existe un esquema de actualización que garantiza convergencia (ver siguiente sección). Si se cumple que el proceso converge, usualmente que los mensajes dejen de cambiar, que no se garantiza en grafos generales, es posible obtener la distribución marginal computada por Belief Propagation.

La distribución marginal estimada de cada nodo variable es proporcional al producto de los mensajes de los nodos vecinos. En el caso de los nodos función la distribución conjunta de las variables que son parte de su vecindad es proporcional al mensaje recibido por el nodo. donde   y   son constantes de normalización  

Belief Propagation sobre árboles

editar
 
Factor Graph que representa la siguiente función de probabilidad conjunta: 

En el caso de que el modelo grafico sea un árbol, el algoritmo Belief Propagation computa de manera exacta los marginales, siguiendo un esquema especifico de actualización de mensaje, este esquema termina luego de 2 iteraciones. El esquema de actualización se describe a continuación:

Antes de comenzar, es seleccionado un nodo como nodo raíz y cualquier nodo no raíz que se encuentra conectado a un solo nodo es llamado hoja.

En la primera iteración los mensajes son inicialmente computados en las hojas y “suben” en la estructura hasta alcanzar la raíz. La estructura de árbol garantiza que es posible obtener todos los mensajes de los vecinos de cada nodo, excepto de uno de ellos, que será el que recibirá el mensaje.

La segunda iteración se compone de enviar los mensajes de forma contraria, comenzando en la raíz y haciéndolos “descender” hasta las hojas. El algoritmo termina cuando todas las hojas hayan recibido su mensaje[8]​.

Como ejemplo concreto del cálculo exacto de los marginales en árboles consideremos la distribución de probabilidad dada en la figura superior. Usando repetidamente las ecuaciones de Belief Propagation encontramos que:

 

 

 

 

 

 

Que es exactamente la definición de probabilidad marginal y su factor de normalizacion  .

Aproximación para grafos generales

editar

Belief Propagation fue diseñado para modelos gráficos acíclicos (árboles), se ha comprobado que es posible usarlo en grafos generales, este algoritmo usualmente es llamado Belief Propagation “cíclico” debido a que estos grafos contienen ciclos. La inicialización y los esquemas de actualización son diferentes del esquema anterior visto en árboles, debido a que estos grafos pueden no contener hojas. Es necesario establecer un numero de iteración mucho mayor que las dos iteraciones necesarias para convergencia en árboles.

La condición general bajo la cual Belief Propagation puede converger no es totalmente entendida, es conocido que un grafo con un solo ciclo converge en la mayoría de los casos, pero la estimación de los marginales puede ser incorrecta. Existen varias condiciones suficientes, pero no necesarias, sobre la convergencia en un grafo con ciclos; también se conocen grafos en los cuales no resulta posible la convergencia. Técnicas como EXIT Chart pueden proveer una visualización aproximada del progreso de Belief Propagation para la convergencia.

Existen otros métodos de aproximación para el cálculo de marginales como los métodos Variacionales y los métodos de Monte Carlo. Un método para el computo de marginales en grafos generales es el algoritmo junction tree. Este es la aplicación de Belief Propagation sobre un grafo modificado a través de la eliminación de ciclos agrupándolos en un nodo para obtener la estructura de árbol[9]​.

Algoritmos similares y complejidad computacional

editar

Un algoritmo similar a Belief Propagation es el llamado algoritmo de Viterbi, el cual resuelve el problema de maximización o de explicación más probable. En vez de solucionar el cómputo del marginal, el objetivo radica en el cálculo de los valores que maximiza la función global es decir los valores más probables en una configuración de  . La diferencia fundamental radica en reemplazar la suma por la maximización.

 

 
Belief Propagation con Decimación aplicado al problema de coloreado de grafo con 3 colores y distintos grados de conectividad. La figura muestra la probabilidad de encontrar una asignación de colores válida en función del grado de conectividad. Belief Propagation basado en Decimación es capaz de encontrar soluciones para valores mayores de  , donde Belief Propagation estima de forma incorrecta los marginales o no converge.

Belief Propagation computa, o en grafos generales aproxima, probabilidades marginales. En algunos problemas, los marginales proveen la solución de manera directa, por ejemplo en corrección de errores en códigos[10]​, en el problema de emparejamiento[11][12]​, o en modelo de Ising con campo aleatorio a temperatura cero[13][14]​, etc.

En los problemas de satisfacción de restricciones, en general, los marginales no brindan de forma directa información acerca de la solución. Por ejemplo en coloreado de grafos, con   colores, las ecuaciones de BP siempre convergen a marginales uniformes  , esta es la solución correcta pero no brinda ninguna información útil. Un intento por solucionar esto es el algoritmo Belief Propagation con Decimación.

En cada ciclo del algoritmo Decimación, las ecuaciones de Belief Propagation son actualizadas hasta que estas convergen o se alcanza el número máximo de iteraciones. Luego se sigue alguna estrategia de elección de variables, dos de ellas son:

  • Decimación uniforme: Escoger una variable con probabilidad uniforme y asignar un valor según la probabilidad estimada por Belief Propagation.
  • Decimación maximal: Encontrar la variable con mayor probabilidad hacia algún estado y asignarle dicho estado.

El algoritmo descrito posee una complejidad cuadrática. En la práctica una cantidad pequeña de variables deben ser decimadas en cada iteración, con el objetivo de reducir esta complejidad a tiempo linear, si el tiempo máximo de convergencia crece como  . En el problema de coloreado de grafos con 3 y 4 colores, Belief Propagation basado en Decimación mejora la estimación de marginales comparado con Belief Propagation[15]​.

El cálculo de marginales pertenece a la clase #P-Completo, esta clase se cree que posee problemas más difícil que la clases NP-Completo[16]​, y el de maximización a la clase NP-Completo. Ambos problemas pertenecen a la clase NP-Hard.

Es posible reducir la memoria necesaria, o complejidad espacial, del algoritmo Belief Propagation a través del uso del algoritmo de Islas, a costo de un pequeño aumento en la complejidad temporal.

Relación con energía libre.

editar

Belief Propagation es relacionado con el cálculo de la energía libre en termodinámica[2]​. Supongamos que   es la verdadera distribución de probabilidad de un sistema, y esta cumple la ley de Boltzmann

 

y   es el inverso de la temperatura.

La energía del estado   es:

 

La energía libre de este sistema es:

 

La determinación de esta permite el análisis de diferentes características del sistema entre ellas: la energía promedio de una configuración para una temperatura dada. Por esto se han desarrollado varias aplicaciones para la aproximación a este valor.

Supongamos que introducimos una distribución de probabilidad   de prueba y su correspondiente energía libre variacional definida por:

 

Donde   es la energía variacional promedio

 

y   es la entropía variacional

 

Según las definiciones anteriores

 

Donde

 

Es la "medida" Kullback–Leibler entre  y  . Esta siempre es no negativa y es igual a cero si y solo si  . Minimizar la energía libre variacional   respecto a la distribucion de prueba   es un procedimiento exacto para la determinación de  . y recuperación de   . Cuando el tamaño del sistema posee dimensiones grandes este procedimiento se vuelve intratable. Es posible establecer un cota superior a   a través de la minimización de   imponiendo una restricción sobre las posibles familias de distribuciones de probabilidad que puede ser  . Esta es la idea principal de la aproximación de campo medio.

Una de las elecciones más utilizadas es suponer que   es factorizable sobre las variables del sistema:

 

Donde cada   es una función de probabilidad sobre una única variable. Usando esta   y la función de energía   para el factor graph, es posible computar la energía libre en la aproximación de campo medio.

 

 

 

Es posible considerar el uso de otras familias de funciones más complejas, para reducir la cota superior de la aproximación de campo medio respecto a la energía libre[2]​.

Es posible mostrar que los mensajes luego de la convergencia de Belief Propagation son útiles en la construcción de configuraciones que minimizan la energía libre de dicho sistema, si el modelo gráfico posee estructura de árbol, en caso de tener ciclos el modelo gráfico solo se puede afirmar que es un punto estacionario en la aproximación de energía libre.

Belief Propagation Generalizado

editar
 
Las regiones son conjuntos de variables y nodos factores de un factor graph, tal que todas las variables conectadas a un nodo factor incluido se encuentran incluidas. Los conjuntos compuestos por los nodos {1,2} y {B, C, 2, 3, 4} pueden ser regiones pero el conjunto {B,3} no, pues los nodos {2,4} no pertenecen a este conjunto

El algoritmo Belief Propagation es usualmente representado como un algoritmo de paso de mensaje entre los nodos del modelo gráfico. En el caso de factor graph los mensajes son trasmitidos entre los nodos variables y los nodos funciones. Considerando el envió de mensajes entre regiones (conjuntos que pueden tener más de un nodo) es una forma de generalizar este algoritmo. Existen varias maneras de definir las regiones del modelo gráfico que intercambiaran mensajes; una de ellas plantea que una región es un conjunto de variables y nodos factores tal que si un nodo factor pertenece a una región, entonces las variables en su vecindario también pertenecen a esta región. Uno de estos métodos usa las ideas introducidas por Kikuchi en la literatura física y es conocido como el Método de variación de cluster de Kikuchi.

Los métodos de Generalización de Belief Propagation permiten mejorar las aproximaciones y las propiedades de convergencia, a costo de un incremento en la complejidad, según la elección de las regiones[2][6]​. La elección de regiones que optimicen la complejidad es un tema de investigación actualmente abierto.

Mejoras en las aproximaciones de Belief Propagation son alcanzables a través de la ruptura de las réplicas en la distribución de los campos (mensajes). Esta generalización permitió la creación de un nuevo tipo de algoritmo llamado Survey Propagation el cual ha probado ser muy útil en problemas en la clase NP-Completos como satisfacibilidad booleana[17]​ y cubrimiento mínimo en grafos[18]​. Es conocido que el algoritmo Survey Propagation es la aplicación del algoritmo Belief Propagation sobre una clase especial de objetos combinatorios llamados covers, en su aplicación al problema de la satisfacibilidad booleana[19][20]​.

Belief Propagation con distribución Gaussiana

editar

Belief Propagation con distribución Gaussiana es una variante del algoritmo Belief Propagation donde las distribuciones de los mensajes son Gaussianas. El primer trabajo en analizar este modelo especial fue realizado por Weiss y Freeman[21]​.

 

Donde   es una constante de normalización,  es matriz simétrica definida positiva y   es un vector de desplazamiento.

Equivalentemente puede ser mostrado que usando el modelo gaussiano, la solución al problema de marginalización es equivalente al problema MAP.

 

Este problema es además equivalente al problema de minimización cuadrática:

 

Que es a la vez equivalente al sistema de ecuación linear

 

La convergencia de Belief Propagation con distribución Gaussiana es relativamente más fácil de analizar (respecto al modelo general de Belief Propagation) y existen dos condiciones suficientes de convergencia. La primera de estas fue formulada por Weiss y colaboradores en el 2000, que garantiza la convergencia cuando la matriz A es diagonalmente dominante, y la segunda fue formulada por Johnson y colaboradores en 2006 que asegura la convergencia cuando el radio espectral de la matriz cumple

 

Donde  y   es la matriz identidad.

Posteriormente Su y Wu establecieron condiciones necesarias y suficientes[22]​.

Es posible vincular el algoritmo Belief Propagation con distribución Gaussiana al dominio de algebra lineal y fue mostrado como un algoritmo iterativo para la solución de sistemas de ecuaciones lineales  . Experimentos muestran que, Belief Propagation con distribución Gaussiana converge más rápido que otros métodos iterativos clásicos como el método de Jacobi, el Método de Gauss-Seidel[23]​ y posee buena tolerancia a los problemas numéricos del método del gradiente conjugado de precondición[24]​.

Referencias

editar
  1. G. Gallager, R. (1963). «Low-Density Parity-Chek Codes». MIT Press. 
  2. a b c d Yedidia, J.S; Freeman; Weiss, W.T (Julio 2005). «Constructing free-energy approximations and generalized belief propagation algorithms». www.merl.com. 
  3. Braunstein, Alfredo (2002). «Survey Propagation». PhD Tesis. 
  4. Braunstein, Alfredo; Mezard; Zecchina (2005). «Survey propagation: an algorithm for satisfiability. Random Structures and Algorithms». Random Structures & Algorithms - Wiley Online Library. doi:10.1002/rsa.20057. 
  5. Pearl (1988). «Probabilistic Reasoning in Intelligent Systems». MorganKaufmann. 
  6. a b Yedidia; Freeman; Weiss (Enero, 2002). «Understanding Belief Propagation and its Generalizations». Book Exploring artificial intelligence in the new millennium Pages 239 - 269 Morgan Kaufmann Publishers Inc. San Francisco, CA, USA ©2003. ISBN 1-55860-811-7. 
  7. Kschischang; Frey; Loeliger (Feb 2001). «Factor graphs and the sum-product algorithm». IEEE Trans. Inf. Theory, vol. 47, no. 2, pp. 498–519. 
  8. Mézard; Montanari (2008). «Information, Physics and Computation». Oxford University Press, Inc. New York, NY, USA ©2009. ISBN 978-0-19-857083-7. 
  9. Ajiand; McEliece (Marzo 2000). «The generalized distributive law and free energy minimization». Journal IEEE Transactions on Information Theory archive Volume 46 Issue 2, March 2000 Page 325-343. 
  10. Gallager (1968). «Information theory and reliable communication». John Wiley and Sons, New York. 
  11. Bayati; Shah; Sharma (2005). «Maximum weight matching via max product belief propagation». Proc. IEEE Int. Symp. Information Theory. 
  12. Bayati; Shah; Sharma (2006). «A simpler max-product maximum weight matching algorithm and the auction algorithm». Proc. IEEE Int. Symp. Information Theory. 
  13. Kolmogorov; Wainwright (2005). «On the optimality of tree reweighted max-product message passing». In 21st Conference on Uncertainty in Artificial Intelligence (UAI). 
  14. Chertkov (2008). «Exactness of belief propagation for some graphical models with loops». arXiv:0801.0341v1 [cond-mat.stat-mech]. 
  15. Zdeborova (2008). «Statistical Physics of Hard Optimization Problems». PhD Tesis. 
  16. Kroc; Sabharwal. «Survey Propagation Revisited». www.cs.cornell.edu. 
  17. Mezard; Parisi; Zecchina (2002). «Analytic and Algorithmic Solution of Random Satisfiability Problems». Science. 
  18. Weigt; Zhou (2008). «Message passing for vertex covers». http://arxiv.org. 
  19. Braunstein; Zecchina (2004). «Survey propagation as local equilibrium equations». http://arXiv.org/. 
  20. Maneva; Mossel; Wainwright (2005). «A new look at survey propagation and its generalizations». www.eecs.berkeley.edu. 
  21. Weiss; Freeman (Octubre 2001). «Correctness of Belief Propagation in Gaussian Graphical Models of Arbitrary Topology». www.mitpressjournals.org. 
  22. Su; Wu. «On convergence conditions of Gaussian belief propagation». IEEE Trans. Signal Process. 
  23. Bickson; Dolev. «Linear Detection via Belief Propagation». In the 45th Annual Allerton Conference on Communication, Control, and Computing. 
  24. Bickson; Tock (Julio 2009). «Distributed large scale network utility maximization». In the International symposium on information theory (ISIT).