Appeler SMS WhatsApp Email

Définition Continuous Normalizing Flows

Continuous Normalizing Flows

Continuous Normalizing Flows, souvent abrégés en CNFs, sont une classe de modèles génératifs profonds utilisés en apprentissage automatique pour modéliser des distributions de probabilité complexes. Ils définissent une transformation bijective (inversible et différentiable) entre une distribution de probabilité simple, typiquement une gaussienne, et une distribution cible plus complexe, comme celle des données observées. La particularité des CNFs réside dans le fait que cette transformation est définie comme la solution d’une équation différentielle ordinaire (EDO), ce qui la rend continue par nature, par opposition aux flux normalisants discrets qui appliquent une séquence finie de transformations.

Les concepts fondamentaux des CNFs reposent sur le principe du changement de variables en probabilités et sur la théorie des systèmes dynamiques continus. Soit une variable aléatoire simple `z` issue d’une distribution de base `p_Z(z)`, par exemple une distribution normale standard. Un CNF transforme `z` en une variable `x` (qui suit la distribution des données `p_X(x)`) via une fonction `f` telle que `x = f(z)`. Pour que cela soit un flux normalisant, `f` doit être inversible et son Jacobien `J_f(z)` doit être calculable. La densité de `x` est alors donnée par la formule du changement de variables : `p_X(x) = p_Z(f^{-1}(x)) |det(J_{f^{-1}}(x))|`. Dans les CNFs, la transformation `f` est conceptualisée comme un processus continu dans le temps. On définit un état `z(t)` qui évolue d’un état initial `z(t_0) = z` (l’échantillon de la distribution de base) à un état final `z(t_1) = x` (l’échantillon de la distribution cible). L’évolution de `z(t)` est gouvernée par une équation différentielle ordinaire (EDO) : `dz(t)/dt = g(z(t), t, θ)`, où `g` est une fonction, typiquement paramétrée par un réseau de neurones avec des poids `θ`, et `t` est une variable de temps continue. La log-vraisemblance de `x` peut alors être calculée en intégrant la trace du Jacobien de la fonction `g` par rapport à `z(t)` sur l’intervalle de temps `[t_0, t_1]`. C’est la formule instantanée du changement de variable, ou théorème de Liouville pour les systèmes dynamiques, qui s’exprime sous la forme `log p_X(x) = log p_Z(z) – ∫_{t_0}^{t_1} Tr(∂g(z(t), t, θ)/∂z(t)) dt`. Cette intégrale de la trace du Jacobien peut être calculée efficacement en résolvant une EDO augmentée, ce qui est un avantage clé des CNFs. L’inversibilité de la transformation est garantie si la fonction `g` satisfait certaines conditions de régularité (par exemple, être Lipschitz continue), ce qui est généralement le cas pour les réseaux neuronaux utilisés.

L’importance des CNFs réside dans leur capacité à modéliser des distributions de probabilité de manière exacte et flexible. Contrairement à d’autres modèles génératifs comme les Réseaux Antagonistes Génératifs (GANs) qui ne fournissent pas directement une estimation de la vraisemblance, ou les Auto-encodeurs Variationnels (VAEs) qui fournissent une borne inférieure de la vraisemblance, les CNFs permettent un calcul exact de la vraisemblance des données. Cette propriété est cruciale pour des tâches telles que la détection d’anomalies, la comparaison de modèles et l’inférence bayésienne. La nature continue de la transformation offre une plus grande expressivité que les flux discrets, permettant de modéliser des dépendances plus complexes et des changements de topologie dans l’espace des données sans nécessiter un grand nombre de couches discrètes. Cela conduit potentiellement à des modèles plus parcimonieux et plus performants. Les CNFs ont ainsi un impact significatif sur le domaine de l’apprentissage de représentations, car ils apprennent des transformations qui démêlent les facteurs de variation dans les données. Ils contribuent également aux avancées en intelligence artificielle générative en fournissant un cadre puissant et théoriquement bien fondé pour la génération de données haute dimension.

Les applications pratiques des CNFs sont variées et en pleine expansion. Dans le domaine de la vision par ordinateur, ils sont utilisés pour la génération d’images photoréalistes, la super-résolution, et la modélisation de densité d’images. Par exemple, un CNF peut apprendre à transformer du bruit gaussien en images de visages ou de scènes naturelles. En traitement du son, ils peuvent générer des formes d’onde audio ou des spectrogrammes. Dans le domaine des sciences, les CNFs trouvent des applications en modélisation moléculaire, par exemple pour générer des conformations tridimensionnelles de molécules ou pour prédire des propriétés moléculaires. En physique, ils sont employés pour modéliser des distributions complexes dans des simulations, pour l’inférence bayésienne de paramètres cosmologiques ou pour résoudre des problèmes inverses. En finance, ils peuvent être utilisés pour modéliser la distribution des rendements d’actifs ou pour la prévision de séries temporelles. Les CNFs sont également utiles en inférence variationnelle, où ils peuvent servir à définir des distributions a posteriori plus flexibles et expressives que les distributions gaussiennes traditionnellement utilisées. En apprentissage par renforcement, ils peuvent modéliser des politiques stochastiques complexes. Un exemple concret serait d’entraîner un CNF sur un ensemble de données d’images médicales pour ensuite générer de nouvelles images synthétiques qui conservent les caractéristiques des données réelles, ou pour détecter des anomalies en identifiant les images ayant une faible vraisemblance sous le modèle appris.

Il existe plusieurs nuances et variations du concept de Continuous Normalizing Flows. Une distinction majeure se fait au niveau de la formulation de l’équation différentielle. Si la plupart des CNFs utilisent des EDOs déterministes, des extensions basées sur des équations différentielles stochastiques (EDS) ont été proposées, introduisant un élément de bruit dans le processus de transformation, ce qui peut améliorer la robustesse et la capacité de modélisation. Concernant le calcul du terme de log-déterminant du Jacobien (ou sa trace intégrée), différentes techniques d’estimation existent. La méthode de Hutchinson est une approche stochastique populaire pour estimer la trace du Jacobien sans avoir à calculer le Jacobien complet, ce qui est crucial pour les modèles à très haute dimension. D’autres techniques, comme les méthodes « trace-free » ou exactes pour certaines architectures de réseaux neuronaux spécifiques, sont également explorées. Les architectures des réseaux de neurones qui paramètrent la fonction `g` dans l’EDO peuvent également varier, allant de simples réseaux de neurones entièrement connectés à des architectures plus complexes comme les réseaux à convolution ou les transformers, en fonction de la nature des données. Des recherches portent aussi sur l’adaptation des CNFs à des données résidant sur des variétés non euclidiennes, comme les sphères ou les tores, ce qui est pertinent pour certaines applications scientifiques. Enfin, des variations concernent l’optimisation des solveurs d’EDO, l’utilisation de solveurs adaptatifs, ou des stratégies pour garantir la stabilité numérique et l’efficacité de l’intégration.

Plusieurs concepts sont étroitement liés aux CNFs. Les Flux Normalisants (NFs) discrets en sont les précurseurs directs. Ces modèles appliquent une séquence finie de transformations bijectives simples, chacune avec un Jacobien tractable. Les CNFs peuvent être vus comme la limite d’un flux normalisant discret lorsque le nombre de transformations tend vers l’infini et que chaque transformation devient infinitésimale. Les Neural Ordinary Differential Equations (Neural ODEs) sont une brique technologique essentielle pour les CNFs. Un Neural ODE est un réseau de neurones dont les couches sont définies par une EDO paramétrée par un autre réseau de neurones. Les CNFs utilisent ce cadre pour définir leur transformation continue. D’autres modèles génératifs probabilistes, tels que les Auto-encodeurs Variationnels (VAEs) et les Réseaux Antagonistes Génératifs (GANs), sont souvent comparés aux CNFs. Contrairement aux CNFs, les VAEs maximisent une borne inférieure de la vraisemblance et les GANs utilisent une approche adversariale sans calcul explicite de la vraisemblance. L’inférence bayésienne est un domaine d’application où les CNFs peuvent améliorer les méthodes existantes en fournissant des approximations plus riches des distributions a posteriori. La théorie du transport optimal est également conceptuellement liée, car les flux normalisants apprennent une carte de transport entre une distribution simple et une distribution complexe, bien que les CNFs ne minimisent pas explicitement une distance de transport optimal comme le font certaines autres méthodes. Il n’y a pas d’antonymes directs pour « Continuous Normalizing Flows », mais on pourrait les contraster avec les modèles à vraisemblance implicite (comme les GANs) ou les modèles à vraisemblance approximative (comme les VAEs), ou encore avec les flux normalisants discrets.

L’origine des CNFs est relativement récente et s’inscrit dans l’évolution des modèles génératifs profonds. Les flux normalisants discrets ont été introduits autour de 2014-2015, avec des travaux pionniers comme NICE (Non-linear Independent Components Estimation) et Real NVP (Real-valued Non-Volume Preserving). Ces modèles ont démontré la puissance de l’utilisation de transformations bijectives pour la modélisation de densité. Cependant, la nature discrète et souvent contrainte des transformations (par exemple, les couplages affines) limitait leur expressivité ou nécessitait des architectures très profondes. L’idée de rendre ces flux continus a émergé avec la publication des Neural Ordinary Differential Equations par Chen et al. en 2018. Cet article a montré comment définir des transformations continues à l’aide d’EDOs paramétrées par des réseaux neuronaux et comment les entraîner efficacement. Peu de temps après, plusieurs travaux ont proposé indépendamment le concept de Continuous Normalizing Flows. L’un des plus influents est FFJORD (Free-form Jacobian of Reversible Dynamics), présenté par Grathwohl et al. en 2018, qui a introduit l’utilisation de l’estimateur de Hutchinson pour la trace du Jacobien, rendant les CNFs pratiques pour des données haute dimension. Depuis lors, la recherche sur les CNFs s’est intensifiée, se concentrant sur l’amélioration de l’efficacité computationnelle, l’extension à de nouveaux types de données et de problèmes, et l’exploration de leurs propriétés théoriques.

Les CNFs présentent plusieurs avantages significatifs. Leur principal atout est la capacité à calculer la vraisemblance exacte des données, ce qui est fondamental pour de nombreuses tâches statistiques et d’apprentissage. L’inversibilité de la transformation est garantie par construction, ce qui permet à la fois la génération (échantillonnage) et l’inférence (calcul de densité). La nature continue de la transformation offre une grande flexibilité et expressivité, permettant de modéliser des distributions très complexes avec potentiellement moins de paramètres que les flux discrets équivalents, grâce au partage de paramètres implicite le long de la trajectoire de l’EDO. Ils peuvent également gérer des changements de topologie entre la distribution de base et la distribution cible.
Cependant, les CNFs ont aussi des inconvénients, des défis et des limitations. Le coût computationnel est l’un des principaux obstacles. La résolution des EDOs, tant pour la passe avant (génération ou calcul de la transformation) que pour la passe arrière (entraînement via rétropropagation adjointe), peut être lente, surtout pour les trajectoires d’intégration longues ou les systèmes complexes. Le calcul du terme de log-déterminant du Jacobien, même avec des estimateurs stochastiques comme celui de Hutchinson, ajoute une charge computationnelle et une variance à l’estimation du gradient. L’entraînement des CNFs peut donc être significativement plus lent que celui d’autres modèles génératifs. La stabilité numérique des solveurs d’EDO peut être un problème, nécessitant un choix attentif du solveur et de ses hyperparamètres. La performance des CNFs peut être sensible à la complexité de la fonction `g` et à la longueur de l’intervalle d’intégration. Enfin, bien que théoriquement très expressifs, il peut être difficile d’apprendre des transformations très « tordues » ou des distributions avec des modes très isolés, et leur scalabilité à des dimensions extrêmement élevées (par exemple, des vidéos haute résolution) reste un défi actif de recherche.