SignalPlus : une introduction à l'IA générative

Auteur original : Steven Wang

"Ce que je ne peux pas créer, je ne le comprends pas."

-Richard Feynman

Préface

Vous adoptez Stable Diffusion et MidJourney pour créer des images époustouflantes.

Vous maîtrisez ChatGPT et LLaMa pour créer des mots élégants.

Vous basculez entre MuseNet et MuseGAN pour créer de la musique de montagne.

Sans aucun doute, la capacité la plus unique des êtres humains est de créer, mais dans la technologie en constante évolution d'aujourd'hui, nous créons en créant des machines ! Une machine peut dessiner des illustrations originales (dessiner), composer un long article cohérent (écrire), composer de la musique mélodieuse (composer) et formuler des stratégies gagnantes pour des jeux complexes (jouer), étant donné un style. Cette technologie est Generative Artificial Intelligence (Generative Artificial Intelligence, GenAI), ce n'est que le début de la révolution GenAI, c'est maintenant le meilleur moment pour apprendre GenAI.

1. Génération et discrimination de modèles

GenAI est un mot à la mode, dont l'essence est modèle génératif (modèle génératif), qui est une branche de l'apprentissage automatique, l'objectif est de former le modèle pour générer de nouvelles données similaires à l'ensemble de données donné.

Supposons que nous ayons un ensemble de données de chevaux. Tout d'abord, nous pouvons former un modèle génératif sur cet ensemble de données pour capturer les règles régissant les relations complexes entre les pixels dans les images de chevaux. Ce modèle est ensuite échantillonné pour créer des images réalistes de chevaux qui n'existaient pas dans l'ensemble de données d'origine, comme le montre la figure ci-dessous.

SignalPlus : Introduction à l'IA générative

Pour vraiment comprendre les objectifs et l'importance d'un modèle génératif, il est nécessaire de le comparer à un modèle discriminant. En fait, la plupart des problèmes d'apprentissage automatique sont résolus par des modèles discriminatifs, voir les exemples suivants.

Supposons que nous disposions d'un ensemble de données de peintures, certaines de Van Gogh et d'autres d'autres artistes. Avec suffisamment de données, nous pouvons former un modèle discriminatif pour prédire si un tableau donné est de Van Gogh, comme le montre la figure ci-dessous.

SignalPlus : Introduction à l'IA générative

Lors de l'utilisation d'un modèle discriminatif, chaque exemple de l'ensemble d'apprentissage a une étiquette (étiquette).Pour le problème à deux catégories ci-dessus, l'étiquette de la peinture de Van Gogh est généralement 1 et l'étiquette de la peinture non-Van Gogh est 0. Dans la figure ci-dessus, la probabilité prédite finale du modèle est de 0,83, il est donc très probable qu'il ait été réalisé par Van Gogh. Contrairement à un modèle discriminatif, un modèle génératif ne nécessite pas que les exemples contiennent des étiquettes car son objectif est de générer de nouvelles données, pas de prédire des étiquettes pour les données.

Après lecture de l'exemple, utilisons la notation mathématique pour définir précisément le modèle génératif et le modèle discriminant :

  • Le modèle discriminatif modélise P(y|x), compte tenu des caractéristiques x pour estimer la probabilité conditionnelle de l'étiquette y.
  • Le modèle de génération modélise P(x), estime directement la probabilité de la caractéristique x et échantillonne à partir de cette distribution de probabilité pour générer de nouvelles caractéristiques.

Notez que même si nous pouvions construire un modèle discriminant parfait pour identifier les peintures de Van Gogh, il ne saurait toujours pas comment créer une peinture qui ressemble à Van Gogh, il ne produirait qu'une probabilité de savoir si l'image est de Van Gogh possibilité main. On peut voir que les modèles génératifs sont beaucoup plus difficiles que les modèles discriminants.

2. Générer le framework du modèle

Avant d'entrer dans le cadre du modèle génératif, jouons à un jeu. En supposant que les points de la figure ci-dessous sont générés par une sorte de règle, nous appelons cette règle Pdata, vous permet maintenant de générer un x différent = (x 1, x 2) de sorte que ce point ressemble à Généré par les mêmes règles Pdata.

SignalPlus : Introduction à l'IA générative

Comment généreriez-vous ce point ? Vous pouvez utiliser les points donnés pour générer un modèle Pmodèle dans votre esprit, et les points que vous voulez peuvent être générés aux positions occupées par ce modèle. On peut voir que le modèle Pmodèle est l'estimation des données P. Ensuite, le modèle Pmodèle le plus simple est la boîte orange dans la figure ci-dessous. Les points ne peuvent être générés qu'à l'intérieur de la boîte, mais pas à l'extérieur de la boîte.

SignalPlus : Introduction à l'IA générative

Pour générer un nouveau point, nous pouvons choisir au hasard un point dans la boîte ou, plus rigoureusement, échantillonner à partir de la distribution du modèle P. Il s'agit d'un modèle génératif minimaliste. Vous créez un modèle (boîte orange) à partir des données d'apprentissage (points noirs), puis vous échantillonnez à partir du modèle, en espérant que les points générés ressemblent aux points de l'ensemble d'apprentissage.

Nous pouvons maintenant proposer formellement un cadre pour l'apprentissage génératif.

SignalPlus : Introduction à l'IA générative

Exposons maintenant les données réelles générant des données de distribution P et voyons comment le cadre ci-dessus peut être appliqué à cet exemple. D'après la figure ci-dessous, nous pouvons voir que la règle de génération de données Pdata est que les points ne sont répartis uniformément que sur la terre ferme et n'apparaîtront pas dans l'océan.

SignalPlus : Introduction à l'IA générative

Clairement, notre modèle Pmodel est une simplification de la règle Pdata. L'examen des points A, B et C dans la figure ci-dessus peut nous aider à comprendre si le modèle Pmodel imite avec succès la règle Pdata.

  • Le point A n'est pas conforme à la règle Pdata car il apparaît dans la mer, mais peut être généré par le modèle Pmodel car il apparaît à l'intérieur de la case orange.
  • Le point B ne peut pas être généré par le modèle Pmodel car il apparaît en dehors de la boîte orange, mais est conforme à la règle Pdata car il apparaît sur terre.
  • Le point C est généré par le modèle Pmodel, et est conforme à la règle Pdata.

Cet exemple montre les concepts de base derrière la modélisation générative Bien qu'il soit beaucoup plus compliqué d'utiliser des modèles génératifs dans la réalité, le cadre de base est le même.

3. Le premier modèle génératif

Supposons que vous soyez le Chief Fashion Officer (CFO) d'une entreprise et que votre travail consiste à créer de nouveaux vêtements à la mode. Cette année, vous avez reçu 50 ensembles de données sur les collocations de mode (comme indiqué ci-dessous) et vous devez créer 10 nouvelles collocations de mode.

SignalPlus : Introduction à l'IA générative

Bien que vous soyez le directeur de la mode, vous êtes également un scientifique des données, vous décidez donc d'utiliser des modèles génératifs pour résoudre ce problème. Après avoir lu les 50 images ci-dessus, vous décidez d'utiliser cinq fonctionnalités, ** type d'accessoires ** (type d'accessoires), ** couleur de vêtement ** (couleur de vêtement), ** type de vêtement ** (type de vêtement), ** cheveux Couleur** (couleur des cheveux) et type de cheveux (type de cheveux), pour décrire la collocation de la mode.

Les 10 principales caractéristiques des données d'image sont les suivantes.

SignalPlus : Introduction à l'IA générative

Chaque caractéristique a également un nombre différent de valeurs propres :

  • 3 types d'accessoires (type accessies) :

Blanc, rond, lunettes de soleil

  • 8 couleurs de vêtements :

Noir, Bleu 01, Gris 01, PastelGreen, PastelOrange, Rose, Rouge, Blanc

  • 4 types de vêtements :

Hoodie, Overall, ShirtScoopNeck, ShirtVNeck

  • 6 couleurs de cheveux :

Noir, Blond, Marron, PastelPink, Rouge, SilverGray

  • 7 types de cheveux :

Pas de cheveux, cheveux longs chignon, cheveux longs, cheveux longs droits, cheveux courts courts ondulés, cheveux courts courts plats, cheveux courts frisés

De cette façon, il y a 3 * 8 * 4 * 6 * 7 = 4032 combinaisons de caractéristiques, on peut donc imaginer que l'espace échantillon contient 4032 points. À partir des 50 points de données donnés, on peut voir que les données P préfèrent certaines valeurs de caractéristiques pour différentes caractéristiques. On peut voir dans le tableau ci-dessus qu'il y a plus de couleurs de vêtements blancs et de couleurs de cheveux gris argenté dans l'image. Comme nous ne connaissons pas les vraies données P, nous ne pouvons utiliser ces 50 données que pour construire un modèle P afin qu'il puisse être similaire aux données P.

3.1 Modèle minimaliste

L'une des méthodes les plus simples consiste à attribuer un paramètre de probabilité à chaque point dans les 4032 combinaisons de caractéristiques, puis le modèle contient 4031 paramètres, car la somme de tous les paramètres de probabilité est égale à 1. Vérifions maintenant 50 données une par une, puis mettons à jour les paramètres du modèle **(**θ 1 , θ 2 ,...,θ 4031 ), l'expression de chaque paramètre est :

SignalPlus : Introduction à l'IA générative

Parmi eux, N est le nombre de données observées, à savoir 50, et nj est le numéro de la jème combinaison de caractéristiques apparaissant dans les 50 données.

Par exemple, la combinaison de caractéristiques (appelée combinaison 1) de (LongHairStraight, Red, Round, ShirtScoopNeck, White) apparaît deux fois, puis

SignalPlus : Introduction à l'IA générative

Par exemple, si la combinaison de caractéristiques (appelée combinaison 2) de (LongHairStraight, Red, Round, ShirtScoopNeck, Blue 01) n'apparaît pas, alors

SignalPlus : Introduction à l'IA générative

Selon les règles ci-dessus, nous calculons une valeur θ pour toutes les combinaisons 4031. Il n'est pas difficile de voir qu'il existe de nombreuses valeurs θ qui sont 0. Quoi de pire est que nous ne pouvons pas générer de nouvelles images invisibles ( θ = 0 signifie qu'aucune image avec cette combinaison de caractéristiques n'a jamais été observée). Pour résoudre ce problème, ajoutez simplement le nombre total de caractéristiques, d, au dénominateur et 1 au numérateur, une technique appelée lissage de Laplace.

SignalPlus : Introduction à l'IA générative

Désormais, chaque combinaison (y compris celles qui ne figurent pas dans l'ensemble de données d'origine) a une probabilité d'échantillonnage non nulle, mais ce n'est toujours pas un modèle génératif satisfaisant puisque la probabilité qu'un point ne se trouve pas dans l'ensemble de données d'origine est une constante. Si on essaie d'utiliser un tel modèle pour générer un tableau de Van Gogh, il opérera sur les deux tableaux suivants avec une probabilité égale :

  1. Reproductions de peintures originales de Van Gogh (pas dans l'ensemble de données original)
  2. Peintures faites de pixels aléatoires (pas dans l'ensemble de données d'origine)

Ce n'est évidemment pas le modèle génératif que nous voulons, nous espérons qu'il pourra apprendre une structure inhérente à partir des données, de sorte qu'il puisse augmenter le poids de probabilité des régions dans l'espace d'échantillonnage qu'il pense être plus probable, au lieu de mettre tous les pondérations de probabilité dans le point d'existence de l'ensemble de données.

3.2 Modèle sous-simplifié

Le modèle Naive Bayes (Naive Bayes) peut réduire considérablement le nombre de combinaisons des caractéristiques ci-dessus, et selon son modèle, chaque caractéristique est supposée être indépendante les unes des autres. Pour en revenir aux données ci-dessus, la couleur des cheveux d'une personne (caractéristique xj ) n'est pas liée à la couleur de ses vêtements (caractéristique xk ), exprimée dans une expression mathématique est :

p(xj | xk) = p(xk)

Avec cette hypothèse, on peut calculer

SignalPlus : Introduction à l'IA générative

Le modèle bayésien naïf simplifie le problème original "estimation de probabilité pour chaque combinaison de caractéristiques" en "estimation de probabilité pour chaque caractéristique". Il s'avère que nous devons utiliser 4031 ( 3 * 8 * 4 * 6 * 7) paramètres , maintenant seulement 23 ( 3 + 8 + 4 + 6 + 7) paramètres sont nécessaires, et l'expression de chaque paramètre est :

SignalPlus : Introduction à l'IA générative

Parmi eux, N est le nombre de données observées, c'est-à-dire 50, n*kl est le numéro de la kième caractéristique et la ****l *** ième valeur propre en dessous de ce nombre.

A travers les statistiques de 50 données, le tableau suivant donne les valeurs des paramètres du modèle naïf bayésien.

SignalPlus : Introduction à l'IA générative

Pour calculer la probabilité qu'un modèle génère une caractéristique de données, multipliez simplement les probabilités dans le tableau ci-dessus, par exemple :

SignalPlus : Introduction à l'IA générative

La combinaison ci-dessus n'apparaissait pas dans l'ensemble de données d'origine, mais le modèle lui attribuait toujours une probabilité non nulle, de sorte qu'elle pouvait toujours être générée par le modèle. Ainsi, les modèles bayésiens naïfs sont capables d'apprendre une structure à partir des données et de l'utiliser pour générer de nouveaux exemples non vus dans l'ensemble de données d'origine. L'image ci-dessous est une image de 10 nouvelles collocations de mode générées par le modèle.

SignalPlus : Introduction à l'IA générative

Dans ce problème, seules 5 caractéristiques appartiennent à des données de faible dimension. Il est raisonnable pour le modèle bayésien naïf de supposer qu'elles sont indépendantes les unes des autres, de sorte que les résultats générés par le modèle ne sont pas mauvais. Regardons un exemple de modèle effondrement.

4. Difficultés à générer des modèles

4.1 Données de grande dimension

En tant que directeur de la mode, vous avez réussi à générer 10 nouveaux ensembles de collocations de mode à l'aide de Naive Bayesian. Vous êtes tellement convaincu que votre modèle est invincible jusqu'à ce que vous rencontriez l'ensemble de données suivant.

SignalPlus : Introduction à l'IA générative

L'ensemble de données n'est plus représenté par cinq caractéristiques, mais représenté par 32* 32 = 1024 pixels, chaque valeur de pixel peut aller de 0 à 255, 0 signifie blanc, 255 signifie noir. Le tableau suivant répertorie les valeurs des pixels 1 à 5 pour les 10 premières images.

SignalPlus : Introduction à l'IA générative

Utilisez le même modèle pour générer 10 ensembles de nouvelles collocations de mode. Voici le résultat de la génération du modèle. Chacune est laide et similaire, et différentes caractéristiques ne peuvent pas être distinguées. Pourquoi en est-il ainsi ?

SignalPlus : Introduction à l'IA générative

Tout d'abord, puisque le modèle bayésien naïf échantillonne les pixels indépendamment, les pixels adjacents sont en fait très similaires. Pour les vêtements, en fait, les pixels devraient être à peu près les mêmes, mais le modèle est échantillonné au hasard, de sorte que les vêtements de l'image ci-dessus sont tous colorés. Deuxièmement, il y a trop de possibilités dans un espace échantillon de grande dimension, dont seule une fraction est identifiable. Si un modèle bayésien naïf traite directement des valeurs de pixels aussi fortement corrélées, les chances qu'il trouve une combinaison satisfaisante de valeurs sont très faibles.

Pour résumer, pour les espaces d'échantillonnage avec de faibles dimensions et une faible corrélation des caractéristiques, l'effet bayésien naïf est très bon grâce à un échantillonnage indépendant ; mais pour les espaces d'échantillonnage avec des dimensions élevées et une corrélation élevée des caractéristiques, des pixels d'échantillonnage indépendants sont utilisés pour trouver des visages humains efficaces. presque impossible.

Cet exemple met en évidence deux difficultés que les modèles génératifs doivent surmonter pour réussir :

  1. Comment le modèle gère-t-il les dépendances conditionnelles entre les entités de grande dimension ?
  2. Comment le modèle trouve-t-il une très petite proportion d'observations qui satisfont à la condition à partir d'un espace échantillon de grande dimension ?

Pour que les modèles génératifs réussissent dans des espaces d'échantillonnage de grande dimension et hautement corrélés, des modèles d'apprentissage en profondeur doivent être utilisés. Nous avons besoin d'un modèle capable de déduire des structures pertinentes à partir des données, plutôt que de se faire dire à l'avance quelles hypothèses faire. L'apprentissage en profondeur peut former ses propres caractéristiques dans un espace de faible dimension, et il s'agit d'une forme d'apprentissage par représentation (apprentissage par représentation).

4.2 Apprentissage des représentations

L'apprentissage de la représentation consiste à apprendre la signification de la représentation de données de grande dimension.

Supposons que vous alliez rencontrer une internaute qui ne s'est jamais rencontrée et que de nombreuses personnes ne la trouvent pas au lieu de rendez-vous. Vous l'appelez donc pour lui décrire votre apparence. Je crois que vous ne direz pas que la couleur du pixel 1 dans votre image est noire, la couleur du pixel 2 est noir clair, la couleur du pixel 3 est grise et ainsi de suite. Au contraire, vous penserez que les internautes auront une compréhension générale de l'apparence des gens ordinaires, puis donneront cette compréhension pour décrire les caractéristiques du groupe de pixels, par exemple, vous avez de courts cheveux noirs et beaux, portant une paire de verres dorés et ainsi de suite. Habituellement, avec pas plus de 10 descriptions de ce type, un internaute peut générer une image de vous dans son esprit. L'image peut être grossière, mais cela n'empêche pas l'internaute de vous trouver parmi des centaines de personnes, même s'il ne vous a jamais vu.

C'est l'idée centrale derrière l'apprentissage des représentations, au lieu d'essayer de modéliser directement l'espace d'échantillonnage de grande dimension (espace d'échantillonnage de grande dimension), mais d'utiliser un espace latent de basse dimension (espace d'échantillonnage latent de basse dimension). space ) pour décrire chaque observation dans l'ensemble d'apprentissage, puis apprenez une fonction de mappage (fonction de mappage), qui peut prendre un point dans l'espace latent et le mapper à l'espace d'échantillon d'origine. En d'autres termes, chaque point de l'espace latent représente une caractéristique des données de grande dimension.

Si les mots ci-dessus ne sont pas faciles à comprendre, veuillez consulter l'ensemble de formation ci-dessous composé de quelques images de pots en niveaux de gris.

SignalPlus : Introduction à l'IA générative

Il n'est pas difficile de voir que ces jarres ne peuvent être décrites que par deux caractéristiques : la hauteur et la largeur. Par conséquent, nous pouvons convertir l'espace de pixels de grande dimension de l'image en un espace latent bidimensionnel, comme le montre la figure ci-dessous. De cette façon, nous pouvons échantillonner (points bleus) à partir de l'espace latent, puis le convertir en image via la fonction de mappage f.

SignalPlus : Introduction à l'IA générative

Il n'est pas facile pour la machine de se rendre compte que l'ensemble de données d'origine peut être représenté par un espace latent plus simple. Tout d'abord, la machine doit déterminer que la hauteur et la largeur sont les deux dimensions de l'espace latent qui décrivent le mieux l'ensemble de données, puis apprendre la fonction de mappage f peut prendre un point dans cet espace et le mapper sur une carte en niveaux de gris. L'apprentissage en profondeur nous permet d'entraîner des machines à trouver ces relations complexes sans aide humaine.

5. Classification des modèles générés

Tous les types de modèles génératifs visent en fin de compte à résoudre la même tâche, mais ils modélisent tous les fonctions de densité de manière légèrement différente et se répartissent généralement en deux catégories :

  • modélisation explicite (modélisation explicite) de la fonction de densité,

Mais contraignez d'une manière ou d'une autre le modèle afin de calculer la fonction de densité, comme normalisation du modèle FLOW (normalisation du modèle FLOW)

Mais pour approximer la fonction de densité, comme autoencodeur variationnel (autoencodeur ationnel, VAE) et modèle de diffusion (modèle de diffusion)

  • Modélisation implicite (modélisation implicite) de la fonction de densité, via un processus stochastique qui génère directement des données. Par exemple, Réseau antagoniste génératif (réseau antagoniste génératif, GAN)

SignalPlus : Introduction à l'IA générative

Résumer

L'intelligence artificielle générative (GenAI) est un type d'intelligence artificielle qui peut être utilisé pour créer de nouveaux contenus et idées, y compris du texte, des images, des vidéos et de la musique. Comme toute intelligence artificielle, GenAI est un très grand modèle pré-entraîné par un modèle d'apprentissage en profondeur basé sur une grande quantité de données, souvent appelé modèle de base (FM). Avec GenAI, nous pouvons dessiner des images plus cool, écrire de plus beaux textes et composer de la musique plus émouvante, mais la première étape nous oblige à comprendre comment GenAI crée de nouvelles choses, comme l'a dit le responsable de l'article Richard Feynman "Je ne comprendrai pas ce que je ne peux pas créer".

Voir l'original
  • Récompense
  • Commentaire
  • Partager
Commentaire
Aucun commentaire