• Aucun résultat trouvé

Acc´el´eration mat´erielle pour des probl`emes de grande taille

3.2.4 Avantages de la r´esolution approch´ee

En plus de l’´evitement de l’inversion d’une matrice de grande taille, la r´esolution tronqu´ee du syst`eme primal pr´esente deux autres avantages

1. La r´esolution du syst`eme primal par gradient biconjugu´e ou par approche MM fait appel au calcul de produits matrice-vecteur qui peuvent se faire avec une complexit´e arithm´etique r´eduite. En fait, les matrices Hk et Bk sont d´eduites de la matrice K qui correspond `a des

op´erateurs qui peuvent se calculer `a l’aide d’algorithmes rapides. De plus la co ˆut m´emoire sera r´eduit car cette approche ne n´ecessite pas d’expliciter la matrice K.

2. Un gain suppl´ementaire est obtenu dans le cadre de l’approche MM en optant pour des matrices Bkbloc-diagonales (i.e., des approximations quadratiques majorantes s´eparables).

Par cons´equent, la r´esolution du syst`eme lin´eaire se r´eduit `a la r´esolution de P syst`emes lin´eaires ind´ependants de taille (N − 1) × (N − 1).

3.3

Acc´el´eration mat´erielle pour des probl`emes de grande taille

Compte tenu de l’´evolution croissante des outils de calcul intensif, l’augmentation de la puis- sance des calculateurs est ´egalement exploit´ee pour la mise en place de strat´egies d’acc´el´eration des approches de r´esolution it´erative. L’id´ee serait de proposer des m´ethodes ayant des struc- tures algorithmiques qui se prˆetent `a une impl´ementation parall`ele ou `a un calcul distribu´e. Pour cela, on explorera dans ce qui suit le potentiel des processeurs de cartes graphiques (GPUs) et les contraintes d’impl´ementation que leur utilisation impose.

3.3.1 Calcul scientifique sur des processeurs de cartes graphiques

Un GPU est un processeur contenant plusieurs centaines d’unit´es de calcul pouvant effectuer de fac¸on parall`ele les mˆemes op´erations sur des donn´ees m´emoire diff´erentes. Les GPU sont de plus en plus utilis´es dans le milieu scientifique car ils offrent une puissance de calcul importante pour un prix raisonnable [Owens 08]. Comme illustr´e par la figure 3.1, le GPU se distingue du CPU par le grand nombre d’Unit´es Arithm´etiques et Logiques (UAL) qu’il comporte, souvent plusieurs centaines contre 2 ou 4 pour un CPU. Ces unit´es effectuent n´ecessairement les mˆemes instructions sur des donn´ees diff´erentes, suivant le mod`ele SIMD (Single Instruction Multiple Data).

L’impl´ementation r´ealis´ee utilise la technologie CUDA qui est d´evelopp´ee par Nvidia [Nvidia 12] et se pr´esente comme une extension du langage C. Elle permet d’ex´ecuter des portions de code appel´es noyaux de fac¸on parall`ele sur un GPU. Un noyau est ex´ecut´e `a travers un grand nombre de threads. Selon ce mod`ele, les threads sont autant de processus ind´ependants r´ealisant la suite d’ins- tructions d´efinie dans le noyau sur des donn´ees diff´erentes. Un thread est donc ex´ecut´e sur une

52 3.3. ACC ´EL ´ERATION MAT ´ERIELLE POUR DES PROBL `EMES DE GRANDE TAILLE

FIGURE3.1 – Illustration de la diff´erence entre GPU et CPU. Extrait de [Nvidia 12].

UAL. Les threads ´etant souvent bien plus nombreux que les UAL disponibles, le mod`ele CUDA dispose de r`egles de contr ˆole d’ex´ecution permettant d’optimiser l’ex´ecution des threads en fonc- tion du nombre de d’UAL disponibles. Une pr´esentation plus d´etaill´ee sur la programmation GPU est disponible dans [Wilt 13].

FIGURE3.2 – Illustration du principe du multithreading selon le nombre de multiprocesseurs GPU ou d’UAL disponibles et du mode d’organisation des threads en blocs et grille.

Des travaux pr´ecurseurs sur l’utilisation des GPU pour la r´esolution de probl`emes d’optimisa- tion en traitement du signal et de l’image peuvent ˆetre trouv´es dans [Ruggiero 10,S´anchez 11].

3.3. ACC ´EL ´ERATION MAT ´ERIELLE POUR DES PROBL `EMES DE GRANDE TAILLE 53

3.3.2 Impl´ementation GPU de l’algorithme primal-dual des points int´erieurs [Legendre 13b,

Legendre 13a]

Il est naturel de penser que c’est en rendant le probl`eme totalement parall´elisable que le GPU sera le mieux exploit´e. Cela est possible en remarquant que la minimisation du crit`ere des moindres carr´es d´efini par l’´equation (3.16), est assur´ee en r´esolvant des minimisations ind´ependantes des crit`eres

Fp(x) =kyp− Kxpk22, (∀p = 1, . . . , P ).

Ainsi, P threads peuvent ˆetre lanc´es sur le GPU, chacun ex´ecutant enti`erement l’algorithme PDIP pour chaque sous-probl`eme. N´eanmoins, cette m´ethode pr´esente un inconv´enient : Les structures conditionnelles de type≪if, then, else≫au sein d’un noyau sont `a ´eviter. Dans le mod`ele d´efini par CUDA, les threads sont organis´es par groupes de 32, appel´es warps, se comportant comme autant d’unit´es SIMD. En cas de structure conditionnelle, si les deux conditions sont v´erifi´ees par des threads diff´erents d’un mˆeme warp (groupe de 32 threads), alors les instructions li´ees aux deux conditions sont ex´ecut´ees par tous les threads de ce warp. Des op´erations inutiles sont alors effectu´ees bien que leurs r´esultats soient ignor´es, ce qui a pour effet d’augmenter le temps d’ex´ecution. Par cons´equent, lors de l’ex´ecution de l’algorithme PDIP le temps total est fix´e par le sous-probl`eme dont le traitement n´ecessite le plus d’it´erations dans chaque sous-groupe.

L’alternative est de revenir au probl`eme initial et de minimiser le crit`ere global en tirant parti au mieux des caract´eristiques diff´erentes du CPU et du GPU. Le CPU est utilis´e pour impl´ementer la structure de l’algorithme, contenant les conditions d’arrˆet. Le GPU est utilis´e au sein de chaque ´etape afin d’en acc´el´erer l’ex´ecution. Cette version pr´esente l’avantage de ne pas introduire de calculs inutiles, cependant certaines ´etapes de l’algorithme n´ecessitent des transferts de donn´ees entre la m´emoire du CPU et celle du GPU, ce qui ralentit leur ex´ecution.

D’apr`es la figure (3.3), on peut distinguer deux types d’´etapes : celles pour lesquelles une pa- rall´elisation totale est possible car elles contiennent des calculs ind´ependants sur chaque sous- probl`eme, et celles dont le r´esultat est une variable unique pour le crit`ere global. C’est le cas pour le calcul du param`etre barri`ere, du pas de Newton, ainsi que des deux tests d’arrˆet. Ce type d’´etape est appel´ee r´eduction et n’est effectu´ee que partiellement sur le GPU. En effet il est plus avantageux pour ce type d’´etape d’effectuer une r´eduction partielle sur le GPU, puis de transf´erer ce r´esultat interm´ediaire dans la m´emoire du CPU pour y terminer le calcul. Une organisation optimale de la m´emoire est indispensable pour r´eduire les temps d’acc`es aux donn´ees et donc ´eviter les temps d’attente [Legendre 13a]. Il est `a noter que cette strat´egie d’impl´ementation est indispensable lors- qu’un crit`ere de r´egularisation spatiale R(X) est introduit dans le crit`ere `a minimiser.

Les r´esultats de l’application de cette approche au traitement d’images hyperspectrales sont d´ecrits dans [Chouzenoux 14,Legendre 14], en annexe de ce manuscrit. Un travail en cours concerne l’impl´ementation sur GPU de la m´ethode int´egrant une p´enalisation spatiale sur le cartes de dis- tribution spatiale des abondances.

54 3.4. CONCLUSIONS

Initialisations

param`etre barri`ere

directions de Newton

calcul du pas

variables primales et duales

test 1 Oui Non test 2 Oui Non variables primales

FIGURE3.3 – Organigramme de la m´ethode primale-duale des points-int´erieurs. Les ´etapes gris´ees sont r´ealis´ees sur le GPU alors que les autres sont r´ealis´ees partiellement sur le GPU, puis finalis´ees sur le CPU.

3.4

Conclusions

J’ai pr´esent´e dans ce chapitre deux strat´egies d’acc´el´eration des m´ethodes d’optimisation sous contraintes pour la r´esolution de probl`emes inverses de grande taille. La premi`ere proposition concerne l’utilisation de versions tronqu´ees des algorithmes de r´esolution it´eratives et d’adap- ter les strat´egie de barri`ere pour assurer la convergence de l’algorithme primal-dual des points int´erieurs. La seconde concerne l’utilisation des algorithmes de majoration-minimisation pour la r´esolution approch´ee de mani`ere `a assurer la s´eparabilit´e du crit`ere majorant. On exploite ainsi l’un des points forts des m´ethodes MM pour que l’´etape de minimisation pour la mise `a jour des variables primales et duales puisse ˆetre impl´ement´ee sur le GPU. Une perspective `a court-terme de ce travail concerne l’impl´ementation GPU de l’algorithme primal-dual incluant une strat´egie de r´esolution du syst`eme primal par un algorithme MM ainsi que l’´evaluation du gain apport´e par cette impl´ementation.

Ce qu’il faut retenir du travail pr´esent´e dans ce chapitre est le succ`es apport´e par l’approche consistant `a agir en amont de l’impl´ementation mat´erielle en modifiant la m´ethode de traitement de telle mani`ere `a ce que l’algorithme r´esultant pr´esente une structure fortement parall´elisable tout en pr´eservant des propri´et´es th´eoriques saines.

Chapitre 4

Simulation bay´esienne pour l’inf´erence

statistique en grandes dimensions

Ce chapitre est consacr´e aux travaux que j’ai r´ealis´es r´ecemment sur les m´ethodes de Monte Carlo par chaˆınes de Markov (MCMC) en grande dimension. Le recours aux m´ethodes MCMC pour l’inf´erence bay´esienne permet de r´esoudre des probl`emes inverses tout en incluant naturelle- ment une ´etape d’estimation de tous les param`etres d’un mod`ele bay´esien hi´erarchique [Robert 01]. Cependant, l’utilisation de ces techniques pour la r´esolution de probl`emes de grande taille est par- fois inenvisageable `a cause d’un co ˆut de calcul trop ´elev´e qui r´esulte, soit d’un besoin m´emoire excessif ou d’une convergence trop lente de l’algorithme.

Ces travaux sont motiv´es par des probl´ematiques constat´ees lors de la mise en œuvre des m´ethodes de s´eparation de sources par approche bay´esienne ainsi que d’un questionnement sur la possibilit´e d’exploiter des outils issus de l’optimisation au sein des techniques d’´echantillonnage. La finalit´e ´etant d’augmenter l’efficacit´e des algorithmes MCMC dans ce contexte. Bien que cette interrogation est connue de longue date dans la communaut´e des math´ematiques appliqu´ees, celle-ci suscite ces derni`eres ann´ees un tr`es fort engouement au sein de la communaut´e du traite- ment du signal et des images. Citons pour exemple les travaux pr´ecurseurs sur des m´ethodes de Langevin-Hastings exploitant les informations sur les gradient de la distribution cible [Rossky 78, Roberts 96] ou encore, plus r´ecemment celles, utilisant le hessien [Vacar 11,Zhang 11,Martin 12]. On retrouve cette strat´egie ´egalement dans les approches variationnelles [Fraysse 11].

Le cas d’´etude qui sera discut´e dans ce chapitre est celui o `u une des variables `a r´e´echantillonner est un vecteur gaussien de grande dimension dont la covariance varie au cours des it´erations. Les d´eveloppements pr´esent´es dans ce chapitre sont issus des travaux de th`ese de doctorat de Cl´ement GILAVERT1. Ces d´eveloppements ont fait l’objet d’un papier r´ecemment accept´e pour publication dans une revue internationale [Gilavert 14] et d’une communication nationale [Gilavert 13].

1. Doctorant ECN, 2012-2014. Cette th`ese actuellement suspendue pour des raisons m´edicales. 55

56 4.1. ECHANTILLONNAGE GAUSSIEN EN GRANDE DIMENSION

4.1

Echantillonnage gaussien en grande dimension

On s’int´eresse `a l’´echantillonnage gaussien dans le cadre de la r´esolution d’un probl`eme inverse lin´eaire, au sens que les mesures y∈ RM sont exprim´ees par

y= Kx + e, (4.1)

avec K ∈ RM×N est la matrice associ´ee au mod`ele d’observation et e un terme de bruit additif,

correspondant aux erreurs de mesure et de mod´elisation, ind´ependant de la variable d’int´erˆet x. L’estimation de x par inf´erence bay´esienne [Robert 01,Idier 08] requi`ere tout d’abord la formula- tion de la densit´e de probabilit´e a posteriori P (x, Θ|y), o `u Θ est l’ensemble des hyperparam`etres. Une suite de r´ealisations{xk} est alors simul´ee `a partir de cette densit´e et utilis´ee pour l’approxi-

mation des statistiques d’int´erˆet, telles que la moyenne, le mode ou la covariance de la variable al´eatoire associ´ee au vecteur x. Id´ealement, les r´ealisations{xk} doivent ˆetre ind´ependantes mais,

la g´en´eration d’une telle suite est rarement simple en pratique. L’alternative consiste `a construire une chaˆıne de Markov ayant comme distribution asymptotique la densit´e a posteriori [Gilks 99]. Une m´ethode classique pour la construction d’une telle chaˆıne est l’´echantillonneur de Gibbs [Geman 84] dont le principe est de simuler it´erativement des r´ealisations (Θk, xk) `a partir des

densit´es conditionnelles P (Θ|xk−1, y) et P (x|Θk, y).

4.1.1 Formulation du probl`eme

Dans le cas o `u des mod`eles gaussionsN µy, Ry



etN (µx, Rx) sont affect´es aux statistiques

du bruit e et au vecteur des inconnues x, l’ensemble des hyperparam`etres Θ correspond aux moyennes et les matrices de covariances de ces deux distributions. Notons que cette loi a priori couvre une famille plus large de mod`eles bay´esiens hi´erarchiques tels que le mod`ele de m´elange continu de gaussiennes [Andrews 74,Champagnat 04] et les mod`eles `a base de champs de Markov gaussiens [Geman 84,Papandreou 10].

En s’appuyant sur un tel mod`ele, la densit´e conditionnelle P (x|Θ, y) est une distribution gaus- sienne,N µ, Q−1, dont la matrice de pr´ecision Q (i.e., l’inverse de la matrice de covariance) est

donn´ee par

Q= HtR−1y H+ R−1x , (4.2)

et sa moyenne µ est telle que

Qµ= HtR−1y (y− µy) + R−1x µx. (4.3)

On peut constater que la matrice de pr´ecision Q d´epend des hyperparam`etres Θ `a travers Ry et

Rx, ce qui induit une variation de cette matrice tout au long des it´erations de l’algorithme de

4.1. ECHANTILLONNAGE GAUSSIEN EN GRANDE DIMENSION 57

4.1.2 Echantillonnage gaussien

L’approche classique pour la g´en´eration de vecteurs al´eatoires gaussiens [Wold 48,Scheuer 62] consiste `a (1) calculer la factorisation de Cholesky de la matrice de covariance R = LrLtr, (2)

g´en´erer un ´echantillon x = R(Qµ) + Lrω, avec ω ∼ N (0, I). Or, l’´equation (4.2) ne donne pas

la matrice de covariance. Pour ´eviter l’inversion matricielle, la solution propos´ee par [Rue 01] est de r´ealiser la factorisation de Cholesky de la matrice de pr´ecision Q = LqLtq et de calculer

x= L−t

q L−1q Qµ+ ω



. Cette derni`ere ´etape est moins couteuse car elle consiste en la r´esolution s´equentielle de deux syst`emes d’´equations triangulaires. Mais ces approches fond´ees sur la fac- torisation de Cholesky n´ecessitentO(N3) op´erations si la matrice n’a pas de structure sp´ecifique,

ce qui les rend infaisables en grande dimension. Il est vraie que si la matrice Q (ou R) poss`ede une structure particuli`ere, la factorisation peut se faire avec un co ˆut r´eduit : O(N2) lorsque Q

est Toeplitz [Trench 64] ou encoreO(N log N) lorsque Q est circulante [Geman 95]. Les matrices sparses se factorisent aussi avec un co ˆut r´eduit. C’est d’ailleurs ce qui a motiv´e la proposition de Rue [Rue 01]. Cependant, mˆeme dans le cas favorable, une telle factorisation reste toujours une op´eration lourde `a r´ealiser `a chaque it´eration de l’´echantillonneur de Gibbs.

Une autre approche, appel´ee Perturbation-Optimization [Orieux 12] (appel´ee aussi Independent Factor Perturbation dans [Papandreou 10]), consiste `a simuler un ´echantillon η∼ N (Qµ, Q), puis `a retenir la solution du syst`eme Qx =η comme r´ealisation du vecteur gaussien. On peut v´erifier ais´ement que le nouvel ´echantillon est distribu´e selonN µ, Q−1. On retrouve la mˆeme strat´egie

dans les travaux de [Lalanne 01,Tan 10,Bardsley 12].

Bien que la simulation de η soit tr`es facile dans le cadre de probl`emes inverses lin´eaires, le probl`eme li´e au co ˆut de calcul ´elev´e reste toujours d’actualit´e car la complexit´e de la r´esolution exacte du syst`eme est identique `a celle de la factorisation de Cholesky. C’est pourquoi ces mˆemes travaux pr´econisent de retenir une solution tronqu´ee de ce syst`eme Qx =η en employant un algo- rithme de gradient conjugu´e lin´eaire avec un nombre r´eduit d’it´erations (Jk << N ). Cependant,

l’effet de cette troncature en termes de convergence vers la loi cible n’a pas ´et´e ´etudi´e.

La premi`ere contribution de ce travail consiste `a mettre en ´evidence que cette troncature empˆeche la convergence vers la loi cible et de proposer l’incorporation d’une ´etape d’acceptation-rejet peu co ˆuteuse r´etablissant la convergence. Pour cela, l’´echantillonnage gaussien est formul´e dans le cadre des m´ethode fond´ees sur les m´ethodes MCMC `a sauts r´eversibles [Green 95,Waagepetersen 01] `a dimension invariante. La seconde contribution est d’analyser l’efficacit´e statistique de cet al- gorithme afin de d´evelopper une strat´egie de r´eglage adaptatif du niveau de troncature de la r´esolution du syst`eme lin´eaire de sorte `a optimiser le co ˆut de calcul de l’´echantillonneur.

58 4.2. M ´ETHODE MCMC `A SAUTS R ´EVERSIBLES