AccueilđŸ‡«đŸ‡·Chercher

Propagation des convictions

La propagation des convictions (Belief Propagation ou BP en anglais), aussi connu comme la transmission de message somme-produit, est un algorithme Ă  passage de message pour effectuer des infĂ©rences sur des modĂšles graphiques, tels que les rĂ©seaux BayĂ©siens et les champs de Markov. Il calcule la distribution marginale de chaque nƓud « non-observé » conditionnĂ©e sur les nƓuds observĂ©s. La propagation des convictions est couramment utilisĂ©e dans l'intelligence artificielle et la thĂ©orie de l'information et a fait la preuve empirique de son succĂšs dans de nombreuses applications, y compris le dĂ©codage des codes LDPC ou des turbo codes, l'approximation de l'Ă©nergie libre, et les modĂšles de satisfaisabilitĂ©.

Propagation des convictions
Type
Inventeur
Date d'invention
Formule

Cet algorithme fut proposé pour la premiÚre fois par Judea Pearl, en 1982[1]. L'algorithme a été initialement formulé sur les arbres, et a ensuite été étendu aux arbres orientés[2]. Il s'est depuis montré utile comme algorithme approximatif sur les graphes plus généraux[3].

Si X={Xi} est un ensemble de variables aléatoires discrÚtes avec une loi de probabilité conjointe p, la distribution marginale d'un seul élément Xi est simplement la somme de p sur toutes les autres variables :

Cependant, ce calcul devient vite prohibitif : s'il y a 100 variables binaires, alors, on somme sur les 299 ≈ 6.338 × 1029 valeurs possibles. En exploitant la structure en arbre, la propagation des convictions permet de calculer les marginaux de maniùre beaucoup plus efficace.

Description de l'algorithme somme-produit

Diverses variantes de l'algorithme de propagation des convictions existent pour diffĂ©rents types de graphes (les rĂ©seaux BayĂ©siens et les champs de Markov [4] en particulier). Nous dĂ©crivons ici la variante qui fonctionne sur un graphe de factorisation. Un graphe de factorisation est un graphe biparti contenant les nƓuds correspondant Ă  des variables V et les facteurs F, avec des liens entre les variables et les facteurs dans lequel ils apparaissent. Nous pouvons alors Ă©crire la fonction de masse conjointe :

oĂč xa est le vecteur des nƓuds voisins du nƓud facteur a. Tout rĂ©seau BayĂ©sien ou champs de Markov peut ĂȘtre reprĂ©sentĂ© comme un graphe de factorisation.

L'algorithme fonctionne en « passant » des fonctions Ă  valeur rĂ©elle appelĂ©es messages le long des liens entre les nƓuds cachĂ©s. Plus prĂ©cisĂ©ment, si v est un nƓud variable et a est un nƓud facteur connectĂ© Ă  v dans le graphe, les messages de v pour a, (notĂ© par ) et de a Ă  v (), sont des fonctions Ă  valeurs rĂ©elles dont le domaine est Dom(v) : l'ensemble des valeurs pouvant ĂȘtre prises par la variable alĂ©atoire associĂ©e Ă  v. Ces messages contiennent les "influences" qu'une variable exerce sur l'autre. Les messages sont calculĂ©es diffĂ©remment selon que le nƓud qui reçoit le message est un nƓud variable ou un nƓud facteur. En gardant la mĂȘme notation:

  • Un message d'un nƓud variable v Ă  un nƓud facteur a est le produit des messages de tous les autres nƓuds facteurs voisins (Ă  l'exception du destinataire ; Ă  l'inverse, on peut dire que le destinataire envoie en message la fonction constante Ă©gale Ă  "1"):
oĂč N(v) est l'ensemble des nƓuds facteurs voisins de v. Si est vide, alors est fixĂ© Ă  la distribution uniforme.
  • Un message d'un nƓud facteur a Ă  un nƓud variable v est le produit du facteur en utilisant les messages de tous les autres nƓuds : on marginalise toutes les variables Ă  l'exception de celle associĂ©e Ă  v:
oĂč N(a) est l'ensemble des nƓuds variables voisins de a. Si est vide alors puisque dans ce cas .

Comme montré par la formule précédente : la marginalisation complÚte est ainsi réduite à une somme de produits de termes plus simples que celles figurant dans l'intégralité de la distribution conjointe. C'est la raison pour laquelle on l'appelle l'algorithme somme-produit.

Dans une utilisation typique, chaque message sera mis Ă  jour de maniĂšre itĂ©rative Ă  partir de la valeur prĂ©cĂ©dente des messages voisins. La mise Ă  jour des messages peut ĂȘtre planifiĂ©e de diffĂ©rentes maniĂšres. Dans le cas oĂč le graphe est un arbre, une planification optimale permet d'obtenir la convergence aprĂšs le calcul de chacun des messages une seule fois (voir la prochaine sous-section). Lorsque le graphe possĂšde des cycles, une telle planification optimale n'existe pas, et un choix typique est de mettre Ă  jour tous les messages simultanĂ©ment Ă  chaque itĂ©ration.

Lors de la convergence (si cette derniùre a lieu), l'estimation de la distribution marginale de chacun des nƓuds est proportionnelle au produit de tous les messages des facteurs voisins (il ne manque que la constante de normalisation):

De mĂȘme, l'estimation de la distribution marginale de l'ensemble des variables appartenant Ă  un seul facteur est proportionnelle au produit du facteur avec messages des variables voisines :

Dans le cas oĂč le facteur de graphe est acyclique (c'est-Ă -dire un arbre ou une forĂȘt), ces marginaux estimĂ©s convergent vers les vrais marginaux en un nombre fini d'itĂ©rations. Ce qui peut ĂȘtre prouvĂ© par induction.

Algorithme exact pour les arbres

Dans le cas ou le graphe est un arbre, l'algorithme de propagation des convictions permet d'obtenir les marginales exactes. De plus en planifiant correctement les mises-Ă -jour des messages, il termine en 2 Ă©tapes. Cette planification optimale peut ĂȘtre dĂ©crite de la maniĂšre suivante. Pour commencer, le graphe est orientĂ© en dĂ©signant un nƓud comme la racine ; tout autre nƓud connectĂ© Ă  un seul autre nƓud est appelĂ© une feuille.

Durant la premiĂšre Ă©tape, les messages sont propagĂ©s vers l'intĂ©rieur : en commençant par les feuilles, chaque nƓud propage un message le long de l'unique lien vers la racine. La structure en arbre assure qu'il est possible d'obtenir les messages de tous les nƓuds adjacent avant de passer son propre message. Ceci se poursuit jusqu'Ă  ce que la racine ait obtenu les messages de tous ses nƓuds adjacents.

La deuxiÚme étape consiste à faire revenir les messages vers l'extérieur : à partir de la racine, les messages sont transmis dans le sens inverse. L'algorithme est terminé lorsque toutes les feuilles ont reçu leurs messages.

Algorithme approximatif pour les graphes génériques

Curieusement, bien qu'il ait Ă©tĂ© conçu Ă  l'origine pour les graphes acycliques. Il a Ă©tĂ© constatĂ© que l'algorithme de propagation des convictions peut ĂȘtre utilisĂ© pour des graphes quelconques. L'algorithme est alors parfois appelĂ© la propagation de conviction "Ă  boucle", parce que les graphiques contiennent gĂ©nĂ©ralement des cycles, ou des boucles. L'initialisation et la planification de la mise-Ă -jour des messages doivent ĂȘtre lĂ©gĂšrement ajustĂ©es (par rapport au cas donnĂ© pour les arbres) parce que ces graphes peuvent ne pas contenir de feuilles. Au lieu de cela, on initialise tous les messages des nƓuds variables Ă  1, puis on utilise la dĂ©finition des messages ci-dessus. La mise-Ă -jour de tous les messages est effectuĂ©es Ă  chaque itĂ©ration (bien que les messages provenant de feuilles ou de sous-arbres connus n'ont plus besoin de mises-Ă -jour aprĂšs un nombre suffisant d'itĂ©rations). Il est facile de montrer que, dans un arbre, les messages produit par cette modification convergent vers les messages dĂ©crit ci-dessus aprĂšs un nombre d'itĂ©rations Ă©gal au diamĂštre de l'arbre.

Les conditions prĂ©cises sous lesquelles la propagation de conviction "Ă  boucle" converge ne sont pas encore bien comprises. Il est connu que sur les graphes contenant une seule boucle, elle converge dans la plupart des cas, mais les probabilitĂ©s obtenues peuvent ĂȘtre incorrects[5]. Plusieurs conditions sont suffisantes (mais pas nĂ©cessaires) pour assurer l'existence d'un unique point fixe de convergence[6]. Il existe des graphes qui ne convergent pas, ou mĂȘme qui oscillent entre plusieurs Ă©tats aprĂšs plusieurs itĂ©rations. Des techniques comme EXIT peuvent fournir une visualisation approchĂ©e de la progression de l'algorithme et fournissent ainsi une Ă©valuation approximative de la convergence.

Il existe d'autres méthodes approximatives pour calculer les marginaux y compris les méthodes variationnelles et les méthodes de Monte Carlo.

Une mĂ©thode exacte de calcul des marginales, pour le cas gĂ©nĂ©ral, est appelĂ©e l'algorithme de l'arbre de jonction, qui est tout simplement la propagation des convictions sur une version modifiĂ©e du graphe qui est garantie d'ĂȘtre un arbre. Le principe de base est d'Ă©liminer les cycles en les regroupant dans un seul nƓud.

Algorithmes analogues et complexité

Un algorithme similaire est communĂ©ment appelĂ© l'algorithme de Viterbi, il s'agit d'un cas particulier de l'algorithme du max-produit ou de min-somme, pour rĂ©soudre le problĂšme de la maximisation, ou de l'explication la plus probable. Au lieu de tenter de calculer les marginaux, le but est ici de trouver les valeurs qui maximisent la fonction globale (c'est-Ă -dire les valeurs les plus probables dans un cadre probabiliste), et il peut ĂȘtre dĂ©fini Ă  l'aide de l'arg max:

Un algorithme qui permet de résoudre ce problÚme est presque identique à la propagation des convictions, en remplaçant les sommes par des maxima dans les définitions[7].

Il est intĂ©ressant de noter que les problĂšmes d'infĂ©rence tels que la marginalisation et l'optimisation sont NP-difficiles Ă  rĂ©soudre dans les cas exact et mĂȘme approchĂ© (au moins pour l'erreur relative) pour un graphe quelconque. Plus prĂ©cisĂ©ment, le problĂšme de la marginalisation dĂ©finie ci-dessus est #P-complet et celui de la maximisation est NP-complet.

L'utilisation de la mĂ©moire par la propagation des convictions peut ĂȘtre rĂ©duit grĂące Ă  l'utilisation de l'algorithme en Ăźle (pour un faible coĂ»t sur la complexitĂ© temporelle).

Lien avec l'Ă©nergie libre

L'algorithme somme-produit est reliée au calcul de l'énergie libre en thermodynamique. Soit Z la fonction de partition. La distribution de probabilité

(notez la ressemblance avec un graphe de factorisation) peut ĂȘtre considĂ©rĂ©e comme une mesure de l'Ă©nergie interne prĂ©sente dans le systĂšme, calculĂ©e comme

L'Ă©nergie libre du systĂšme est alors

On peut montrĂ© que les points de convergence de l'algorithme somme-produit reprĂ©sentent les Ă©tats minimales de l'Ă©nergie libre d'un tel systĂšme. De mĂȘme, il peut ĂȘtre dĂ©montrĂ© qu'un point fixe de l'algorithme itĂ©ratif de propagation des convictions dans les graphes Ă  cycles est aussi un point fixe de l'approximation de l'Ă©nergie libre[8].

La propagation des convictions généralisée

Les algorithmes de propagation des convictions sont normalement prĂ©sentĂ©s comme des mises Ă  jour des Ă©quations sur un graphe de factorisation, impliquant des messages entre les nƓuds variables et leurs nƓuds facteurs voisins et vice versa. ConsidĂ©rer les messages entre des rĂ©gions d'un graphe est une façon de gĂ©nĂ©raliser l'algorithme de propagation des convictions. Il existe plusieurs façons de dĂ©finir l'ensemble des rĂ©gions d'un graphe qui peuvent Ă©changer des messages. Une mĂ©thode utilise les idĂ©es introduites par Kikuchi dans la littĂ©rature physique, et est connu comme la mĂ©thode de variation des clusters de Kikuchi.

Des amĂ©liorations dans la performance des algorithmes de propagation des convictions sont Ă©galement possibles en brisant la symĂ©trie des rĂ©pliques dans les distributions des champs (les messages). Cette gĂ©nĂ©ralisation conduit Ă  un nouveau type d'algorithme appelĂ© enquĂȘte de propagation, qui se sont rĂ©vĂ©lĂ©s trĂšs efficaces pour les problĂšmes NP-complet comme la satisfiabilitĂ©[9] et la coloration de graphe.

Les mĂ©thodes de variation des clusters et l'enquĂȘte de propagation sont deux diffĂ©rentes amĂ©liorations de la propagation des convictions.

Propagation des convictions gaussienne

La propagation des convictions gaussienne (PCG) est une variante de l'algorithme de propagation des convictions lorsque les distributions sous-jacentes sont Gaussiennes. Les premiers à analyser ce modÚle spécial ont été Weiss et Freeman[10].

L'algorithme PCG résout le problÚme de calcul des marginales suivant :

oĂč Z est une constante de normalisation, A est une matrice dĂ©finie positive symĂ©trique (l'inverse de la matrice de covariance c'est-Ă -dire la prĂ©cision de la matrice) et b est le vecteur de changement.

De maniĂšre Ă©quivalente, il peut ĂȘtre montrĂ© qu'en utilisant le modĂšle Gaussien, la solution du problĂšme de la marginalisation est l'Ă©quivalent du maximum a posteriori du problĂšme d'affectation :

Ce problÚme est équivalent au problÚme de minimisation de l'équation du second degré suivant :

C'est aussi équivalent au systÚme linéaire d'équations

La convergence de l'algorithme PCG est plus facile à analyser (relativement au cas général de la programmation des convictions) et il y a deux conditions de convergence suffisantes connues. La premiÚre a été formulée par Weiss et coll. en l'an 2000 : lorsque l'information de la matrice A est à diagonale dominante. La deuxiÚme condition de convergence a été formulée par Johnson et al.[11] en 2006, lorsque le rayon spectral de la matrice vérifie

oĂč D = diag(A).

L'algorithme PCG a Ă©tĂ© reliĂ©e Ă  l'algĂšbre linĂ©aire[12] et il a Ă©tĂ© montrĂ© que l'algorithme PCG peut ĂȘtre considĂ©rĂ© comme un algorithme itĂ©ratif pour la rĂ©solution du systĂšme linĂ©aire d'Ă©quations Ax = b oĂč A est la matrice d'information et de b est le vecteur de changement. Empiriquement, l'algorithme PCG se trouve converger plus rapidement que les mĂ©thodes itĂ©ratives classiques comme la mĂ©thode de Jacobi, la mĂ©thode de Gauss–Seidel, ou la mĂ©thode de surrelaxation successive, et d'autres[13]. En outre, l'algorithme PCG est montrĂ© ĂȘtre Ă  l'abri de problĂšmes numĂ©riques de la mĂ©thode du gradient conjuguĂ© prĂ© conditionnĂ© [14]

Références

  1. Judea Pearl « Reverend Bayes on inference engines: A distributed hierarchical approach » () (lire en ligne, consulté le )
    —AAAI-82: Pittsburgh, PA (lire en ligne)
    — « (ibid.) », dans Proceedings of the Second National Conference on Artificial Intelligence, Menlo Park, California, AAAI Press, p. 133–136
  2. Jin H. Kim et Pearl, Judea « A computational model for combined causal and diagnostic reasoning in inference systems » () (lire en ligne, consulté le )
    —IJCAI-83: Karlsruhe, Germany (lire en ligne)
    — « (ibid.) », dans Proceedings of the Eighth International Joint Conference on Artificial Intelligence, vol. 1, p. 190–193
  3. Judea Pearl, Probabilistic Reasoning in Intelligent Systems : Networks of Plausible Inference, San Francisco, CA, Morgan Kaufmann, , 2e Ă©d., 552 p. (ISBN 1-55860-479-0, lire en ligne)
  4. J.S. Yedidia, W.T. Freeman et Y., Exploring Artificial Intelligence in the New Millennium, Morgan Kaufmann, , 239–236 p. (ISBN 1-55860-811-7, lire en ligne), « Understanding Belief Propagation and Its Generalizations »
  5. Yair Weiss, « Correctness of Local Probability Propagation in Graphical Models with Loops », Neural Computation, vol. 12, no 1,‎ , p. 1–41 (DOI 10.1162/089976600300015880)
  6. J Mooij et H Kappen, « Sufficient Conditions for Convergence of the Sum–Product Algorithm », IEEE Transactions on Information Theory, vol. 53, no 12,‎ , p. 4422–4437 (DOI 10.1109/TIT.2007.909166)
  7. Hans-Andrea Löliger, « An Introduction to Factor Graphs », IEEE Signal Processing Magazine, vol. 21,‎ , p. 28–41 (DOI 10.1109/msp.2004.1267047)
  8. J.S. Yedidia, W.T. Freeman, Y. Weiss et Y., « Constructing free-energy approximations and generalized belief propagation algorithms », IEEE Transactions on Information Theory, vol. 51, no 7,‎ , p. 2282–2312 (DOI 10.1109/TIT.2005.850085, lire en ligne, consultĂ© le )
  9. A. Braunstein, M. MĂ©zard et R. Zecchina, « Survey propagation: An algorithm for satisfiability », Random Structures & Algorithms, vol. 27, no 2,‎ , p. 201–226 (DOI 10.1002/rsa.20057)
  10. Yair Weiss et William T. Freeman, « Correctness of Belief Propagation in Gaussian Graphical Models of Arbitrary Topology », Neural Computation, vol. 13, no 10,‎ , p. 2173–2200 (PMID 11570995, DOI 10.1162/089976601750541769)
  11. Dmitry M. Malioutov, Jason K. Johnson et Alan S. Willsky, « Walk-sums and belief propagation in Gaussian graphical models », Journal of Machine Learning Research, vol. 7,‎ , p. 2031–2064 (lire en ligne, consultĂ© le )
  12. Gaussian belief propagation solver for systems of linear equations. By O. Shental, D. Bickson, P. H. Siegel, J. K. Wolf, and D. Dolev, IEEE Int. Symp. on Inform. Theory (ISIT), Toronto, Canada, July 2008. http://www.cs.huji.ac.il/labs/danss/p2p/gabp/ « Copie archivée » (version du 14 juin 2011 sur Internet Archive)
  13. Linear Detection via Belief Propagation. Danny Bickson, Danny Dolev, Ori Shental, Paul H. Siegel and Jack K. Wolf. In the 45th Annual Allerton Conference on Communication, Control, and Computing, Allerton House, Illinois, 7 Sept.. http://www.cs.huji.ac.il/labs/danss/p2p/gabp/ « Copie archivée » (version du 14 juin 2011 sur Internet Archive)
  14. Distributed large scale network utility maximization. D. Bickson, Y. Tock, A. Zymnis, S. Boyd and D. Dolev. In the International symposium on information theory (ISIT), July 2009. http://www.cs.huji.ac.il/labs/danss/p2p/gabp/ « Copie archivée » (version du 14 juin 2011 sur Internet Archive)

Lectures complémentaires

Article lié

Cet article est issu de wikipedia. Text licence: CC BY-SA 4.0, Des conditions supplĂ©mentaires peuvent s’appliquer aux fichiers multimĂ©dias.