2 points par GN⁺ 2025-10-11 | 1 commentaires | Partager sur WhatsApp
  • Discrete Distribution Networks (DDN) est un modèle génératif innovant fondé sur de nouveaux principes et doté de propriétés inédites
  • DDN présente des résultats expérimentaux originaux et une capacité de représentation discrète 1D grâce à un algorithme d’optimisation par division et élagage
  • Basé sur une structure hiérarchique, il approxime aussi des distributions continues et révèle des propriétés intéressantes comme la génération conditionnelle zero-shot
  • DDN montre un potentiel d’application à diverses tâches réelles, comme la génération d’images et le transfert de style
  • Il se distingue des modèles génératifs existants en matière de scalabilité, d’efficacité et de capacité d’adaptation naturelle

Présentation de DDN: Discrete Distribution Networks

Pourquoi est-ce important ?

DDN (Discrete Distribution Networks) propose une approche entièrement nouvelle par rapport aux modèles génératifs existants, avec des principes simples, une structure hiérarchique originale et des propriétés comme la génération conditionnelle zero-shot. Son fonctionnement diffère de celui des GAN et des modèles de diffusion, ce qui ouvre de nombreuses perspectives, tant en recherche qu’en application réelle.


Résumé des points clés

  • DDN est un nouveau modèle génératif qui approxime la distribution des données à l’aide d’une structure hiérarchique de distributions discrètes
  • Il propose une méthode d’optimisation Split-and-Prune et mène des expérimentations sur des propriétés distinctives, difficiles à obtenir avec les modèles génératifs classiques, comme la génération conditionnelle zero-shot et les représentations latentes discrètes 1D
  • À chaque couche, DDN génère simultanément plusieurs échantillons et sélectionne celui qui se rapproche le plus de la cible pour l’utiliser comme condition à la couche suivante
  • À mesure que le nombre de couches augmente, l’espace de représentation des sorties s’étend de manière exponentielle, ce qui permet au final de générer des échantillons proches de la cible
  • Diverses expériences (CIFAR-10, FFHQ, transfert de style, super-résolution, etc.) mettent en évidence des atouts en simplicité, généralisation et applicabilité pratique par rapport aux approches existantes

Expériences d’estimation de densité avec DDN

  • Démonstration du processus d’approximation d’une densité de probabilité 2D
    • À gauche : tous les échantillons que DDN est actuellement capable de générer
    • À droite : la carte de densité de probabilité cible
    • Plusieurs distributions cibles (blur_circles, QR_code, spiral, etc.) sont appliquées successivement dans un processus d’optimisation continu
    • Optimizer : utilisation simultanée de Gradient Descent et de Split-and-Prune
    • Avec Split-and-Prune, la divergence KL devient même plus faible que celle des échantillons réels

Principales contributions de l’article

  • Proposition d’un nouveau modèle génératif — DDN, plus simple et plus efficace
  • Introduction de l’algorithme d’optimisation Split-and-Prune et de techniques pratiques associées
  • Validation de propriétés telles que la génération conditionnelle zero-shot sans gradient et une représentation discrète 1D originale
  • Lors de l’évaluation ICLR, le travail a été décrit comme « très différent des modèles génératifs existants et élargissant les directions de recherche »
  • Principe de DDN : à chaque couche, générer de nombreux échantillons discrets, ne conserver que le résultat le plus proche de la cible, puis le raffiner hiérarchiquement

Structure et mode de fonctionnement

Structure hiérarchique de distributions discrètes

  • Chaque couche prend comme entrée l’échantillon sélectionné à la couche précédente et en génère plusieurs nouveaux
  • Parmi eux, seul le résultat le plus proche de l’échantillon d’entraînement courant (la vérité terrain) est transmis à la couche suivante
  • À force de répétitions, les résultats se raffinent et se rapprochent de la distribution cible
  • Lorsque le nombre de couches augmente, l’espace de représentation des sorties générées croît de manière exponentielle
  • Le réseau peut représenter directement une distribution en générant simultanément plusieurs échantillons

Reconstruction d’images et représentation latente

  • Chaque sortie de couche produit une image différente, et seuls les résultats les plus proches de l’objectif final sont transmis à la couche suivante
  • Le rôle de l’échantillonneur : sélectionner l’image la plus similaire à la cible
  • Pour les tâches génératives, un échantillonnage aléatoire permet de maximiser la diversité
  • Les variables latentes de DDN peuvent être interprétées comme une structure arborescente, chaque échantillon étant mappé à une feuille de l’arbre

Exemples de résultats expérimentaux

  • Approximation de diverses distributions 2D (spiral, QR_code, etc.)
  • Avec Split-and-Prune, minimisation de la divergence KL et atténuation de problèmes comme les dead nodes ou le density shift
  • Sur CIFAR-10, FFHQ, etc., confirmation d’un mode de génération original et d’une bonne efficacité face aux modèles à base de GAN ou de diffusion

Prise en charge de la génération conditionnelle zero-shot

  • DDN permet la génération conditionnelle zero-shot sans gradient
  • Exemple : génération texte-image à l’aide d’une black-box CLIP
  • Il gère aussi efficacement des conditions variées non limitées aux pixels, comme le transfert de style ou la super-résolution

Entraînement et deux paradigmes de modèle

  • Pendant l’entraînement, après sélection d’échantillons à chaque Discrete Distribution Layer (DDL), l’optimisation est effectuée avec Adam + Split-and-Prune
  • Single Shot Generator : chaque couche possède ses propres poids indépendants
  • Recurrence Iteration : toutes les couches partagent les mêmes poids

Divers cas d’application

Génération aléatoire de visages

  • Les résultats de génération de visages basés sur un DDN entraîné montrent la diversité et la qualité des sorties

Colorisation conditionnelle d’images / conversion edge-to-color

  • À partir d’une image donnée, le modèle cherche à se rapprocher au maximum du style visé tout en respectant la condition
  • Résolution des images générées : 256x256

Visualisation de la génération hiérarchique (MNIST, etc.)

  • Visualisation des résultats intermédiaires et finaux à chaque étape de génération
  • Les grandes images correspondent à des brouillons, les petites à des résultats finaux raffinés

Perspectives de recherche et possibilités d’application

  • Des réglages d’hyperparamètres, des expériences exploratoires et des analyses théoriques peuvent encore améliorer les performances de DDN
  • Extension possible jusqu’à des problèmes de complexité du niveau d’ImageNet, avec l’objectif de construire des modèles exploitables en production
  • Application à diverses tâches comme la super-résolution, la colorisation d’images, l’estimation de profondeur, l’estimation de pose ou la robotique
    • Par rapport aux modèles de diffusion, production de multiples échantillons en un seul forward-pass
    • Efficace pour des usages comme l’estimation d’incertitude et plus simple à contraindre
    • Sa différentiabilité end-to-end permet une combinaison efficace avec l’apprentissage discriminatif ou par récompense
  • Utilisable aussi pour des tâches non génératives (clustering non supervisé, compression de données, etc.)
  • Possibilité de travaux ultérieurs appliquant les idées de conception de DDN à des modèles génératifs existants (par ex. combinaison de la diffusion avec un espace latent discret 1D)
  • Proposition de nouvelles pistes en modélisation du langage, comme la modélisation directe de chaînes binaires sans tokenizer

Questions fréquentes

Q1 : augmentation des besoins en mémoire GPU ?

  • Légère augmentation par rapport à un générateur GAN classique, mais sans grande différence
  • Pendant l’entraînement, seuls les gradients des échantillons sélectionnés sont conservés, les autres étant immédiatement supprimés, ce qui préserve la mémoire
  • En phase de génération, un seul échantillon aléatoire est produit au lieu de générer l’ensemble des échantillons, ce qui limite fortement la consommation de ressources supplémentaires

Q2 : problème de mode collapse ?

  • Non. La loss n’est appliquée qu’au résultat le plus similaire à la cible, ce qui garantit la diversité
  • Expérimentalement, les performances de reconstruction sur le jeu de test (robustesse de reconstruction) sont également bonnes
  • En revanche, pour des données de haute dimension trop complexes pour la capacité intrinsèque de DDN, des échantillons flous peuvent apparaître

1 commentaires

 
GN⁺ 2025-10-11
Avis sur Hacker News
  • Les auteurs se disent heureux d’avoir trouvé les reviews d’ICLR utiles, et considèrent que ce cas montre comment la politique d’ICLR consistant à publier toutes les reviews des articles fonctionne avec succès
    Les reviewers jouent un rôle de « rapport d’évaluation » pour les auteurs en montrant comment ils ont interprété l’article de façon anonyme, et cela a aussi l’avantage de permettre à des personnes extérieures au milieu universitaire traditionnel de voir les discussions qui se cachent derrière l’acceptation ou le rejet d’un article
    Le lien vers les reviews de cet article est ici
    La liste complète des articles rejetés est disponible ici

    • Chaque fois que j’ai eu un article rejeté à ICLR, j’ai au moins pu identifier quel reviewer n’avait pas compris l’idée centrale de l’article
  • La Fig.18 de l’article mentionne que Taiji-DDN ressemble au taiji de l’ancienne philosophie chinoise
    J’ai trouvé cette partie un peu délicate
    Comme la structure en branchement est un concept assez courant, l’interprétation qui la relie spécialement à une expression classique m’a paru un peu étrange

    • Personnellement, j’ai l’impression qu’ils voulaient simplement donner une explication amusante à un nom original
      Je ne pense pas qu’il y ait là quoi que ce soit de superstitieux ou de bizarre
  • Voir un article à auteur unique accepté à ICLR est particulièrement impressionnant, d’autant plus qu’il propose une méthode vraiment innovante

  • La structure me semble très intéressante
    Elle a l’avantage d’être facile à déboguer, mais comme elle utilise un sampler et non un routeur de style Mixture-of-Experts (MoE), elle a aussi l’inconvénient de jeter effectivement K-1 calculs à chaque couche
    À mes yeux, l’analogie la plus proche serait une combinaison entre MoE et un modèle de latent diffusion « x0-target », et l’innovation principale réside non pas dans le routeur, mais dans le sampler guidé et l’optimiseur split-and-prune
    Je pense que cela rend l’entraînement plus simple

    • Comme la probabilité d’échantillonnage est de 1/K indépendamment de l’entrée, il n’est pas nécessaire en inférence d’effectuer les K calculs intermédiaires à chaque couche : on peut décider à l’avance lequel utiliser et n’exécuter que ce calcul
      C’est expliqué dans la question Q1 de la section « Common Questions About DDN » en bas de l’article

    • Je pense que vous avez mal compris l’article
      Il n’y a pas d’« experts » ; la sortie sert simplement à approximer un échantillon aléatoire issu de la distribution
      Il n’y a pas de latent diffusion, et le modèle utilise des convolutions similaires à celles d’un GAN
      Il est souligné qu’en inférence, l’indice de l’échantillon est choisi à l’avance, donc il n’y a pas de calcul inutile

  • Concept vraiment très cool
    En regardant les exemples sous le résumé de l’article, j’ai été surpris par certains résultats très précis du modèle
    Par exemple, la ligne d’implantation des cheveux en ligne 2 colonne 3, la couleur des chemises en ligne 2 colonnes 7/8/9/11, tout le rouge à lèvres des lignes 4/6, ou encore la position et la forme du visage et des cheveux en ligne 6 colonne 4
    En particulier, la zone rouge en bas à gauche de la ligne 6 colonne 4 est fascinante : le modèle semble avoir détecté qu’il y avait quelque chose de rouge et a placé une tache rouge au bon endroit
    Il peut s’agir d’un biais du dataset (par ex. le rouge à lèvres) ou de mon observation sélective, mais je me demande, pour la bretelle rouge, s’il s’agit d’une fuite de données, d’un surapprentissage, ou simplement d’un hasard

  • J’ai moi aussi déjà construit une architecture similaire (mais avec une autre méthode), en créant une hiérarchie de cross-attention et de requêtes apprises, puis en appliquant une pénalité L1 à la matrice d’attention pour accroître la sparsité
    Les représentations hiérarchiques discrètes sont vraiment passionnantes
    Le motif d’activation à chaque couche agit comme un « parse tree » pour chaque entrée, ce qui permet de compresser efficacement les images en courtes séquences d’entiers

  • Je pose la question parce que c’est un point que je maîtrise mal : si le réseau est composé uniquement de convolutions 1x1, n’y a-t-il alors absolument aucun échange d’information entre les pixels ?
    Si c’est le cas, cela voudrait dire que chaque pixel est totalement indépendant, et je me demande si le résultat ne serait pas incohérent

    • Ce n’est pas le cas ici, mais il existe effectivement des architectures qui génèrent les pixels de manière indépendante les uns des autres
      Elles peuvent produire n’importe quel pixel ou élément d’image sans générer le reste, de façon implicite
      Comme exemples, il y a NeRF, « single-pixel GAN » et MAE, avec cet article, cet article et cet article
      Si c’est possible, c’est parce qu’on peut considérer que le modèle a la capacité de « mémoriser » toutes les données possibles, et qu’une génération indépendante revient simplement à extraire une partie précise de cette « mémoire »
      L’espace latent est un objet platonicien immuable, donc il n’est pas étrange de générer séparément chaque point sur le plan physique
      De la même manière qu’on peut générer des points arbitraires avec une fonction comme y=mx+b, la génération d’images n’est qu’une entrée d’une fonction plus complexe
      Ce concept ne se limite pas aux images : on peut aussi, dans une certaine mesure, générer le langage naturel de façon indépendante, et cela peut être étendu avec ce code et ma proposition ici

    • Dans DDN, les convolutions 1x1 ne sont utilisées que dans la couche de sortie de la Discrete Distribution Layer (DDL)
      Les blocs de réseau neuronal entre les DDL constituent la source principale des opérations et des paramètres, et utilisent pour cela des convolutions 3x3 standard

  • Intéressant
    Il y a quelques jours, je travaillais sur une recherche en diffusion utilisant des matrices de transformation symboliques pour paralléliser des systèmes de réaction sur graphes profonds, et beaucoup de gens semblent aller dans cette direction générale
    J’ai l’impression que, dans les 1 à 2 prochaines années, les modèles fondés sur la diffusion vont dominer la génération de code

  • Vraiment très cool, j’ai passé pas mal de temps autrefois sur l’apprentissage de représentations, et la grille de chiffres MNIST m’a rappelé des souvenirs
    Je pense sincèrement que c’est une approche intéressante et nouvelle, et je suis curieux de voir ses performances si on l’étend à des domaines non visuels
    Je me demande où l’on pourra suivre la suite de vos recherches

    • Merci pour votre intérêt
      Je publierai mes prochains résultats de recherche à la fois sur GitHub et sur Twitter(X)
  • Cela ressemble à une très bonne recherche, je l’ai ajoutée à ma liste de lecture
    Merci de l’avoir partagée sur Hacker News