Florence Forbes INRIA Rhone-Alpes Une vue unifiée des algorithmes avec passage de message: mesures de divergence Florence Forbes INRIA Rhone-Alpes D’après un article de Tom Minka, Divergence measures and message passing, 2005
Contexte: Modélisation de problèmes réels, algorithmes trop exigeants en temps, ressources informatiques et humaines Nécessité de disposer d’outils d’approximation BUT: approcher une loi p(x) complexe par une loi plus simple q(x) appartenant à une famille F Pourquoi? La loi q peut alors etre utilisée pour remplacer p dans un processus d’inférence plus générale: Ex: calcul de fonction de partition, segmentation d’image, sélection de modèles, etc.
Les méthodes variationnelles Une famille de méthodes d’approximation où p complexe est remplacée par q dans F “plus simple” en minimisant “la perte d’information” Souvent un problème peut-etre décomposer en sous problèmes: Stratégie de décomposition qui conduit aux algorithmes de passage de messages Algorithmes de passage de messages: une méthode “locale”, “distribuée” pour calculer q
Les algorithmes de passage de messages Des recettes différentes pour minimiser une mesure d’information Se base sur la notion de divergence Idée: étudier les propriétés de ces divergences devrait permettre de choisir le meilleur algorithme en fonction de l’application visée, de la tache à accomplir Exemples d’algorithmes de passage de messages
Exemples d’algorithmes (Message-Passing Algorithms) Mean-field MF [Peterson,Anderson 87] Loopy belief propagation BP [Frey,MacKay 97] Expectation propagation EP [Minka 01] Tree-reweighted message passing TRW [Wainwright,Jaakkola,Willsky 03] Fractional belief propagation FBP [Wiegerinck,Heskes 02] Power EP PEP [Minka 04]
Un algorithme de passage de messages se construit en 4 étapes Choisir une famille F (ex. Lois factorisées, lois gaussiennes, mélanges de gaussiennes, etc.) Choisir une mesure de divergence à minimiser pour trouver le “meilleur” q dans F (ex Kullback-Leibler) Proposer une méthode pour calculer le q optimal: souvent une itération de point fixe Mettre en oeuvre le calcul de manière distribuée et locale (minimisation de divergences “locales”)
Message Passing: compute marginals Example Find marginal for a particular node for M-state nodes, cost is exponential in length of chain but, we can exploit the graphical structure (conditional independences)
a f t e r x Message Passing b e f o r x Joint distribution Exchange sums and products: ab+ ac = a(b+c) b e f o r x i a f t e r x i
Message Passing Express as product of messages Recursive evaluation of messages Find Z by normalizing
Belief Propagation Extension to general tree-structured graphs At each node: form product of incoming messages and local evidence marginalize to give outgoing message one message in each direction across every link Fails if there are loops
Junction Tree Algorithm An efficient exact algorithm for a general graph applies to both directed and undirected graphs compile original graph into a tree of cliques then perform message passing on this tree Problem: cost is exponential in size of largest clique many vision models have intractably large cliques
Loopy Belief Propagation Apply belief propagation directly to general graph possible because message passing rules are local need to keep iterating might not converge State-of-the-art performance in error-correcting codes
Max-product Algorithm: most probable x Goal: find define then Message passing algorithm with “sum” replaced by “max” Example: Viterbi algorithm for HMMs
Mesures de divergence soient p,q des distributions non normalisées Divergence de Kullback-Leibler (KL) Alpha-divergence ( nombre réel quelconque) Asymétrique, convexe
Exemples d’alpha-divergences
Minimum alpha-divergence q est Gaussienne, minimise D(p||q) = -1
Minimum alpha-divergence q est Gaussienne, minimise D(p||q) = 0
Minimum alpha-divergence q est Gaussienne, minimise D(p||q) = 0.5
Minimum alpha-divergence q est Gaussienne, minimise D(p||q) = 1
Minimum alpha-divergence q est Gaussienne, minimise D(p||q) = 1
Propriétés des alpha-divergences £ 0 cherche le mode de plus grande masse (pas le plus grand mode) zero-forcing: p(x)=0 force q(x)=0 Sous-estime le support de p Modélise queues plutot que la partie centrale ¸ 1 s’étire pour tout englober inclusive: p(x)>0 force q(x)>0 Sur-estime le support de p [Frey,Patrascu,Jaakkola,Moran 00]
Structure de l’espace en alpha inclusive (zero avoiding) zero forcing BP, EP MF 1 TRW FBP, PEP
Autres propriétés Si q est un minimum exact d’1 alpha-divergence: Constante de normalisation: Si a=1: Gaussienne q a moyenne,variance de p q factorisée a les marginales de p
Exemple à deux variables y q factorisée, minimise a-divergence avec p q a les correctes marginales seulement pour = 1 (BP)
Exemple à deux variables Distribution Bimodale Bon Mauvais Marges Masse Zeros hauteurs modes un mode = 1 (BP) = 0 (MF) 0.5
Exemple à deux variables Distribution bimodale Bon Mauvais Hauteurs modes Zeros Marges = 1
Leçons Pas de méthode meilleure – dépend de ce à quoi on s’intéresse une approx factorisée ne préserve pas les marginales (seulement pour =1) Ajouter y au problème peut changer la marginale estimée pour x (alors que la vraie marginale est inchangée)
Minimisation d’une alpha-divergence ® 6 = Itération de point fixe q p o i n t s a r e d D ® ( j ) , K L 1 ¡ q = P r o j [ p ® 1 ¡ ] Pour q qui minimise,… , q p o i n t s a r e d D ¯ ( ® = 1 ¡ j ) Heuristique: à l’itération t, on a un qt ~ q = P r o j [ p ® 1 ¡ t ] q t + 1 = ² y ~ ¡ Moralité: une méthode simple pour minimiser une alpha-divergence est de minimiser successivement différentes KL-divergences
Minimisation de la KL-divergence ® = 1 Cas où F est une famille exponentielle Dans le schéma heuristique, on peut donc remplacer la première étape par un calcul d’espérances des gj pour la loi Ex: si F est la famille des lois gaussiennes, pour mettre à jour q, on calcule la constante de normalisation, moyenne, variance de On prend pour la gaussienne déterminée par ces valeurs de moyenne, variance mais avec le facteur d’échelle adéquat q ( x ) = e p P j g º º j s o n t l e p a r m µ , g ( x ) = 1 ; 2 c q = P r o j [ p ] , 8 R x g ( ) d ~ q p ® q 1 ¡ p ® q 1 ¡ ~ q
Cas où F est une famille de lois factorisées Dans le schéma heuristique si F famille exponentielle factorisée q ( x ) = s Q i a v e c n o r m l q = P r o j [ p ] , 8 i R x ( ) d , 8 i q ( x ) = 1 s R p d ~ q i ( x ) = s 1 ¡ ® R p Q j 6 d , 8 i q ( x ) = 1 s P r o j [ R p d ]
® = ® ! Le champ moyen ~ q ( x ) = R p Q d Itération de point fixe hors du schéma précédent A comparer avec quand ~ q i ( x ) / e p R = l o g Q j 6 d ~ q i ( x ) = s 1 ¡ ® R p Q j 6 d ® !
En pratique …. Déterminer un schéma d’itération ne résout pas nécessairement le problème: ex. Calcul d’esperance difficile…
Divergence globale et divergence locale
Minimisation Distribuée Ecrire p comme un produit de facteurs: Approcher les facteurs un par un: Les multiplier pour avoir l’approximation:
F famille exponentielle factorisée Schéma d’itération ~ t a ( x ) = Q i m ! m i ! a ( x ) = Q b 6 q i ( x ) = m a ! 8 c f H M ~ s = R x t a ( ) ® Q j m ! 1 ¡ d ~ m a ! i = 1 s ( x ) P r o j [ ¡ ® . R t Q 6 d ] C a s p r t i c u l e : ( x ) n d m ! = 1 ie les messages ne sont propagés que d’un facteur “a” aux variables “xi” qu’il utilise (cas des MRFs, messages seulement entre voisins)
Ajoute un terme de Projection, réduit la complexité des messages… F factorisée sans contrainte de famille exponentielle est équivalent à F exponentielle avec Cas du champ moyen (alpha = 0) Loopy Belief Propagation (alpha = 1) Expectation Propagation (alpha= 1 + F factorisée exponentielle) Ajoute un terme de Projection, réduit la complexité des messages… Fractional BP et Power EP (alpha quelconque, F factorisée, sans ou avec hypothèse exponentielle) g i j ( x ) = ± ¡ ~ m a ! i ( x ) / e p R = l o g t Q j 6 d ~ m a ! i ( x ) / R = t Q j 6 d ~ m a ! i ( x ) / 1 P r o j [ R = t Q 6 d
Passages de messages Messages: passés entre facteurs Messages: approxim. des facteurs Facteur a reçoit Minimise divergence locale pour avoir L’envoie aux autres facteurs Répète à convergence Produit les 6 algos
Divergence globale vs. locale MF local ¹ global local = global Pas de pertes avec le passage de messages En général, local ¹ global mais résultats similaires BP ne minimise pas KL globale, mais est proche
Une Hiérarchie d’algorithmes Power EP exp family D(p||q) Structured MF exp family KL(q||p) FBP fully factorized D(p||q) EP exp family KL(p||q) MF fully factorized KL(q||p) TRW fully factorized D(p||q),a>1 BP fully factorized KL(p||q)
Matrice d’algorithmes MF fully factorized KL(q||p) Structured MF exp family KL(q||p) TRW fully factorized D(p||q),a>1 Famille approximante Autres familles? (melanges) Mesures de divergence BP fully factorized KL(p||q) EP exp family KL(p||q) FBP fully factorized D(p||q) Power EP exp family D(p||q) Autres divergences?
Qu’a-t-on apris sur la qualité des approximations? Rien!? Mais accés à quelques propriétés de ces approximations Guide le choix d’une mesure de divergence à minimiser et donc d’un algorithme. 3 critères: Complexité: quelle est la divergence la plus facile à minimiser (calculs dépendent du problème par ex) Famille approximante: Si proche de la vraie distribution (alpha équivalents), loin (alpha=0 ou négatif), moyen (dépend de la tache) Nature de la tache: Marginales, constante de normalisation (BP)
Cas de l’apprentissage bayesien, modèles à données manquantes, etc. Vraisemblance observée, sélection de modèles, distribution prédictive Distribution d’intéret: Critère à considérer: MAP dans HMRF: alpha-Divergences OK Sélection de modèles dans HMRF: lien avec l’approximation de Laplace? R x p ( y j ) d D ® ( R x p j y ) d q