Rumah  >  Artikel  >  Peranti teknologi  >  Selepas Sora, OpenAI Lilian Weng secara peribadi menulis artikel untuk mengajar anda cara mereka bentuk model penyebaran generasi video dari awal.

Selepas Sora, OpenAI Lilian Weng secara peribadi menulis artikel untuk mengajar anda cara mereka bentuk model penyebaran generasi video dari awal.

WBOY
WBOYasal
2024-08-05 19:20:02906semak imbas

Dalam beberapa tahun kebelakangan ini, keupayaan sintesis imej yang berkuasa bagi model penyebaran telah ditunjukkan sepenuhnya. Komuniti penyelidikan kini menangani tugas yang lebih sukar: penjanaan video. Baru-baru ini, Lilian Weng, ketua Sistem Keselamatan OpenAI, menulis blog tentang model penyebaran penjanaan video.

Sora之后,OpenAI Lilian Weng亲自撰文教你从头设计视频生成扩散模型

Sora之后,OpenAI Lilian Weng亲自撰文教你从头设计视频生成扩散模型

                                                                                                                                              Sendiri ialah superset sintesis imej, Kerana imej adalah satu bingkai video. Sintesis video adalah lebih sukar atas sebab berikut: 1 Sintesis video juga memerlukan ketekalan temporal antara bingkai yang berbeza, yang secara semula jadi memerlukan pengekodan lebih banyak pengetahuan dunia ke dalam model.

2. Berbanding dengan teks atau imej, adalah lebih sukar untuk mengumpul sejumlah besar data video berdimensi tinggi yang berkualiti tinggi, apatah lagi data teks-video berpasangan.

Jika anda ingin mengetahui tentang aplikasi model penyebaran dalam penjanaan imej, anda boleh membaca catatan blog sebelum ini "Apakah Model Penyebaran yang diterbitkan oleh penulis artikel ini, Lilian Weng. github.io/posts/2021-07 -11-diffusion-models/

Memodelkan penjanaan video dari awal

Pertama, mari kita lihat cara mereka bentuk dan melatih model video penyebaran dari awal, iaitu tanpa menggunakan penjana imej terlatih.

Parameterisasi dan Persampelan

Takrifan pembolehubah yang digunakan di sini berbeza sedikit daripada artikel sebelumnya, tetapi bentuk matematiknya adalah konsisten. Biarkan ?~?_real menjadi titik data yang diambil sampel daripada pengedaran data sebenar ini. Sekarang, menambahkan sedikit hingar Gaussian pada masa menghasilkan jujukan varian bising ?, dilambangkan sebagai: {?_?}, di mana hingar berkembang dengan peningkatan ?, dan akhirnya ?(?_?)~?(?,?). Proses ke hadapan yang menambah hingar ini ialah proses Gaussian. Biarkan ?_? dan ?_? menjadi jadual bunyi yang boleh dibezakan bagi proses Gaussian ini:

Untuk mewakili ?(?_?|?_?), di mana 0≤?≤?, Terdapat:

Sora之后,OpenAI Lilian Weng亲自撰文教你从头设计视频生成扩散模型

Biarkan nisbah isyarat-ke-bunyi logaritma

, maka kemas kini DDIM boleh dinyatakan sebagai: ≤?,有:

Sora之后,OpenAI Lilian Weng亲自撰文教你从头设计视频生成扩散模型

Kertas "Penyulingan Progresif untuk Persampelan Pantas Model Resapan22) (20limans Model Resapan & Hos) dicadangkan di sini Parameter ramalan khas: Sora之后,OpenAI Lilian Weng亲自撰文教你从头设计视频生成扩散模型. Penyelidikan menunjukkan bahawa parameter ? membantu mengelakkan isu perubahan warna dalam penjanaan video berbanding dengan parameter ? Parameterisasi

? diperoleh melalui helah dalam koordinat sudut. Pertama, takrifkan ?_?=arctan (?_?/?_?), dari mana kita boleh mendapatkan ?_?=cos ?, ?_?=sin ?, ?_?=cos ??+sin ??. Kelajuan ?_? boleh ditulis sebagai: Sora之后,OpenAI Lilian Weng亲自撰文教你从头设计视频生成扩散模型

Sora之后,OpenAI Lilian Weng亲自撰文教你从头设计视频生成扩散模型

dan kemudiannya boleh disimpulkan:

Sora之后,OpenAI Lilian Weng亲自撰文教你从头设计视频生成扩散模型

Peraturan kemas kini DDIM boleh dikemas kini dengan sewajarnya:

Sora之后,OpenAI Lilian Weng亲自撰文教你从头设计视频生成扩散模型

坐 Figure 1 : La méthode de travail de répartition des étapes de mise à jour sous forme de coordonnées angulaires Parmi elles, DDIM continue d'évoluer en déplaçant Z _ {? _?} En direction de

Sora之后,OpenAI Lilian Weng亲自撰文教你从头设计视频生成扩散模型. Pour le modèle, le paramétrage de ? est une prédiction

Pour les tâches de génération vidéo, afin d'étendre la durée de la vidéo ou d'augmenter la fréquence d'images, le modèle de diffusion doit exécuter plusieurs étapes de suréchantillonnage. Cela nécessite la possibilité d'échantillonner la deuxième vidéo ?^? en fonction de la première vidéo ?^?, Sora之后,OpenAI Lilian Weng亲自撰文教你从头设计视频生成扩散模型, où ?^? peut être une extension autorégressive de ?^?

En plus de sa propre variable bruyante correspondante, l'échantillonnage de ?^? Le modèle de diffusion vidéo (VDM) de Ho & Salimans et al. en 2022 propose d'utiliser un modèle de débruitage ajusté pour mettre en œuvre la méthode de guidage de reconstruction, afin que l'échantillonnage de ?^? Sora之后,OpenAI Lilian Weng亲自撰文教你从头设计视频生成扩散模型

où est la reconstruction de ?^? et ?^? selon le modèle de débruitage fourni. Et ?_? est un facteur de pondération, vous pouvez trouver un ?_? > 1 plus grand pour améliorer la qualité de l'échantillonnage. Notez qu’en utilisant la même méthode de guidage de reconstruction, il est également possible d’étendre des échantillons basés sur des vidéos basse résolution en échantillons haute résolution.

Architecture du modèle : 3D U-Net et DiTSora之后,OpenAI Lilian Weng亲自撰文教你从头设计视频生成扩散模型

Similaire au modèle de diffusion de graphe Vincent, U-Net et Transformer sont toujours des choix d'architecture courants. Google a développé une série d'articles de modélisation vidéo de diffusion basés sur l'architecture U-net, et le récent modèle Sora d'OpenAI utilise l'architecture Transformer.

VDM utilise une configuration de modèle de diffusion standard, mais apporte quelques modifications à l'architecture pour la rendre plus adaptée aux tâches de modélisation vidéo. Il étend le U-net 2D pour gérer les données 3D, où chaque carte de caractéristiques représente un tenseur 4D : nombre d'images x hauteur x largeur x nombre de canaux. Ce U-net 3D est décomposé en espace et en temps, ce qui signifie que chaque couche n'opère qu'une seule dimension de l'espace ou du temps, mais pas les deux en même temps.

Espace de traitement : la couche de convolution 2D d'origine comme dans 2D U-net sera étendue en une convolution 3D uniquement pour l'espace. Plus précisément, la convolution 3x3 devient une convolution 1x3x3. Chaque module d'attention spatiale se concentre toujours sur l'attention spatiale, et le premier axe (images) est traité comme une dimension de lot.

    Temps de traitement : Un module d'attention temporelle est ajouté après chaque module d'attention spatiale. Il se concentre sur le premier axe (images) et traite l'axe spatial comme la dimension du lot. En utilisant cette position relative, la séquence d'images peut être suivie. Ce module d'attention temporelle permet au modèle d'atteindre une bonne cohérence temporelle.
Figure 2 : Architecture U-net 3D. Les entrées du réseau sont la vidéo bruitée z_?, les informations de condition c et le rapport signal/bruit logarithmique (log-SNR) λ_?. Les multiplicateurs de canaux M_1,...,M_? représentent le nombre de canaux dans chaque couche.

Sora之后,OpenAI Lilian Weng亲自撰文教你从头设计视频生成扩散模型

Ho et al. proposés en 2022 Imagen Video est basé sur un ensemble de modèles de diffusion en cascade, qui peuvent améliorer la qualité de la génération vidéo et mettre à niveau la sortie vers une résolution vidéo de 1 280 x 768 à une fréquence d'images de 24 images. L'architecture Imagen Video est constituée des composants suivants, totalisant 7 modèles de diffusion. Un encodeur de texte T5 gelé pour fournir des intégrations de texte en tant qu'entrée conditionnelle.

    Un modèle de base de diffusion vidéo.
  • Un ensemble de modèles de diffusion de super-résolution spatiale et temporelle entrelacés en cascade, contenant 3 composants TSR (super-résolution temporelle) et 3 SSR (super-résolution spatiale). Figure 3 : Processus d’échantillonnage en cascade d’Imagen Video. En pratique, les incorporations de texte sont injectées dans tous les composants, pas seulement dans le modèle de base.
  • Le modèle de débruitage de base utilise des paramètres partagés pour effectuer des opérations spatiales sur toutes les images simultanément, puis la couche temporelle mélange les activations entre les images pour mieux obtenir une cohérence temporelle. Il a été prouvé que cette approche fonctionne mieux que la méthode autorégressive des images ;
  • Figure 4 : Architecture d'un module séparable spatio-temporel dans le modèle de diffusion Imagen Video.

    Sora之后,OpenAI Lilian Weng亲自撰文教你从头设计视频生成扩散模型

    Les modèles SSR et TSR sont basés sur des entrées suréchantillonnées concaténées par canal avec des données bruitées ?_? SSR suréchantillonne par redimensionnement bilinéaire, tandis que TSR suréchantillonne en répétant des images ou en remplissant des images vides. Imagen Video applique également une distillation progressive pour accélérer l'échantillonnage, réduisant de moitié les étapes d'échantillonnage requises à chaque itération de distillation. Lors d'expériences, ils ont pu distiller les 7 modèles de diffusion vidéo en seulement 8 étapes d'échantillonnage par modèle sans aucune perte notable de qualité de perception. Afin de mieux élargir l'échelle du modèle, Sora adopte l'architecture DiT (diffusion Transformer), qui fonctionne sur le patch spatio-temporel des codes latents vidéo et image. Il représente l'entrée visuelle sous la forme d'une séquence de blocs spatio-temporels et utilise ces blocs spatio-temporels comme jetons d'entrée du transformateur. Figure 5 : Sora est un modèle de transformateur de diffusion.

    Ajustez le modèle d'image pour générer la vidéo

    En termes de modélisation vidéo de diffusion, une autre méthode importante consiste à "augmenter" le modèle de diffusion de graphe Vincent pré-entraîné en insérant des couches temporelles, puis vous pouvez choisir de Affinez uniquement les nouvelles couches en vidéo ou évitez complètement toute formation supplémentaire. Ce nouveau modèle hérite des connaissances préalables sur les paires texte-image, contribuant ainsi à réduire le besoin de paires texte-vidéo. Sora之后,OpenAI Lilian Weng亲自撰文教你从头设计视频生成扩散模型

    Réglage fin des données vidéoMake-A-Video proposé par Singer et al en 2022 consiste à étendre une dimension temporelle basée sur un modèle d'image de diffusion pré-entraîné, qui contient trois éléments clés :

    1. . Un modèle de graphique Vincent de base formé sur des données de paires texte-image.

    2. Les couches de convolution spatio-temporelle et d'attention permettent au réseau de couvrir la dimension temporelle.

    3. Un réseau d'interpolation de trames pour une génération de fréquence d'images élevée. Figure 6 : Diagramme du flux de travail Créer une vidéo.理 La forme mathématique du schéma de raisonnement vidéo final peut s'écrire comme ceci :

    Parmi eux :

    Il s'agit d'une saisie de texte

    est un texte codé par BPE

    Sora之后,OpenAI Lilian Weng亲自撰文教你从头设计视频生成扩散模型

    P (.) est a priori, étant donné l'intégration de texte ?_? et le texte encodé BPE générer l'intégration d'image ?_? :

    Cette partie est formée sur les données de paire texte-image, pas sur la vidéo Affinez les données.

  • Sora之后,OpenAI Lilian Weng亲自撰文教你从头设计视频生成扩散模型 est un décodeur spatio-temporel qui génère une série de 16 images vidéo, où chaque image est une image RVB 64x64 basse résolutionSora之后,OpenAI Lilian Weng亲自撰文教你从头设计视频生成扩散模型.

  • Sora之后,OpenAI Lilian Weng亲自撰文教你从头设计视频生成扩散模型 est un réseau d'interpolation de trames qui peut améliorer efficacement la fréquence d'images en interpolant entre les images générées. Il s'agit d'un modèle affiné qui peut être utilisé pour prédire les images masquées pour les tâches de suréchantillonnage vidéo.

  • Sora之后,OpenAI Lilian Weng亲自撰文教你从头设计视频生成扩散模型 sont des modèles de super-résolution spatiale et spatio-temporelle qui peuvent augmenter la résolution de l'image à 256x256 et 768x768 respectivement.

  • Sora之后,OpenAI Lilian Weng亲自撰文教你从头设计视频生成扩散模型 est la vidéo finale générée.

La couche de super-résolution spatio-temporelle contient des couches convolutionnelles pseudo-3D et des couches d'attention pseudo-3D :

  • Couches convolutives pseudo-3D : Chaque couche convolutive spatiale 2D (initialisée par le modèle d'image pré-entraîné) est suivie par couche Temporelle 1D (initialisée par la fonction identité). Conceptuellement, une couche convolutive 2D génère d'abord plusieurs images, qui sont ensuite ajustées dans une vidéo.

  • Couche d'attention pseudo 3D : empilez une couche d'attention temporelle après chaque couche d'attention spatiale (pré-entraînée) pour se rapprocher d'une couche d'attention spatio-temporelle complète. Figure 7 : Fonctionnement des couches de convolution pseudo-3D (à gauche) et d'attention (à droite).

Ils peuvent être exprimés comme : Sora之后,OpenAI Lilian Weng亲自撰文教你从头设计视频生成扩散模型

où sont les tenseurs d'entrée ?∈ℝ^{?×?×?×?×?} (correspondant à la taille du lot, au nombre de canaux, au nombre d'images, à la hauteur et largeur) ; La fonction de est d'échanger les dimensions de temps et d'espace ; aplatir (.) est un opérateur matriciel qui peut convertir ?'∈ℝ^{?×?×?×??}, tandis que aplatir⁻¹( .) L’effet est inverse.

Lors de la formation, différents composants du flux de travail Make-A-Video sont formés séparément.

1. Le décodeur D^?, le prior P et les deux composants de super-résolution

sont d'abord entraînés sur des images seules sans utiliser de texte apparié. Sora之后,OpenAI Lilian Weng亲自撰文教你从头设计视频生成扩散模型

2. Ajoutez ensuite une nouvelle couche temporelle, qui est initialisée à la fonction d'identité, puis affinée sur les données vidéo non étiquetées.

Sora之后,OpenAI Lilian Weng亲自撰文教你从头设计视频生成扩散模型Tune-A-Video proposé par Wu et al. en 2023 est une extension d'un modèle de diffusion d'images pré-entraîné pour permettre un réglage fin d'une vidéo à échantillon unique : étant donné une vidéo contenant ? =1,...,?}, associé à une invite descriptive ?, l'objectif de la tâche est de générer une nouvelle vidéo ?* basée sur une invite de texte légèrement modifiée et pertinente ?*. Par exemple, ? = "Un homme skie" peut être étendu à ?* ="Spiderman skie sur la plage". Tune-A-Video est conçu pour l'édition d'objets, la modification d'arrière-plan et le transfert de style.

En plus d'étendre la couche convolutive 2D, l'architecture U-Net de Tune-A-Video intègre également le module ST-Attention (attention spatio-temporelle), qui peut atteindre une cohérence temporelle en interrogeant les positions pertinentes dans les images précédentes. Compte tenu des caractéristiques latentes de la frame ?_?, de la frame précédente ?_{?-1} et de la première frame ?_1 (qui sont projetées dans la requête ?, la clé ? et la valeur ?), ST-Attention est définie comme :

Sora之后,OpenAI Lilian Weng亲自撰文教你从头设计视频生成扩散模型

Figure 8 : Présentation de l'architecture Tune-A-Video. Avant l’étape d’échantillonnage, il exécute d’abord une étape de réglage fin légèrement pondérée sur une seule vidéo. Veuillez noter que l'ensemble de la couche Temporal Self-Attention (T-Attn) sera affiné puisqu'ils sont nouvellement ajoutés, mais pendant la phase de réglage fin, seules les projections de requêtes dans ST-Attn et Cross-Attn seront mises à jour pour préserver la sémantique antérieure des graphes. ST-Attn peut améliorer la cohérence spatio-temporelle et Cross-Attn peut optimiser l'alignement texte-vidéo.

Le modèle Gen-1 (Runway) proposé par Esser et al en 2023 cible la tâche de montage d'une vidéo donnée basée sur la saisie de texte. Il traite la structure et le contenu de la vidéo séparément en considérant la condition de génération : p (? | ?,c). Il n’est cependant pas facile de séparer clairement ces deux aspects.

  • Le contenu fait référence à l'apparence et à la sémantique d'une vidéo, qui peut être extraite du texte pour une édition conditionnelle. Les intégrations CLIP d'images vidéo représentent bien le contenu et restent largement orthogonales aux caractéristiques structurelles.

  • La structure ? décrit les propriétés géométriques et la dynamique, y compris les changements de forme, de position et de temps des objets, est échantillonnée à partir de la vidéo d'entrée. Une estimation de la profondeur ou d'autres informations auxiliaires spécifiques à une tâche (telles que des informations sur la pose humaine ou l'identité du visage pour la synthèse vidéo humaine) peuvent être utilisées.

Les changements architecturaux dans Gen-1 sont assez standards, c'est-à-dire ajouter une couche convolutive temporelle 1D après chaque couche convolutive spatiale 2D dans son module résiduel et chaque attention spatiale 2D dans son module d'attention Ajouter le module d'attention temporelle 1D après le module . Pendant la formation, la variable structurelle ? est concaténée avec la variable latente diffuse ?, où la variable de contenu ? Au moment de l'inférence, l'intégration CLIP est transformée par un a priori - en la convertissant d'une intégration de texte CLIP en une intégration d'image CLIP. Figure 9 : Aperçu du processus de formation du modèle Gen-1.

Sora之后,OpenAI Lilian Weng亲自撰文教你从头设计视频生成扩散模型

Blattmann et al. ont proposé en 2023 Video LDM entraîne d'abord un générateur d'images LDM (Latent Diffusion Model). Le modèle est ensuite affiné pour produire des vidéos avec une dimension temporelle supplémentaire. Ce processus de réglage fin n'est utilisé que pour les couches temporelles nouvellement ajoutées sur la séquence d'images codées. Les couches temporelles

(voir Figure 10) dans Vidéo LDM sont entrelacées avec les couches spatiales existantes , et ces couches spatiales restent figées lors du réglage fin. C'est-à-dire que seuls les nouveaux paramètres ? sont affinés ici, et les paramètres du modèle de base d'image pré-entraînés ne seront pas affinés. Le flux de travail de Video LDM consiste d'abord à générer des images clés à faible fréquence d'images, puis à augmenter la fréquence d'images grâce à un processus d'interpolation d'image implicite en 2 étapes. Une séquence d'entrée de longueur ? est interprétée dans un lot d'images (c'est-à-dire ?・ ?) pour le modèle d'image de base ? puis redimensionnée dans un format vidéo pour la couche temporelle. Il existe une connexion par saut qui conduit à la combinaison de la sortie de la couche temporelle ?' et de la sortie spatiale via un paramètre de fusion appris ?. En pratique, deux types de couches de mélange temporel sont implémentées : (1) l'attention temporelle, (2) le module résiduel basé sur la convolution 3D.

Sora之后,OpenAI Lilian Weng亲自撰文教你从头设计视频生成扩散模型Sora之后,OpenAI Lilian Weng亲自撰文教你从头设计视频生成扩散模型

Sora之后,OpenAI Lilian Weng亲自撰文教你从头设计视频生成扩散模型 Figure 10 : Un LDM pré-entraîné pour la synthèse d'images étendu à un générateur vidéo. B,?,?,?,? sont respectivement la taille du lot, la longueur de la séquence, le nombre de canaux, la hauteur et la largeur. ?_S est un cadre de condition/contexte facultatif.

Sora之后,OpenAI Lilian Weng亲自撰文教你从头设计视频生成扩散模型

Cependant, l'encodeur automatique pré-entraîné de LDM a toujours un problème : il ne peut voir que des images, jamais des vidéos. L’utiliser directement pour générer une vidéo produira des artefacts scintillants avec une mauvaise cohérence temporelle. Par conséquent, Video LDM ajoute une couche temporelle supplémentaire au décodeur et utilise un discriminateur temporel bloc par bloc construit avec une convolution 3D pour affiner les données vidéo, tandis que l'encodeur reste inchangé, de sorte que les données pré-entraînées puissent toujours être réutilisé. Lors du réglage fin du décodeur temporel, l'encodeur figé traite chaque image de la vidéo indépendamment et utilise un discriminateur prenant en charge la vidéo pour appliquer des reconstructions temporellement cohérentes entre les images.

                                                                                                                                                                                                     Figure 11 : Flux de travail de formation de l'auto-encodeur dans le modèle de diffusion latente vidéo. L'objectif de réglage fin du codeur est d'obtenir une cohérence temporelle grâce à un nouveau discriminateur inter-trames, tandis que le codeur reste inchangé.

Semblable à Video LDM, la conception architecturale de Stable Video Diffusion (SVD) proposée par Blattmann et al en 2023 est également basée sur LDM, dans laquelle une couche temporelle est insérée après chaque couche de convolution spatiale et d'attention, mais SVD. Le réglage fin est effectué à l'ensemble du modèle. La vidéo de formation LDM est divisée en trois étapes :

1. La pré-formation au diagramme de Vincent est très importante, car elle contribue à améliorer la qualité et la capacité à suivre les instructions.

2. Il est avantageux de séparer la pré-formation vidéo, qui devrait idéalement être réalisée sur un ensemble de données compilées à plus grande échelle.

3. Utilisez une vidéo pré-sous-titrée plus petite, de haute fidélité visuelle, pour un réglage précis de la vidéo de haute qualité.

SVD met spécifiquement l'accent sur le rôle critique de l'assemblage des ensembles de données sur les performances du modèle. Ils ont utilisé un pipeline de détection de clips pour obtenir plus de clips de chaque vidéo, puis ont utilisé trois modèles différents de tagger de sous-titres : (1) CoCa pour les images intermédiaires, (2) V-V pour les sous-titres vidéo BLIP, (3) utilise LLM pour annotation basée sur les deux premières annotations. Ils peuvent ensuite continuer à améliorer l'ensemble des données vidéo en supprimant les clips vidéo comportant moins de mouvement (filtrage en calculant un faible score de flux optique à 2 ips) et en nettoyant le texte excessif (en utilisant la reconnaissance optique de caractères pour identifier les caractères contenant de grandes quantités de texte). texte) et supprimez les vidéos qui ne sont pas assez belles (utilisez l'intégration CLIP pour annoter la première, le milieu et la dernière image de chaque vidéo et calculer les scores esthétiques et la similarité texte-image). Les expériences montrent que l’utilisation d’un ensemble de données filtré de meilleure qualité entraîne une meilleure qualité du modèle, même si cet ensemble de données est beaucoup plus petit.

Pour les méthodes qui génèrent d’abord des images clés distantes, puis utilisent la super-résolution temporelle pour l’interpolation, le principal défi est de savoir comment maintenir une cohérence temporelle de haute qualité. Lumiere proposé par Bar-Tal et al. en 2024 utilise une architecture spatio-temporelle U-Net (STUNet), qui peut générer une vidéo continue pendant tout le temps en un seul passage, de sorte qu'il n'est pas nécessaire de s'appuyer sur TSR ( super-résolution temporelle). STUNet sous-échantillonne la vidéo dans les dimensions temporelles et spatiales et est donc coûteux en calcul dans un espace latent spatio-temporel compact.

Sora之后,OpenAI Lilian Weng亲自撰文教你从头设计视频生成扩散模型

Figure 12 : Lumiere ne nécessite pas de modèle TSR (super-résolution temporelle). En raison des limitations de mémoire, le réseau SSR étendu ne peut utiliser que de courts segments de la vidéo, de sorte que le modèle SSR peut utiliser un ensemble de segments vidéo plus courts mais qui se chevauchent.

STUNet est capable de sous-échantillonner et de suréchantillonner simultanément des vidéos dans les dimensions temporelles et spatiales après avoir été étendu sur le graphique Vincent pré-entraîné U-Net. Le module basé sur la convolution se compose de couches Vincent pré-entraînées, suivies de convolutions spatio-temporelles décomposées. Et le module basé sur l'attention au niveau U-Net le plus grossier se compose de ce module graphique vincentien pré-entraîné, suivi d'une attention temporelle. Seules les couches nouvellement ajoutées nécessitent une formation supplémentaire.

Sora之后,OpenAI Lilian Weng亲自撰文教你从头设计视频生成扩散模型

                                                                                                                                                     .

Aucune adaptation de la formation

Il est également possible d'avoir une vidéo de sortie d'un modèle de graphique vincentien pré-entraîné sans utiliser aucune formation, ce qui est quelque peu surprenant.

Si nous échantillonnons simplement au hasard une séquence de codes cachés puis construisons une vidéo à partir des images correspondantes décodées, il n'y a aucune garantie de cohérence temporelle entre les objets et la sémantique. Text2Video-Zero, proposé par Khachatryan et al. en 2023, permet la génération de vidéos sans prise de vue et sans formation en équipant un modèle de diffusion d'images pré-entraîné de deux mécanismes clés pour la cohérence temporelle.

1. Échantillonnage de séquences de code implicites avec dynamique de mouvement pour assurer la cohérence temporelle de la scène globale et de l'arrière-plan.

2. Utilisez une nouvelle attention inter-images (l'attention de chaque image sur la première image) pour reprogrammer l'auto-attention au niveau de l'image afin de garantir la cohérence du contexte, de l'apparence et des informations d'identité des éléments de premier plan. Figure 14 : Diagramme schématique du flux de travail Text2Video-Zero.

Sora之后,OpenAI Lilian Weng亲自撰文教你从头设计视频生成扩散模型

Ce qui suit est une description mathématique du processus d'échantillonnage d'une séquence variable latente avec des informations de mouvement :

1. Définissez une direction ?=(?_?, ?_?)∈ℝ² pour contrôler la scène globale et le mouvement de la caméra par défaut, définissez ?=(1, 1). Définissez un autre hyperparamètre λ>0 pour contrôler la quantité de mouvement global.

2. Échantillonnez d'abord au hasard le code caché de la première image Sora之后,OpenAI Lilian Weng亲自撰文教你从头设计视频生成扩散模型

3. Utilisez un modèle de diffusion d'image pré-entraîné (tel que le modèle de diffusion stable (SD) dans l'article) pour effectuer un Δ?≥0 DDIM vers l'arrière. étape de mise à jour et obtenez le code implicite correspondant Sora之后,OpenAI Lilian Weng亲自撰文教你从头设计视频生成扩散模型, où ?'=?-Δ?.

4. Pour chaque image de la séquence de code implicite, utilisez une opération de distorsion (qui est définie comme ?^?=λ(?-1)? ) pour effectuer la traduction de mouvement correspondante et obtenez Sora之后,OpenAI Lilian Weng亲自撰文教你从头设计视频生成扩散模型

5. pour tous Sora之后,OpenAI Lilian Weng亲自撰文教你从头设计视频生成扩散模型En utilisant l'étape avant DDIM, nous obtenons Sora之后,OpenAI Lilian Weng亲自撰文教你从头设计视频生成扩散模型

Sora之后,OpenAI Lilian Weng亲自撰文教你从头设计视频生成扩散模型

De plus, Text2Video-Zero remplace également la couche d'auto-attention dans le modèle SD pré-entraîné et la remplace par une nouvelle attention multi-images qui fait référence à la première image mécanisme de force. L'objectif est de préserver le contexte, l'apparence et les informations d'identité des objets de premier plan dans les résultats vidéo générés.

Sora之后,OpenAI Lilian Weng亲自撰文教你从头设计视频生成扩散模型

Il existe également la possibilité d'utiliser un masque d'arrière-plan pour rendre la transition d'arrière-plan vidéo plus fluide et améliorer encore la cohérence de l'arrière-plan. Supposons que nous ayons utilisé une méthode pour obtenir le masque de premier plan correspondant de l'image ?_?, puis que l'opération de lissage d'arrière-plan puisse fusionner le code caché réel et le code caché déformé par l'étape de diffusion selon la matrice d'arrière-plan suivante :

Sora之后,OpenAI Lilian Weng亲自撰文教你从头设计视频生成扩散模型

Sora之后,OpenAI Lilian Weng亲自撰文教你从头设计视频生成扩散模型 est le code caché réel, Sora之后,OpenAI Lilian Weng亲自撰文教你从头设计视频生成扩散模型 le code caché est-il déformé en arrière-plan, ? est un hyperparamètre, défini ?=0,6 dans l'expérience de cet article.

Text2Video-Zero peut être combiné avec ControlNet, où à chaque pas de temps de diffusion ?=?,...,1, chaque image est pré-entraînée à l'aide de ControlNet sur Sora之后,OpenAI Lilian Weng亲自撰文教你从头设计视频生成扩散模型(?=1,...,?) copier la branche et ajouter la sortie de la branche ControlNet vers la connexion sautée du U-Net principal.

ControlVideo proposé par Zhang et al. en 2023 vise à générer des vidéos basées sur des invites textuelles et des séquences de mouvements (telles que des cartes de profondeur ou de bords) Sora之后,OpenAI Lilian Weng亲自撰文教你从头设计视频生成扩散模型. Ce modèle est ajusté sur la base de ControlNet, avec trois nouveaux mécanismes ajoutés :

1 Attention cross-frame : ajoutez une interaction cross-frame complète dans le module d'auto-attention. Il introduit l'interaction entre toutes les images en mappant les images cachées pour tous les pas de temps sur une matrice ?,?,?, contrairement à Text2Video-Zero qui concentre toutes les images sur la première image.

2. Le mécanisme de lissage des images entrelacées réduit l'effet de scintillement en utilisant l'interpolation des images sur des images alternées. À chaque pas de temps ?, le lisseur interpole les images paires ou impaires pour lisser leur clip à trois images correspondant. Notez que le nombre d'images diminue avec le temps après l'étape de lissage.

3. L'échantillonneur en couches peut assurer la cohérence temporelle des longues vidéos sous contraintes de mémoire. Une longue vidéo sera divisée en plusieurs vidéos courtes et une image clé sera sélectionnée pour chaque courte vidéo. Le modèle pré-génère ces images clés en utilisant une attention complète entre images pour une cohérence à long terme, et chaque courte vidéo correspondante est synthétisée séquentiellement sur la base de ces images clés.

Figure 15 : Présentation de ControlVideo.

Sora之后,OpenAI Lilian Weng亲自撰文教你从头设计视频生成扩散模型

Lien original : https://lilianweng.github.io/posts/2024-04-12-diffusion-video/

Atas ialah kandungan terperinci Selepas Sora, OpenAI Lilian Weng secara peribadi menulis artikel untuk mengajar anda cara mereka bentuk model penyebaran generasi video dari awal.. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn