Enseignement 2024-2025 : Génération de données en IA par transport et débruitage
Séminaire du 5 mars 2025 : Méthodes de guidage pour la contrôle de génération par modèles de diffusion
Intervenants :
Éric Moulines, professeur à l’École Polytechnique
Badr Moufad, CMAP
Retrouvez les enregistrements audios et vidéos du cycle :
https://www.college-de-france.fr/fr/agenda/seminaire/generation-de-donnees-en-ia-par-transport-et-debruitage
Chaire Sciences des données
Professeur : Stéphane Mallat
Retrouvez tous ses enseignements :
https://www.college-de-france.fr/chaire/stephane-mallat-sciences-des-donnees-chaire-statutaire
Le Collège de France est une institution de recherche fondamentale dans tous les domaines de la connaissance et un lieu de diffusion du « savoir en train de se faire » ouvert à tous.
Les cours, séminaires, colloques sont enregistrés puis mis à disposition du public sur le site internet du Collège de France.
Découvrez toutes les ressources du Collège de France :
https://www.college-de-france.fr
Soutenir le Collège de France :
https://www.fondation-cdf.fr/faire-un-don
Suivez-nous sur :
Threads : https://www.threads.net/@collegedefrance
Bluesky : https://bsky.app/profile/collegedefrance.bsky.social
Facebook : https://www.facebook.com/College.de.France
Instagram : https://www.instagram.com/collegedefrance
LinkedIn : https://fr.linkedin.com/company/collègedefrance
[Musique] [Musique] alors on va avoir une présentation par Éric Mouli Eric qui est professeur à l’École polytechnique c’est un des grands experts internationaux autour d’abord de tous les modèles de de chaînne de Markov donc compris processus de de Langevin dont j’ai un peu parlé au début du cours et puis le lien avec l’intelligence artificielle avec un passer en traitement du signal à l’époque les algorithmes qu’on entendait pour faire de la synthèse de la voix avait été produit notamment par des travaux d’éic donc un très large panel de de de de de résultats de recherche et on a la chance aujourd’hui qu’il nous fasse cette présentation sur les problèmes inverses en lien avec les algorithmes de score diffffusion qu’on a présenté pendant cette la première partie du cours voilà merci beaucoup Éric pour ta présentation ben merci Stéphane de m’avoir invité dans un cadre aussi prestigieux c’est un grand honneur je connais Stéphane depuis on se connaît depuis 45 ans donc voilà c’est plaisir de l’écouter ce matin sur des sujets que je connaissais assez bien j’avais des réponses à toutes les questions mais j’ai pas lever la main j’aiété très sage voilà donc je vais vous présenter des travaux là que l’on fait actuellement donc avec toute une équipe à l’École polytechnique dans le cadre d’un notamment d’un d’un gros contrat que l’on a avec une société qui s’appelle tight qui finance à peu près tout tout tout tout ce travail là donc avec Alain Durmus qui a lunur à moi qui a dû parler l’année dernière ici Lisa Bedin qui est qui va soutenir sa thèse qui a travaillé plutôt s les problèmes de cardiologie Gabriel cardoo qui est aujourd’hui professeur à au MIN donc Yaz Janati qui finit son postdoc avec moi Badre moufade qui va parler tout à fait à la fin de ce cours et qui vous fera un focus sur les dernières méthodes que l’on a développé en particulier sur des problématiques de restauration d’images et de séparation de sources syvin lecorf qui est professeur à la Sorbonne et donc un ancien postdoc enfin de d’ y a 20 ans avec qui je collabore toujours qui est professeur aujourd’hui à Stockholm KTH voilà donc de quoi on va parler aujourd’hui on va parler donc exposer à deux voix je vais commencer à vous expliquer un petit peu ce que l’on fait euh et puis effectivement comment c’est relié à ce que vous a au travaux que vous a présenté Stéphane euh donc on travaille nous sur des problèmes de de di générative mais avec un peu disons une couleur un petit peu particulière parce qu’on s’intéresse à des problèmes effectivement comment utilise l générative euh pour résoudre des des problèmes inverses bon vous êtes vous avez déjà eu des vous avez déjà été exposés à ce que c’est que générative donc je vais pas effectivement faire des parlerit beaucoup mais donc vous partez effectivement d’ d’un très très très très grand ensemble je vais utiliser essentiellement l’image comme comme véhicule enfin pour illustrer effectivement ce que je vais raconter faut savoir que c’est pas on n’est pas nécessairement très intéressé par l’image je suis pas du tout un spécialiste traitement d’image Stéphane a fait beaucoup plus que moi mais il s’avère qu’aujourd’hui effectivement c’est le c’est c’est pour pour prototyper les algorithmes on est obligé d’en passer par là on a fait d’autres applications qui sont à mon sens plus originales donc en particulier on a fait beaucoup d’applications médicales sur les problèmes d’électrocardiographie euh on fait aussi des applications euh à d’autres domaines notamment au problème de séparation de sources pour des données musicales ou des données audio voilà donc euh on part de de dans un problème d’ génératif ben on parle d’un ensemble de données qui est très très grand euh ces données sont appartiennent sont distribuées suivant une certaine distribution donc pa d’A qui est inconnu et puis en fait en gros l’idée effectivement des modesj génératif c’est de dire en fait ces données c’est une réalisation de d’une certaine loi de probabilité loi de probabilité qui vaement extrêmement complexe puisquon a besoin on va représenter des données qui sont des données en très très grande dimension qui ont des structures en fait qui sont extrêmement complexes parce que une image en fait c’est quelque chose qui est un objet qui est extrêmement complexe c’est des textures il y a de la géométrie il y a des relations spatiale il a il y a il y a des symétries enfin il y a plein de choses qui sont compliquées et donc on va apprendre effectivement on va apprendre à générer effectivement ces distributions là et on va apprendre à partir justement de ces données et nous en fait on va se servir effectivement de cet apprentissage pour résoudre des problèmes inverses al qu’est-ce que c’est qu’un problème inverse on se dire B voilà on a on a une image mais cette image en fait on va pas l’observer directement on va l’observer de façon indirecte on va l’observer dans les exemples classiques on va voir on va observer simplement une partie de l’image on va on va observer une image dégradée une image bruitée une image dont on a simpleement dont on observe simplement quelques pixels on observe on peut observer la moitié de l’image on va observer simplement quelques pixels et la question qu’on va se poser c’est comment effectivement à partir de cette observation partielle de l’image on va être capable de reproduire et de ces modèles génératifs on va être capable de reproduire l’image complète voilà donc on va se poser des problèmes de c’est typiquement un problème inverse dans dans lequel on va avoir donc une observation donc une image partiellement observée on va avoir de l’autre côté on va avoir un modèle génératif et puis on va chercher à échantillonner euh les observations conditionnellement euh au euh les observations conditionnellement donc au au aux observations on va on va échantillonner ces imageslà sont des échantillons suivant la loi à postériori de l’image conditionnellement à son observation voilà donc comment on va faire ça et bien on va d’abord on va chercher à approcher donc la distribution des données par un modèle génératif donc P datata on va chercher à l’approcher par un modèle ptta donc là je vais essentiellement décrire il y a beaucoup de façons de faire surtout en image là je vais essentiellement décrire de façon un peu abstraite ENF de certains toute façon auut niveau sans rentrer dans des détails d’implémentation la façon dont on le fait avec des modèles dit de diffusion en fait on utilisera plutôt des modèles de diffusion dit stable mais on va je vais pas décrire ce domaine de complexité supplémentaire donc ça va ê des modèles de diffusion on va faire des ce qu’on appelle diffusion score base on va pas aller jusqu’à des modèles de diffusion dit stable en fait en particulier on fait desusions stable donc on va choisir cette cette C de tels modèles diffusion on va les apprendre ces modèles de diffusion on va les apprendre donc je vais assez rapidement repasser sur les problèmes d’apprentissage vous avez vous avez déjà été exposé à ce à ce type de de d’algorithme je vais insister sur la la façon de l’apprendre de façon plutôt variationnel parce que c’est la la structure en fait qu’on va utiliser dans les modèles on on utilise pas dans le dans les dans les modèles de dans les résolutions des problèmes inverses on utilise on va plutôt utiliser la formulation varationnelle on va utiliser la formulation discrète plutôt que d’utiliser la formulation continue bon après je pour j’expliquerai effectivement il y a il y a des liens entre les deux hein de toute façon c’est totalement évident donc je vais plutôt insister disons sur la façontion l’apprentissage variationnel effectivement de ces modèles là donc ça c’est la la partie modèle génératif B sur lequel n on a aucune contribution là c’est simplement ça va être on va je vais vous raconter effectivement ce que la faç dont ça se passe et ensuite et bien ce qu’on va faire c’est qu’on va une fois qu’on a ce modèle génératif donc que j’appelle ptta star ou PT le le Star dit com on a appris effectivement ce paramètre à partir des distributions et bien on va avoir effectivement on a une autre fonction qui est cette fois GX qui est GX va être un potentiel et au lieu de au lieu de chercher échantillonnner effectivement la la suivant le modèle génératif qui se répét t star on va on va échantillonner suivant un potentiel qui est le modèle génératif mais qui est biaisé si on voulait si on avec on va multiplier effectivement la loi du modèle génératif on va la multiplier par effectivement un un potentiel dans le cas effectivement des problèmes inverse ce potentiel ça va être une vraissemblance donc on va avoir une observation y euh et on va avoir une vraissemblance d’observation y étant donné x d’accord euh il y a il y a plein plein d’autres problèmes d’ailleurs qu’on peut adresser de la même façon dans lequel on vair un modèle génératif et puis on va chercher effectivement ici on va chercher effectivement ici avoir un potentiel qui va favoriser effectivement les productions de certains vous vous cherchez à à biaiser en fait votre modèle génératif pour pour produire en fait certaines parties de la distribution donc je je je on le donne pour l’image procur sampling à l’origine on faisait énormément de pour à Sing mais on s’est rendu compte après que c’est très très utilisé aujourd’hui dans les dans les dans plein d’autres modèles génératifs pour les diffusions et aujourd’hui aussi dans les si on veut en fait rlhf ça fait partie de ces idées là enfin il y a beaucoup beaucoup de choses qui sont liées à cette idée où on a un modèle génératif et puis on va rajouter une couche au-dessus du modèle génératif pour biaiser effectivement les productions du modèle génératif ben nous on les biaèise effectivement dans les problèmes inverses on va biaiser cette production on va la biaiser en fonction de la vraisemblance effectivement des observation conditionnelle au euh aux aux observations voilà donc je vais je vais commencer donc une dizaine de minutes à expliquer effectivement comment on apprend ces modèles de diffusion vous êtes tous plus ou moins au courant d’ailleurs mais bon ça vaut quand même le coûp de de rappeler rapidement comment on fait donc dans ces mod de diffusion en fait on on fait quelque chose qui est assez euh qui assez original qui consiste effectivement à à prendre une observation à prendre observation et à perturber l’observation donc dans les modèles de diffusion la façon dont on perturbe l’observation on la perturbe en ajoutant effectivement des bruits ça semble paradoxal quand on voit le mal qu’on se donne ensuite pour restaurer des sinous à partir du bruit hein donc mais effectivement vous expliquez voilà donc là on prend une image effectivement on va prendre des images effectivement dans le dans TR apprentissage et puis on va ajouter progressivement du bruit et euh alors et donc on va obtenir donc une suite effectivement de d’objets qui sont effectivement des images bruitées qui sont distribuées suivant des des des distribution qui sont des distribu la distribution des données qui a été progressivement effectivement perturbé par du bruit et et à la fin ben le on aura rajouté tellement de bruit que les images auront plus ou moins disparu et qu’on aura effectivement euh on aura à la fin une une simplement un grand bruit Gaien euh et voilà on a on est parti de l’image on a rajouté du bruit et puis le niveau de bruit est devenu tellement fort qu’à la fin on voit plus que du bruit et ce qu’on va apprendre effectivement c’est justement le processus inverse c’est qu’on va apprendre effectivement la façon de de partant de partant d’un bruit on va apprendre la façon effectivement de régénérer l’image bon et donc c’est effectivement la la partie générative effectivement de des diffusions c’est justement cet apprentissage du c’est l’apprentissage de ce processus backward de processus dans lequel on va être capable de restaurer effectivement les imag à partir du bruit donc si on est un tout petit peu plus si on rentre un petit peu plus dans les détails de la de de la l’algorithme donc vous partez avec on part avec une distribution qui est X0 donc qui est distribué suvant q0 qui est la distribution des données et puis on définit en fait une chaîne de Markov la chaîne de Marco effectivement va créer à partir de X0 vous allez créer des variables aléatoires X1 X2 xn et ces variaable aléatoire se définissent une chaîne donc vous allez définir à chaque étape de à chaque pas de temps vous définissez un noyau de transition noyau de transition forward ou progressif direct qui qui donne effectivement conditionnellement à la loi de x2k conditionnellement xk-1 et vous êtes aussi capable d’écrire effectivement à partir de ces opérateurs de transition la loi euh jointe de l’observation donc de tous les instances bruité donc X1 xn conditionnellement X0 simplement comme étant la production le produit effectivement des noyaux de transition progressif d’accord alors justement le le truc qui est assez extraordinaire dans les diffusions c’est un tout petit peu plus compliqué alors pour les images on fait des choses qui sont relativement simples sauf si on fait des diffusions stables dans ce cas-là on fait des choses plus compliquées mais quand on fait disons la la partie disons la diffusion élémentaire en image on fait des choses très simples la chose très simple qu’on fait c’est que le processus de diffusion enfin les processus forward typiquement on prend un processus gasien c’est-à-dire que le noyau transition euh le noyau transition progressif et est simplement un noyau Gaien ça c’est un processus autorégressif dans lequel on va prendre la donnée XK -1 là le pointeur il plus marcher bon c’est pas grave vous prenez XK -1 vous le multipliez par un certain facteur donc r√ 1- bet k beta k typiquement est plus petit que 1 donc 1- bet K c’est quelque chose qui est plus petit X0 vous contractez un petit peu XK -1 et vous rejoutz du bruit d’accord et puis Betak vous allez c’est c’est des hyper paramètres et c’est pas extraordinairement compliqué c’est hyper paramètres qui sont bon typiquement il faut prendre des des des schémas qui sont pas général on prend pas constant mais enfin on fait des schémas qui sont relativement simple bon c’est plus compliqué quand on veut quand on travaille sur des de la de la musique ou de la parole on va faire le processus forward on va si on si on prend un signal musical ou si on prend un signal de parole effectivement on va pas bruiter simplement le signal parce que le signal il a il a tellement de structure euh si on bruite les basses fréquences et l’autre fréquences de la même façon dans le signal de parole ça va pas marcher très bien parce qu’il y a des des il y a des facteurs il y a des facteurs spectraux qui sont très très importants donc on va faire des choses un petit peu plus sophistiquées que ça mais en image qui ça c’est extraordinaire c’est qu’on fait pas des choses beaucoup plus compliquées que ça on on utilise directement ces noyaux-l et puis euh donc l’avantage des noyaux gasien c’est que les calculs sont extraordinairement simples si vous êtes capable en particulier de calculer ce que quelle est la loi conditionnelle de x2k sachant X0 donc euh pe un petit peu de notation ici a un peu d’équation qui pe pas s’effrayer quand même ça reste relativement simple si vous êtes capable de dire effectivement si X de K c’est c’est l’image après 4 K étape de britage vous connaissez sa loi vous connaissez la loi de x2k sachant X0 ça sera aussi une loi gaussienne la loi gaussienne elle va être elle va être fabriquée de la façon suivante elle va avoir une moyenne sa moyenne ça va être X0 affecté par un facteur ce facteur ça va être le produit effectivement des 1- betk les 1- betk c’est son précisément les les facteurs que vous avez appliqué sur chaque noyau forward et on voit bien effectivement que grâce à ces qu quand on regarde effectivement la progression au cours du temps ben ce facteur alpha baren il va comme comme à chaque étape effectivement vous atténueer effectivement le signal utile et vous rajoutez du bruit bien à la fin des fins qu’est-ce qui va se passer bien le signal utile à la fin des fins vous l’avez complètement éteint et vous avez simplement ajouté du bruit ce qui fait qu’à la fin la loi qn après n étape de bruitage vous avez une loi qui a à peu près la loi gaussienne avec une convariance identité ok donc ça c’est la partie la partie simple qu’est-ce qu’on va faire effectivement dans pour le débruitage et bien on va on va apprendre effectivement euh on va apprendre effectivement un processus de débruitage donc on va apprendre à débruiter le signal et pour débruiter le signal ben on va se dire ben on va appliquer des noyaux on va appliquer des noyaux rétrogrades ces noyaux rétrogrades ça ça va être on va aussi prendre des noyaux goien simplement prendre des noyaux goiens dont la moyenne et la covariance sont non linéaires donc aujourd’hui on va faire très simple donc on va on va pas s’inquiéter beaucoup de la covariance en fait on pourrait s inquiéter on pourrait s’inquiéter de la covariance pour les images en fait ce n’est pas crucial ça peut être c’est crucial pour d’autres signaux c’est pas crucial de s’intéresser à cette matrice de Cance Sigma k donc la seule chose qu’on fait c’est que le noyau backward le noyau backward ce sont des noyaux gausiens ok donc vous êtes backward c’est vous êtes rétrograde en temps c’est cette fois vous connaissez X de K et vous vous allez chercher à échantillonner XK -1 ce sont des noyaux gatiens c’est des noyaux gatiens avec une moyenne cette fois cette moyenne mu k de thêta de X de K ça va être une c’est une fonction non linéaire OK et c’est tout le principe d’apprentissage ça va être d’apprendre cette fonction nonlinéaire donc on peut apprendre les les les moyennes on peut aussi apprendre les matrices de covariance et donc la façon une fois qu’on aura appris effectivement ces moyennes ces covariances et donc ça c’est le principe de il y a de de des des méthodes génératives bien vous allez la façon dont on va générer de nouvelles images c’est vous allez effectivement échantillonner x2n suivant la loi de référence donc typiquement une loi gaussienne corance identité et vous allez effectivement produire euh récursivement en temps euh en temps rétrograde c’est en passant de XN pu vers xn -1 puis jusqu’à X0 vous allez euh échantillonner ces échantillons à partir de ce noyau rétrograde donc qui sont des noyaux gaussiens avec ses moyennes non linéaires alors les calculs sont un petit peu plus compliqués euh il faut faire attention parce que les puisque les les les moyennes voir les covariances sont non linéaires effectivement les compositions de ces noyaux c’est plus noyaux gaussien puisque vous avez des moyennes non linéaires donc cont c’est un petit peu plus sophistiquer que le le processus le processus direct et donc là je juste juste pour comprendre cette image qui est prise dans le papier de haut qui a fait le tour du monde ce euh vous prenez le le le processus dans le dans la phase dans la phase directe ce que vous faites c’est vous prenez l’image et puis vous ajoutez progressivement du bruit jusqu’à détruire complètement l’image et à garder du bruit dans la phase rétrograde qu’est-ce que vous faites et bien vous vous partez du bruit et vous vous revenez sur les observations en appliquant récursivement le débruitage alors comment on fait pour apprendre le débruiteur bon on apprend le débruteur par une méthode typiquement on pourrait faire du maximum de vessemblance hein c’est semble pas ridicule simplement la vra observations se calcule pas bien donc qu’est-ce qu’on va faire si on sait pas on pourrait bon on a une forme paramétrique effectivement de la du BIR donc on pourrait apprendre et on a la loi donc on pourrait simplement apprendre on pourrait apprendre effectivement la vraissemblance simplement la loi de ptta de X0 c’est une loi marginale donc on a on n pas réellement la loif enfin on a implicitement la loi de X0 mais on a la loi de X0 comme l’intégrale effectivement c’est on ginalise on obtient la loi de X0 comme la marginale par rapport à une loi étendue ça c’est un truc ultra classique en en statistique bisienne ce qu’on appelle l’augmentation de données donc l’augmentation de données ça a fait j’ai fait toute ma vie en du MCMC donc je fais plus de MCMC j’ai les 10 dernières années j’arrête je me suis découragé mais c’est vraiment une technique très très classique en MCMC de rajouter des données c’est ce qu’on fait ici on rajoute des données mais la loi qui vous intéresse c’est X0 non mais mais et donc la loi la la den la vraie vous avez une vraissemblance bah la vrai semblance ça serait liée à la loi de X0 la loi de X0 vous l’obtenez en marginalisant X0 par rapport à X1 xn mais comme je l’ai dit c’est un chouya compliqué parce que X0 quand vous avez marginalisé par X1 xn vous avez à marginaliser avec ce produit de noyau ce produit de noyau est non linéaire donc ce produit de noyau non linéaire il va pas c’est il a pas une expression analytique hein parceque vous avez ces moyennes ou et ces covariantes sont non linéaires donc c’est quelque chose qui est assez compliqué donc on va pas faire comme ça donc ce qu’on va faire c’est qu’on va faire on va faire une méthode dans lequelle on va au lieu de maximiser la vraiemblance de l’observation bah ce qu’on va faire c’est qu’on va on va maximiser une quantité qui est un proxy de laavement observation qui s’appelle l’évidence overband et comme en fait en machine learning on maximise pas mais on minimise donc on on on va minimiser la négateur de la cood et je vais minimiser la négateur de la cood par une borne supérieur qui est la negated évidence overband euh donc en général il faut dans la la la littérature classique de disons de de de d’inférence baaisienne on a plutôt on minimise en fait on a une borde inférieure sur sur la vraissemblance et cette be inférieure c’est l’évidence lower band c’est pour ça c’éit lower band parce qu’en fait on est plutôt en train de minorer mais comment machine learning on minimise on on neg la lacklywood et on neg la la elbo donc on a une bande supérieure sur la neg lacklywood voilà et donc du coup cette évidence auerband c’est c’est simple calcul c’est Jensen en fait c’est il y a rien de très très compliqué euh donc ça c’est la base en fait de tout ce qu’on appelle l’approximation varationnelle donc l’idée c’est la l’idée c’est la suivante c’est pas très compliqué vous avez une loi qui elle est très simple d’accord qui va être votre loi euh votre loi euh votre loi q0 q1n elle est très simple parce que c’est une loi gausienne en fait ce qui apparî au dénominateur c’est une loi gaussienne vous intégrez par rapport à ça donc elle se calcule de façon totalement explicite et vous allez maximiser effectivement au lieu de maximiser la vraie semblance vous allez maximiser enfin au lieu de maximiser la Vance vous allez maximiser la quantité qui apparaît à droite ou ou de minimiser la négate la glood vous allevez minimiser la nég d’Elbo la nég d’Elbo en fait vous donne effectivement une borne de la une borne de la vraisemblance ok euh donc c’est lié en fait qu’est-ce qu’on cherche à faire on peut le voir aussi de la même façon ça revient à regarder vous avez la loi de q1n 0 sachant x1n on va minimiser en fait la la divergence de cubacblur entre la loi conditionnelle de x1n et de conditionnellement X0 et la loi en fait de XN condition X0 sous le modèle le modèle reverse donc vous avez deux vous avez deux modèles et dans les deux cas effectivement vous allez chercher à trouver en fait les valeurs du paramètre qui sont telles que les lois conditionnelles vous allez minimiser en fait la la divergence de culbac sur ces lois conditionnelles donc voilà on a un problème d’optimisation qui est bien qui est bien qui est bien bien spécifié euh donc après il y a une façon très très simple d’écrire effectivement c’est cette cette le Warband donc comment on va faire on va écrire effectivement la la la loi de x1n conditionnellement X0 donc ça c’est des lois gaussiennes et en fait il y a une comme toutes les chaînes de Markof en fait sont réversibles vous pouvez déjà inverser cette chaîne de Markof donc vous pouvez écrire la la loi de q1n sachant 0 de x1n sachant X0 vous pouvez l’écrire c’est c’est c’estécrit c’est vraiment une chaîne de Markof et vous pouvez absolument l’inverser donc vous l’inversez conditionnellement et dans ce cas-là tout t les inverses sont ces noyaux là sont totalement explicites vous êtes conditionnement X0 vous avez des noyaux gaussiens donc vous vous savez calculer exactement les noyaux backward dans le cas gasien conditionnement X0 vous êtes entièrement gasien donc vous savez calculer no backward et une fois qu’on a écrit tout ça très proprement on va se rendre compte que cette cette lower band sécrit façon trs simple à ce moment-là entre comme la distance KL entre les lois conditionnelles backward et forward donc vous allez avoir à intégrer en fait l’espérance vous allez faire l’espérance q0n entre la les lois Bard donc Q Q qk- 1 K0 de XK X0 et les lois de P th k- 1 k donc la loi que vous cherchez à apprendre sachant X de K donc vous allez vous allez voir à minimiser cette quantité là fa faire faire les calculs au tableau pour que ça soit plus clair mais c’est pas très très compliqué donc vous avez ces lois forward et ces lois backward les lois forward effectivement euh les les lois forward tiens il y a un T c’est un K les lois forward sont se calculle de façon touttalement explicite et ces lois backward s’écrivent aussi de toute façon du coup ces distances KL peuvent s’écrire comme des distances KL entre entre loi gausienne et ce que vous allez remarquer c’est que qu’est-ce que vous allez faire en fait ça s’interprète très facilement à condition de prendre de bien chois isir effectivement la covariance si vous choisissez bien la covariance vous allez pouvoir écrire les choses de la façon suivante vous allez vous rendre compte que votre problème d’optimisation ce que vous allez faire c’est que vous allez chercher la la K en fait entre la loi backward donc qk-1 sachant K0 et pk-1 k de thêta s’écrit dans cette façonl comme la distance en fait entre la les la loi mutile multile de K de XK X0 et mul k de X de K donc vous allez vous allez matcher en fait ces ces deux ces deux quantités et donc on obtient à la fin des fins comme critère vous allez obtenir quelque chose qui est très simple vous allez en fait vous allez euh vous allez avoir à calculer pour identifier effectivement les moyennes de ces lois backward vous allez avoir à identifier à à minimiser le critère suivant le critère dans lequel vous allez chercher à prédire en fait X0 en fonction de x de K et donc le la minimisation en fait des distances KL va se ramener effectivement à chercher à calculer des débruiteurs donc vous allez vous retrouver à résoudre en fait un problème de débruitage comment on interprète effectivement cette espérance là ben cette espérance là vous la calculez en prenant euh vous allez vous avez vous allez calculer souvent la loi jointe en fait de q0 qui est la loi de votre observation et la loi du bruit et euh qu’est-ce que vous cherchez à faire ben vous allez avoir vous vous offrez X0 vous montrez en fait à votre prédicteur vous montrez le X0 bruité d’accord c’est ce qu’on voit ici là vous voyez c’est le X0 bruité qu’on voit ici donc vous lui montrez effectivement le X0 avec du bruit et vous allez lui apprendre effectivement il va falloir qu’il apprenne ce fameux prédicteur là c’est le même prédicteur que Stéphane vous a montré tout à l’heure là en fa simplement on va faire un grand unet en fait on va pas faire des ondelettes hein je dis Stéphan il nous vend des choses très très anciennes là des ondelettes du seuillage donc on va faire chose qui est plus compliqué on va prendre ce grand unet et ce unet va nous apprendre justement à débruer euh à débruiter ces images et c’est en apprenant à débruiter ces images que vous allez donc apprendre justement les bonnes moyennes qu’il faut appliquer sur ce n backw al après on peut se poser si on commence même à regarder ça on pourrait se dire tiens ce truc un peu miraculeux ça provient du ça provient d’un choix particulier même quand on se pose effectivement ce problème d’infférence variationnelle on pourrait se dire tiens il y a un truc un peu miraculeux euh parce qu’on on résout le problème en simplement résolvant vous résolvez le problème le problème de minimisation de l’elbo de maximisation de l’évidence ruberband quand vous maximisez l’elbau ça revient à minimiser cette distance là mais simplement parce qu’on a pris une forme particulière pour la covariance sigma4 tat de XK on a pris effectivement cette forme particulière ce qui est un peu bizarre quand on réfléchit à à ce qu’on fait un chou bizarre on aurait d’autres chose si on prenait d’autres covariances donc on pour imaginer même en prenant effectivement cette formation variationnelle si on se disait bah tiens qu’est-ce qui se passe si on prenait par exemple si au lieu d’apprendre que la moyenne on apprenait une covariance ben on aurait effectivement d’autres d’autres algorithmes ça serait pas directement le le ça serait on aurait le critère qu’onimiserait ça serait pas du débruitage pur sucre c’est que là effectivement on fait du débruitage pur sucre avec une norme L2 on aurait du débruitage dans d’autres normes et puis on aurait un problème optimisation qui est un petit peu compliqué bon ça comme ça marche très bien les gens sont pas posé ce genre de questions en fait même même quand on F noralise en fait quand on regarde le problème de débruitage à cette échelle là on pourrait se dire tiens après tout il y a des choix qui ont été faits qui auraiit pu être des choix totalement différents voilà don en fait donc c’est ce critère là qui est qui est le plus commun utilisé dans ce qu’on appelle les les méthodes de diffusion et donc en fait en gros ce qu’on ce que ça revient à faire c’est que en fait on fait quelque chose même qui est un peu différent de ce qu’on fait c’est qu’on prédit pas réellement le signal ce qu’on cherche à prédire c’est le bruit bon ça c’est un tout petit détail technique par qu’en faiton cherche à pr dire ce qui est le bruit c’est en fait ce qu’on fait le critère qu’on optimise mise réellement c’est ce critère là c’est totalement équivalent c’est une forme d’écriture dans lequel effectivement ce que je vous donne c’est je vais vous donner je je vais prendre un échantillon de bruit Epsilon je ne le révèle pas je prends dans ma base de données je prends un X0 je calcule effectivement racine alpha bark X0 + 3 Epsilon et et et je cherche à dire ben quelle fonction Epsilon chapeau thêta je dois apprendre pour pouvoir être capable de prédire ce bruit voilà donc vous faites vous vous cherchez à prédire c’est prédire je vous donne un niveau de bruit vous êtes capable vous allez chercher à prédire le bruit qui a été rajouté à l’image plutôt que de prédire l’image elle-même pu en fait vous construisez l’image de la même façon une fois que vous avez le bruit vous êtes capable de renir l’image fait ce problème là est beaucoup beaucoup mieux en terme de de machine learning ce problème là est beaucoup mieux posé en fait il beaucoup plus facile c’est le problème effectivement qui est résolu quand on résout ces problèmes de diffusion je suis extrêmement bavard voilà donc scorebase génétive model comment c’est lié à tout ça c’est la présentation été fait par Valentin tout ça vous savez tout c’est bon c’est bon excellent donc c’est très bon donc les Rivers format comment tout ça se passe très bien tout ça est lié effectivement à tout est lié effectivement à ces problèmes de de de de de score donc on va retrouver effectivement le score et alors juste vous êtes savant effectivement le quand on regarde effectivement ces deux formulations des DPM et sur des probulations de score le le il y a un match entre les deux basiquement parce que dans dans l’approximation variationnelle dans la forme variationnelle qu’est-ce qu’on fait dans l’approximation variationnelle ben en fait on on fixe effectivement cette covariance et si on fixait pas la covariance effectivement on aurait d’autres approximations on aurait d’autres problèmes qui se posent en fait en particulier il a un truc qui est très curieux mais bon c’est pas j’ai pas eu le temps de regarder de très près si ça change vraiment quelque chose il y a un truc qui est très curieux c’est qu’on on se pose et ça comme un traiteur de signal par que dans mon âme de traiteur de signal ça c’est assez perturbant c’est qu’en fait effectivement on on calcule un problème de débruitage L2 quoi on on se raisonne on fait on fait du calcul on fait du débruitage L2 alors qu’on a des objets qui sont pas quand on a un signal qui est par exemple un signal de parole ou un électrocardiogramme il a un contenu spectral qui est extrêmement riche ok donc en fait c’est pas forcément une super idée de faire du pur L2 voilà donc il SV qu’en image effectivement les gens sont pas posé ces problèmes de façon très importantes en fait on se rend compte effectivement sur d’autres types de signaux que le cette cette espèce d’analogie que l’on fait sur le le ddpm et sur les diffusions c’est lié en fait à un choix assez particulier qui est fait sur les covariance en fait on fait le choix de pas s’intéresser aux covarian ce choix de pas s’intéresser aux covarian il est euh disons assez raisonnable en image il est peut-être pas extrêmement raisonnable sur d’autres types de signaux et c’est pour ça que les gens font plutôt des cuisines quand on fait quand on applique les modèles de diffusion sur de la parole sur de l’audio les gens font plutôt des cuisines parce qu’en fait on sa c’est c’est une des raisons pour lesquelles ces méthodes là marchent très bien en image il faut les adapter quand on travaill sur d’autres types de signaux ok euh maintenant qu’est-ce qu’on fait quand on fait du postéur sampling alors postéur sampling j’espère que c’est plus original qu’est-ce qu’on fait quand on fait du postur samping donc le problème qu’on se pose c’est le problème suivant cette fois vous avez vous avez une observation y cette observation y c’est un certain opérateur donc l’opérateur a qui est ce qu’on appelle l’opérateur forward dans les problèmes inverses cet opérateur là est en général inconnu qu’est-ce que vous cherchez à faire et vous rajoutez du bruit donc que le bruit soit additif ou pas additif c’est pas c’est pas essentiel je j’ai j’ai mis du bruit additif c’est pas forcément le le bruit pas additif on a des exemples de de de problème de restauration quand on fait des bruits poissonien effectivement c’est pas les structures de bruit sont pas additif c’est pas c’est pas essentiel mais c’est juste pour des raisons de simplicité donc vous avez un opérateur vous rajoutez du bruit et qu’est-ce que vous cherchez à faire vous cherchez àonstruire x conditionnellement à y d’accord donc typiquement le problème c’est étant donné effectivement y est observé vous vous allez avoir une certaine loi sur X bah cette loi sur X vous allez prendre comme par hasard vous allez prendre justement une loi obtenue par votre modèle génératif et vous allez chercher à quoi faire vous allez chercher à échantillonner x conditionnement y donc le le problème très très classique c’est le problème de restauration à partir d’une observation incomplète donc vous prenez ici une image cette image vous observer vous avez un opérateur qui efface en fait la moitié des pixels et qui rajoute du bruit donc la résolution d’image B il a pas niveau de bruit est très faible donc effectivement on voit pas bien mais il y a un peu de bruit rajouté et on va voir effectivement ici vous avez une image que vous vous êtes capable nous ce qu’on récupère ici c’est qu’on va on va chercher justement à échantillonner euh des images qui sont compatibles avec l’observation en fonction du modèle à priori donc là il y a a tout un c’est bon les problèmes invers sont mal posés c’est important d’être capable d’échantillonner parce qu’on veut être capable effectivement de de récupérer d’avoir une idée non seulement d’avoir desonstructions qui sont des cononstructions plausibles mais on va avoir les un certain nombre de cononstruction possi non pas une seule reconstruction mais un certain nombre de reconstruction possible donc c’est ça un petit peu la c’est un petit peu ça l’idée donc les le type de problème qu’on se pose bon c’est c’est Badre va vous en parler plus en détail mais on s’intéresse à des problèmes de denoising dans les problèmes de denoising en fait l’opérateur a c’est simplement X mais simplement vous rajoutez du bruit bon le bruit peut être gasien mais il peut être tout à fait autre chose il peut être ça peut être des bruits enfin les bruits qu’on utilise typiquement en traitement d’image ça peut être des bruits multiplicatifs dans typiquement c’est ce qui se passe quand on fait des l’imagerie poissonnin quand on fait de la restauration d’image effectivement à partir de de de de l’imagerie avec des comptes de poisson donc ça c’est des modèles non ça c’est les modèles qui sont non linéaires c’est pas des bruits qui se rajoutent c’est vous c’est des vous avez des images qui dans lequel vous faites des comptes de pixel et vous restaurez une image de cette façon-là tous les problèmes en fait sur lequels on va qui sont on les utilise en fait parce qu’ils sont spectaculaires qui sont les problèm d’in painting et d’Out painting donc les problèmes d’inpainting out painting simplement ce qu’on prend l’image et puis on on est on efface effectivement on fait des masques et on efface en fait un certain nombre de pixels euh donc et là on cherche à reconstituer effectivement les pixels manquants donc ça c’est spectaculaire c’est pas forcément l’application la plus extraordinaire mais c’est au moins c’est une application spectaculaire il y a un problème qui est très très classique en problème d’image c’est tous les problèmes liés au déburing donc c’est vous cherchez à inverser effectivement le la fonction d’appareil donc la point spread fonctionne donc vous prenez une image et vous êtes capable vous allez chercher à déconvoluer la fonction d’appareil et un autre problème aussi qui est classique en traitement d’image c’est des reconstructions d’imagees à part partir de de de de de a Dex l’opérateur AX c’est un opérateur non linéaire ici puce que c’est vous prenez en fait typiquement un opérateur de Fourier vous faites une image en Fourier mais au lieu d’avoir l’image avec la phase vous prenez au lieu d’avoir simplement la phase et l’amplitude vous gardez simplement l’amplitude effectivement dans le domaine de Fourier ok comment ça comment ça se traduit en fait en terme dans les termes comment combine effectivement ça avec ce que l’on avit raconté précédemment ben on peut le voir effectivement comme un problème baisien dans lequel vous avez simplement un terme qui est un terme de vraissemblance donc vous avez la vraissemblance d’observation conditionnellement la vraisemblance d’observation y conditionnellement à X donc en supposant que vous avez un bruit additif gaussien le terme de ressemblance est connu donc ça va être Y- x car puis vous mesurez ça dans la norme de Y- X vous la mesurer vous divisez par la variance Sigma 2 qui est connu ou inconnu parce qu’en on peut rajouter effectivement d’estimation de paramètres ça c’est pas très très méchant et puis vous allez effectivement vous avez un modèle à priori qui va être q2x donc ça c’est le modèle qui POS qui est produit par votre modèle génératif donc faut faire attention parce que q2x il est pas connu vous connaissez vous savez générer suivant q2x mais vous connaissez pas vous avez pas d’expression de dans les modèles génératifs on n pas accès à q2x donc on n pas accès à la densité du du modèle génératif on s’est engendrer les images suivant ce modèle c’est une subtilité euh et donc qu ce qu’on va ch à faire c’est qu’on va chercher à échantillonner x sachant y c’est qu’on va chercher à échantillonner la loi de X sachant y ben la loi de X sachant y ça va être la loi de l’observation y sachant x multiplié par la loi à priori qx voilà et donc ce qu’on va faire ici c’est qu’on va vous décrire des méthodes en fait qui permettent effectivement de d’utiliser ces modèles donc on va utiliser C les modèles les modèles génératifs de diffusion combiner en fait avec ces modèles de vraessemblance on va utiliser les modèles génératifs comme des lois à priori et on va donc biaiser ces modèles génératifs par les vraissemblances qui sont les vraisemblan observations et on va chercher à échantillonner des X qu’itionellement aux observations bon ce qu’il faut savoir c’est que le fait que ça soit un modèle baisien au fond on s’en fout un peu on a on va simplement avoir un potentiel donc Py sachant x c’est un certain potentiel GX et ça veut dire que on va se retrouver dans cette classe de modèle où on a un modèle génératif qx qui a été appris on a une fonction de reward RX qui est dans ce cas particulier c’est y x une vra qui pourrait être autre chose et qu’est-ce que ça veut dire cette fonction de reward ça veut dire que je vais chercher à favoriser l’apparition dans mon modè génératif je vais d’im enfin ici d’images qui ont des caractéristiques particulières les caractéristiques particulières ici ça va être des images qui sont proches qui sont compatibles par exemple avec l’observation que j’ai faite mais c’est mais ce problème là do s’écrire de façon complèement générale et comme je l’ai dit quand on fait rlhf on fait rien d’autre en fait quand on fait des modèles génératifs de texte mais on cherche à produire effectivement le le toute la sur la superstructure qu’il a au-dessus des LLM de ce qu’on appelle human feedback et tout ça c’est c’est des structures dans lequell on on change effectivement la loi du modèle génératif mais en zé shot c’estàd on change un modèle structure génératif sans changer le modèle génératif lui-même voilà et donc tout ce qu’on fait là en fait c’est effectivement c’est zéro shot au sens o on se dit bon là on a un modèle génératif ben en fait ce qui m’intéresse c’est pas tout à fait produire les choses par le modèle génératif c’est produire je vais prendre modèle génératif et je vais euh rajouter un potentiel pour enrichir effectivement pour favoriser effectivement l’apparition de certaines formes particulières et je vais chercher à échantionner ça alors comment comment on formalise tout ça ben donc du coup on a les les les suspects on a donc la loi d’observation qudata a prise on s’est échantillonné sur cette Toie là hein et on va enfin l’objectif c’est de dire voilà on a GX on a la loi d’observation on va chercher à apprendre à échantillonner donc la la loi G x Q data et la loi GX Q data elle a elle a une constante de normalisation qui est inconnue donc problème très classique en baisien c’est typiquement le problème c’est ce qui est central dans l’estimation bisienne c’est vous avez effectivement une loi Q data qui est connue en vous savez échantillonn cette loi làà vous avez GX qui est un potentiel et vous cherchez échantillonner une loi qui est pi Dex qui est le produit de cette ce potentiel GX multip par Q data et donc il va être divisé par la constante de normalisation Z ok l’énergie libre des physiciens voilà et donc dans ce cas particulier bah on n pas accès directement à qdata mais on accède à qdata on a un proxy on a on a un procédé approché pour pour échantillonner suivant Q datata le procédé approché pour échantillonner suivant Q datata c’est précisément le les le processus de diffusion euh alors il y a il y a quand même tout un tas de il y a tout un tas de choses qui sont un petit peu compliquées là dedans euh bon premièrement effectivement le le le fait que vous avez un processus de diffusion fait que le la loi bon vous savez échantillonner suivant vous avez échantillonné suivant qdata mais vous savez rien faire d’autre que deséchantillon de prendre des échantillons suivant Q datata échantillons suivant Q datata ça veut dire si vous avez vous donné vous tirez au hasard des points dans vos ensemble de données vous savez rien faire d’autre ok parce que vous avez pas d’expression sur qdata donc c’est pas pas c’est pas c’est pas utilisable en tant que tel euh vous avez un proxy suivant vous avez un modèle V génératif en fait de cette loi P0 thta qui vous est donné effectivement par votre modèle de diffusion il faut faire attention c’est que ce modèle génératif est pas extrêmement il est pas extrêmement simple à utiliser hein ce modèle parce que vous avez pas de vous avez pas d’expression vous avez pas d’expression close forme de de ce modèle là euh et euh donc en particulier il est pas possible effectivement d’échantillonner de il est pas possible de de d’évaluer ponctuellement ce modèle de diffusion donc on peut pas estimer euh cette densité il y a pas de façon d’estimer cette densité donc toutes les méthodes classiques en fait que l’on utilise en statistique bayisienne qui sont les méthodes de Mark ofchen mon les méthodes de Monte Carlo par chaîne de Markov les méthodes Monte Carlo séquentiell les approxims de la place tout ça est est inutilisable parce qu’on n’ pas d’expression analytique sous P0 de thta ou alors si on les a on pourrait les calculer mais c’est des c’est des c’est des personne fait réellement ça et en fait on n pas de il y a pas d’utilisation très possible donc si on regarde effectivement là je par les 5 dernières minutes avant de laisser la place à Badre euh comment on va faire pour faire ça et bien on va effectivement se demander qu’est-ce qu’il faudrait faire en fait qu’est-ce qu’il faudrait faire dans l’absolu et une fois qu’on a compris qu’est-ce qu’il faudrait faire dans l’absolu ben on va essayer on sera un petit en meilleure position pour faire dans l’absolu qu’est-ce qu’il faudrait faire en fait il faudrait se dire ben en gros qu’est-ce qui se passerait si je pouvais effectivement utiliser un modèle de diffusion et c’est c’est de en fait l’originalité d’ travail vient de là qu’est-ce qui se passerait si on utiliser un modèle de diffusion en disant que ce modèle de diffusion au lieu d’être capable au lieu d’ de l’appliquer est directement à Q datata on a appliqué ce modèle de diffusion mais à au modèle qui nous intéresse aujourd’hui c’est GX so Q datata comme j’ai dit attention c’est pas réellement faire mais qu’est-ce qui se passerait ben on aurait effectivement à définir en fait un modèle forward et ce modèle forward il serait c’est le même que le Modelle forward qu’on a utilisé dans le dans le cas précédent mais au lieu d’avoir effectivement la loi de distribution pi au lieu d’avoir Q datata à l’instant zéro vous avez cette loi pi d’accord donc vous avez effectivement quelque chose qui est complètement analogue en en fait au à ce qu’on fait dans le cas disons classique entre guillemets mais ce qui est différent c’est qu’au lieu d’avoir la loi de la diffusion au lieu d’avoir la loi des observations vous avez la loi pi multiplié donc par le potentiel g d’accord donc ce qu’on va faire c’est qu’on va qu’est-ce qu’on ferait disons de façon abstraite ce qu’on ferait de façon abstraite c’est qu’on on définirait effectivement ces noyaux on bruiterait progressivement cette distribution bruiter cette distribution ça reviendrait à dire quoi ça reviendrait à dire ben on bruite effectivement euh non pas Q datata mais on bruite Q datata multiplié par G dex0 divisé par cette brave constante de renormalisation d’accord faites attention parce que on sait on sait pas réellement le faire puisquon sa’est pas échantillonner suivant cette loi d’accord donc tout ça effectivement est un pur exercice de l’esprit pour le moment et puis on serait dire bon enfin tout ça est quand même complètement compatible on pourrait se dire mais bah est- qu’il faudrait dans ce cas-là est-ce que on ferait si on prenait l’analogue de ce qu’on faisait dans des DPM et ben on apprendrait effectivement euh on apprendrait une décomposition backward de cette diffusion donc on pourrait on peut écrire effectivement ces décomposition backward effectivement suivant les mêmes avec la même recette effectivement que celle qu’on a écrit précédemment donc toute chaîne de Markov se renverse toute diffusion se retourne dans le temps toute chaîne de Marcov se renverse c’est encore plus simple et vous avez effectivement l’expression des noyaux backward qui est donné qui est donné de la façon suivante donc les noyaux backward ils ont une expression les noyaux backward ils s’écrivent de toute façon extrêmement simple à partir des noyaux forward donc qk + 1K c’est forward et simplement vous avez un truc qui est un petit peu méchant c’est qu’il faut être capable de renormaliser quand on fait no backward par les les lois marginales des distributions brutées tout ça est est inconnu donc que faire quand on en est là ben que faire c’est que bah il va falloir un petit peu travailler donc ce qu’on va faire c’est qu’il va être d’abord on va être on va essayer dans une première étape on va essayer de relier ce que ce qu’est le noyau backward avec le Noy forward et là il y a une expression dont qui est assez facile à prouver qui est qui est de se dire en fait le noyau backward il va se calculer en fonction des des des des qk qui sont les lois marginales du des modèles originaux de toute façon relativement simple finalement tous les noyaux toutes les les lois intermédiaires que l’on obtient dans le processus de bruitage ont un peu les mêmes structures c’estàd qu’ils ont les mêmes structures que la loi originale la loi originale voyez on avait pris Q data elle est multipliée par un certain potentiel et bien maintenant à chaque étape k effectivement ces lois qk sont multiplié par des potentiels simplement ces potentiels sont légèrement différents au lieu d’avoir le potentiel à l’instant g c’est g X0 et maintenant le potentiel que j’ai à l’instant K et bien c’est g X0 donc c’est le le mon potentiel mais qui est simplement intégré par q0k dx0 de XK d’accord donc ce qui est un truc qui est incroyable c’est qu’ a une structure en fait qu’ on retrouve exactement la même structure enfin c’est incroyable c’est bon pas c’est un peu une attendu je sais pas si attendu ça on retrouve dans ces noyaux euh dans ces dans ces dans dans la structure en fait de C espèce d’expérience de l’esprit qu’on a fait qui est de dire en fait qu’est-ce qui se passerait si on brutait qu’est-ce qui se passerait si on brutait ces potentiels si on brutait ces si on prenait cette loi PI et non pas la loi Q et qu’on l’ brutit on retrouverait effectivement à chaque étape on retrouve un peu la même structure simplement et on retrouve donc les lois marginales des observations brutées mais ces lois marginales des observations brutées sont euh affecté d’un potentiel GK et ce potentiel GK est déduit du potentiel initial c’est le potentiel initial multiplié donc par la loi q0k de dx0 sachant XK bon ça c’est un calcul qui se fait de façon relativement simple mais bon quand on a compris ces structures on a commencé à comprendre pas mal de choses et donc ce qu’il va falloir faire c’est que il va falloir effectivement être capable d’approcher ces lois là donc il a il y a deux approches qui ont été utilisé pour faire ça la première approche en fait elle est euh elle est c’est la première approche qui s’appelle dps la plus classique qui marche en fait assez mal en fait mais bon qui quand même aujourdhui la plus populaire mais bah pas très très bien qui consiste à dire bah en fait une fois qu’on a cette structure là on peut se poser la question on pe se dire ok quand on a ce noyau backward on on on peut regarder cette structure de produit donc on a picassar qui d’un produit donc qu’est-ce qu’on peut faire c’est que on va calculer le gradient de cette quantité là si on calcule le gradient de cette quantité là on va se raconter que le gradient de cette quantité là ben ça va être le gradient de qk d’accord donc c’est le gradient de ma de la de ma loi de ma loi brutée originale le gradient de ma l brité originale multiplié par quelque chose qui justement le gradient de log de GK de X de K qui est ce fameux potentiel qui apparaît à l’instant k d’accord et donc et donc la loi quand on utilise effectivement la le on avait vu effectivement que dans le dans quand on a compris les DPM on se rend compte que la quantité qui apparaît dans le noyau backward qu’on cherch à apprendre à quand on fait ce choix particulier de covariance dans l’ apprproximation variationnelle on a vu que ce Noy back ce n’est rien d’autre qu’une expérience conditionnelle donc si on utilise à ce moment-là la formule de t on se rend compte en fait un résultat qui est marrant c’est que on est capable en fait d’écrire ce que serait le débruiteur de cette espèce de d’opération de la pensée qui a consisté à prendre non pas Q datata mais PI et de bruité et le débruur qu’on obtiendrait dans ce cas-là c’est la loi le débruiteur que vous obtiendrez sur vos observations multiplier enfin auquel vous rajoutez effectivement une guidance c’està dire vous rajoutez un terme qui est le gradient de votre potentiel bon que vous savez pas tout à fait calculer multiplié par un certain facteur d’accord donc ça c’est vraiment l’idée basique c’est de se dire vous allez rajouter donc l’idée fondamentale c’est de se dire ah au fond on a peut-être résolu le problème parce que on a trouvé ce qui se passerait si on avait pris au lieu de prendre Q data on prend pi c’est Q data multiplié par le potentiel euh on on bruite et si on avait Débruit cet objet là le le potentiel qu’on aur dû trouver c’est le potentiel des débrutés d’accord c’estàd le débruteur normal auquel vous allez rajouter une quantité qui est le Grad de cette quantité donc après une fois qu’on est parti là-dedans on se dit bon qu’est-ce qu’on va faire pour faire cette cette chose là ben on va trouver une façon de on va approcher ce potentiel là et puis l’idée la plus bête donc c’est ce qu’on appelle dps c’est pas nous parce que les idées bêtes c’est pas nous qui les avons nous on fait des choses astucieuses mais bon l’idée la plus bête c’est de faire une espèce de de cuisine dans lequel on va revenir en arrière effectivement ben en modifiant en fait le terme de drift on va modifier on va faire la chaîne de Mark of backward en modifiant le terme de drift pour prendre en compte effectivement cette quantité là voilà donc ça c’est la première méthode qui a été utilisée et ça c’est ce qu’on appelle postérieur diffusion sampling donc c’est chunk 2013 c’est là qu’on a commencé à réfléchir à ce problème là c’est c’est quand j’ai vu ce papier là je me suis dit tiens c’est quand même ça l’air marrant ce truc là et donc on aé le papier de chunk on a regarde donc il a il propose en fait une certaine approximation donc il il a une approximation qui est quand même assez gonflée parce que quand vous regardez ce que c’est que GK vous voyez que GK c’est g de X0 c’est le potentiel que vous multipliez par la loi de q0 sachant k de X0 sachant XK et ce que vous faites en fait ici c’est que vous prenez g que vous appliquez directement sur la moyenne donc quand ce qu’a fait Chun 2023 papier qui a beaucoup de sitation c’est le papier le plus cité dans le domaine vous vous remplacez effectivement cet intégral là vous remplacez cet intégral là q0k de dx0 sachant X2 k vous le remplacez effectivement vous remplacez cette quantitélà par g de sa moyenne ok et vous calcullez avec le vous avez votre potentiel qui vient derrière et vous obtenez effectivement une une une forme d’update après il y a une forme d’update comme c’est extraordinairement instable euh il y a tout un tas de cuisines qui sont appliquées très très assez difficile à comprendre d’ailleurs enfin pas très très justifié la sauce d’ingénieur que j’aime pas en général j’aime pas quand il y a trop de sauce d’ingénieur parce que c’est Gén c’est mauvais signe quand il y a une bonne idée en fait elle marche simplement mais là là c’est il y a plein plein de choses pour que ça marchote bon ça marche un peu quand même mais ça marche pas très bien mais ça marche un peu et euh et bon bon voilà donc il y a une première méthode qui a été utilisée donc qui utilise effectivement cette idée ou de de biaiser effectivement c’est ce qu’on appelle tous les gradiant guidance vous allez voir il y a tout un tas de littérature là-dessus euh pour obtenir ces chosesl donc après en fait on peut faire d’autres méthodes je vais pas rentrer dans les détails il y a beaucoup de méthodes qui ont été proposé en se disant ouais on pourrait faire un petit peu mieux que ça parce que au lieu de au lieu d’approcher ce noyau q0k au lieu on peut mieux approcher q2k donc je vais pas rentrer dans les détails comment on approche ce potentiel G2K on pourrait réintégrer non pas par un en simplement remplaçant g dex0 par en faisant g de la moyenne mais on pourrait intégrer par rapport en faisant une espèce d’approximation de la place donc il y a d’autres approches qui on été proposé donc on peut estimer des covariances des choses comme ça ça fait pas des choses ça fait pas des choses extraordinaire d’ailleurs on peut faire ce qu’on appelle les moment de matching donc ça a été aussi utilisé on peut essayer de faire des choses un petit peu plus subtiles il y a une autre approche don je vais et puis je vais laisser la parole à à Badre il y a une autre approche qui est qui consiste effectivement à se dire en fait on pourrait prendre le problème de façon relativement différente et le problème de façon différente on pourrait le prendre en se disant qu’est-ce qu’on fait effectivement ben on va on pourrait se poser la problème de la façon suivante c’est veut dire en fait c’est ces potentiels débruités on les obtiendrait effectivement en prenant ces fameuses lois pic donc c lois pica qui sont des des lois les lois pic bruité on va on va les approcher en fait par des choses qui ont un petit peu la même structure que les lois pic des Bruté cible donc on avait vu que les lois pic des Bruté ciblebl elles sont égales à quoi ces lois picad des Bruté cible elles sont égales à au lois pk sans bruit multiplié par un certain potentiel voilà et donc je vais laisser la parole à Bad qui va vous expliquer sur va rentrer dans les détails sur sur ces comment calcule sur sur cette approche là donc il y a pas une approche de guidance mais qu’une approche en fait d’échantillonnage merci [Applaudissements] Eric alors je vais continuer sur ce que disait ERC je vais vous présenter un récent travail avec mes collaborateurs notamment avec ERC moul qui en effet cré dans la même pédagogie d’essayer de guider des modèes de diffusion pour résoudre des problèmes donc là petite genre breve mise en situation genre on se donne un modèle de diffusion pré-entraînée du coup on a accès à une famille de débruiteurs donc des estimateurs de l’espérance de X0 station XK on a un likelyood qui définit la tâche à résoudre et l’objectif c’est d’essayer de tirer des échantillons de la loi à postérior et cela sans faire euh d’entraînement genre on free tous les weight du modèle et on essaie de tirer des échantillons donc on essaie de d’utiliser du calculer à l’inférence pour résoudre ces problèmes du cou là de manière inconditionnelle comment on tire des échantillons d’un problème d’un modè de diffusion je on prend l’ échantillon bruité on estime l’espérance de X0 sachant XK via le le débruiteur et après on combine cette estimation avec l’échantillon bruité pour avoir un échantillon moins bruité et on répète cette cette procédure là jusqu’à avoir un un échantillon complètement débrité et du coup à la limite pour faire pour résoudre des problèmes il faut à la limite avoir un débruiteur conditionnel genre qui prend en compte la vra sememblance et d’appliquer le même ch du coup on a ce petit résultat qui est très intéressant qui nous dit que le débruiteur conditionnel en fait on peut l’écrire comme une somme d’un bruiteur incondition du coup qu’on peut avoir via le modè préentraîné plus un terme de guidance ce terme de guidance en fait c’est un score d’une vraessemblance intermédiaire et là remarquez que cette vraissemblance vraissemblance intermédiaire c’est une espérance de la vraissemblance vu sous la loi qui éend donné à XK voit toutes les toutes les débruitages possibles de XK à partir de l’échantillon XK et bien sûr cette quantité et du coup il faut l’approximer l’approximation qu’ on veneit de dire qui est très utilisée dans la littérature c’est d’essayer de d’interchanger l’espérance et la vraissemblance et donc appliquer d’estimer ou d’approximer la vraissemblance intermédiaire par la vraissemblance appliquée au débruiteur et cela revient de manière implicite à approximer l’espérance de XK ou la la distribution de XK sachant X0 par par un Dirac autour du du débriteur on voit très facilement la limitation de cette approximation dans le sens où dès qu’on est loin de z0ro cette approximation est très très grossière parce qu’en fait elle prend pas en compte toute la multimodalité de la distribution de P0 sachant XK mais néanmoins plus on se rapproche de zéro plus cette approximation devient de plus en plus pertinente du coup l’objectif à partir de de c’est d’essayer de raffiner cette approximation de ce terme intractable on peut se rendre compte que ces vraissemblances intermédiaires en fait on peut les lier entre elles c’est on peut justement écrire là une vraissemblance inter vraissemblance intermédiaire en cas on peut considérer un instant intermédiaire l entre 0 et K et écrire cette vraissemblance intermédiaire comme une vraessemblance ou comme une espérance de la vraessemblance en L mais cette fois-ci intégré par la loi de XS tion XK c’est-àdire on prend tous les échantillons à partir de XK qui sont débruités jusqu’au euh niveau de bruit L ou jusqu’à l’instant l à partir de là on peut définir maintenant euh l’approximation desps euh par un gchapeau et à partir de là on peut en fait définir K + 1 approximation de ce terme intractable et c’est ces approximations ils sont chacune ou chacune a un niveau particulier d’approximation de de de ce terme et à partir de là on peut définir euh une postérieure intermédiaire qui va prendre en compte tous ces degrés de d’approximation de de ce terme intractable du coup entre autres ce qu’on fait euh on définit des des poids qui som à 1 et on considère euh une loi pondérée ou une som pondérée de ces euh vraissemblances intermédiaires avec ces multiples degrés de d’approximation du du terme intractable et le schéma de simpling serait en fait de viser de manière séquentielle ce chemin de distribution en commençant par N et en allant jusqu’à 1 mais bien sûr on peut se rendre compte que aussi cette cette avec cette forme là cette distribution est très très difficile à échantillonner et du coup ce que je vais essayer par la suite c’est d’essayer de présenter un schéma pour viser cette loi et tirer des échantillons de cette loi et pour cela je vais utiliser un GIP simpler avant je faire une petite apparté sur GIP simpler donc le scénario c’est que on a une loi jointe et on voudrait tirer deux variables aléatoires X Y de loi jointe mais cette loi jointe est très difficile à viser en tant que tel mais on a une hypothèse sur ce problème c’est que on sait simpler de manière simple des conditionnels on on sait tirer un échantillon de la conditionnelle par rapport à y et la conditionnelle par rapport à X et du coup l’algorithme de kips consiste en fait à initialiser X X et Y et après alterner un échantillonnage des deux conditionnels donc on tire tout d’abord une conditionnelle par rapport à y après on utilise c c cet échantillon pour tirer à partir de la de la conditionnelle en x et cet algorithme définit une chaîne Markov avec comm lo stationnaire P et du coup il existe un certain une certaine itération à partir de laquelle les échantillons qui seraient produits par ce cet algorithme serait distribué suivant la loi jointe par conséquent si on cache X et Y on aurait des échantillon qui serait marginalement distribué par rapport à la marginale de X et par rapport à la marginale de Y et du coup euh l’esprit c’est d’essayer d’appliquer une même démarche pour la loi qui est en tant que tel difficile à échantillonner on va essayer de construire une loi qui admet qu’ marginale la loi cible et euh qui a en fait des conditionnels qui sont faciles à échantillonner donc construire une loi avec une marginale la loi cible qui est facile à échantillonner conditionnellement et après lui appliquer un schéma de GIPS donc pour construire cette loi augmenté on va essayer de d’augmenter cette loi avec des variables donc la première variable qu’on peut saisir c’est le l c’est l’indice on peut le choisir comme une variable catégorique tel qu’il est tiré suivant les poids définissant les poids du du mixure et après on peut se focaliser sur les composantes et pour les composantes on peut rajouter une variable XL intermédiaire juste en écrivant la définition de l’approximation au niveau L du la vraemblance et après on peut rajouter une variable auxiliaire X0 en tenant compte le fait que intégrer par rapport à0 conditionnellement sur les autres ég à 1 et par conséquent si on finini cette loi de cette manière par définition elle admet qu’on marginal la loi cible et d’un autre côté on peut montrer que cette loi admet les ou elle vérifie les les les hypothèses ou les les propriétés qu’on veut et qui sont notamment des conditionnel facile à échantillonner donc plus particulièrement euh la conditionnelle par rapport à XL et XK c’est justement dinoiser à partir de l’échantillon XL jusqu’au niveau X0 échantillonné conditionnement X0 et XK c’est une loi produit entre un terme tractable et une gaussienne et enfin la conditionnelle par rapport à X0 et XL c’est bruiter l’échantillon XL jusqu’au niveau x XK du coup pour récapituler le schéma pour viser cette loi ça serait de tirer un indice de la catégorie de de la loi catégoriale suivant les poids wkl et après initialiser X0 et XK et après réitérer le le schéma de GIPS déterministique sur les conditionnels et là ce que j’ai highlight c’est une loi qui est en fait le produit de deux termes un terme tractable et et une gaussienne et du coup on peut utiliser un schéma de variation de d’inférence variationnelle en apprenant une gaussienne avec une moyenne et une convariance et tirer un échantillon approximativement de cette loi maintenant je vous montre des des expériences sur la restauration d’image et la séparation d’audio on appliquant en particulier en appliquant cet algorithme sur ces ces problèmes donc pour la restauration d’image on a une image X et on voudrait euh reconstruire une image X à partir d’une observation y on a bien évidemment le modèle de dégradation de l’observation on peut définir à partir de ce modèle dégradation une fonction vraemblance du coup là je vais prendre l’exemple de problèmes linéaur où on on observe la moitié d’une image et on essaie d’inférer la moitié qui manque donc c’est c’est des c’est des c’est c’est problèmes linéaaires soit on a priori des images de de visage là c’est une notre dataset imag net sur des objets du coup c’est le même problème un problème où on essaie d’inférer la moitié de l’image à partir de la l’observation de l’autre moitié et là c’est des applications euh du l’algorithme sur des problèmes non linéaires en l’occurrence là le problème c’est un problème de décontisation JPEG on a une image compressée on essaie de la décomprimer en rajoutant euh aussi euh des détails dans l’image ça c’est le même problème pour euh la dataset imagenet et le dernier cas de figure c’est euh le dernier problème c’est la séparation d’audio alors le problème là c’est on a une musique qui en fait une position de quatre instruments une batterie une guitare basse une guitare et un piano et l’objectif c’est d’essayer à partir de ce cette composition musicale extraire ce qui est joué par chaque instrument du coup on prend un modèle diffusion pré-entrainés qui en fait censé générer inconditionnellement des musiques qui sont joué par les quatre instruments et on peut en fait définir cette ce problème là mettant un problème inverse dans lequel on essaie de reconstruire les quatre instruments en observant le mixture c’est en observant la composition des quatre instrument là je vous donne un QR code si vous voulez scanner essayer le la démo il y a aussi les liens du papier et je vous remercie pour votre attention [Applaudissements] [Musique]