# Comment apprendre un nouveau visage ou un nouveau style à un modèle d’images?

Date: 2022-10-19 · Author: Robert Scales · https://guidetoartificialintelligence.com/fr/apprendre/apprendre-visage-style-modele-image/

**Answer:** Vous montrez au modèle une poignée de photos, habituellement de trois à cinq, du sujet ou du style que vous voulez, et vous lancez un court entraînement qui associe ces images à un nouveau mot que vous pourrez ensuite utiliser dans vos prompts. Les deux principales méthodes cette année sont l’inversion textuelle, qui apprend seulement un nouveau mot et laisse le modèle intact, et DreamBooth, qui ajuste le modèle lui-même pour qu’il apprenne le sujet.

Les modèles qui génèrent des images à partir de texte, comme Stable Diffusion, savent à quoi ressemble « un chat », mais pas à quoi ressemble *votre* chat. Aucune description n’y changera rien : vous pouvez écrire « chat tigré orange au menton blanc avec une oreille déchirée » et obtenir quand même le chat d’un inconnu. Deux méthodes de recherche publiées cet été comblent cet écart en apprenant au modèle un sujet précis à partir de quelques images.

Les deux sont maintenant à la portée des amateurs. La bibliothèque gratuite diffusers de Hugging Face a ajouté l’inversion textuelle et DreamBooth dans sa version du 6 octobre, chacune avec un carnet Google Colab prêt à l’emploi, un ordinateur partagé en ligne que vous pouvez utiliser à partir d’un navigateur.

## L’inversion textuelle : un nouveau mot, le même modèle

L’**inversion textuelle** (*textual inversion*) vient d’une équipe de l’Université de Tel-Aviv et de NVIDIA, qui a publié son article le 2 août. Son titre résume l’idée : une image vaut un mot.

Un modèle qui génère des images à partir de texte transforme d’abord chaque mot de votre prompt en **plongement** (*embedding*), une liste de nombres qui représente son sens. L’inversion textuelle ajoute un nouveau mot inventé, noté S* dans l’article, et cherche le plongement qui reproduit le mieux vos images d’exemple. Tout le reste du modèle demeure **gelé**, c’est-à-dire inchangé. Le résultat est un tout petit fichier que vous pouvez partager et combiner avec d’autres.

Une fois appris, le mot se comporte comme n’importe quel autre : « une photo de S* à la plage », ou même « un dessin de S*1 dans le style de S*2 ». Dans le montage des auteurs, apprendre un concept a pris environ deux heures sur deux cartes graphiques puissantes. L’article souligne que la méthode saisit bien l’essence générale d’un concept, mais peut rater les formes précises, ce qui convient mieux aux styles qu’aux ressemblances exactes.

## DreamBooth : ajuster le modèle lui-même

**DreamBooth**, de Google Research et de l’Université de Boston, a été publié le 25 août. Au lieu d’ajouter un mot, il procède à un **ajustement fin** du modèle : il modifie légèrement les nombres internes du modèle pour qu’il apprenne le sujet.

Chaque photo d’entraînement reçoit une légende selon un modèle fixe : « a [V] dog » (un chien [V]), où [V] est un jeton rare, un bout de texte que le modèle connaît à peine, et « dog » (chien) est la catégorie générale. Pour éviter que le modèle oublie à quoi ressemblent les chiens ordinaires, DreamBooth l’entraîne aussi sur des images de chiens que le modèle génère lui-même. Les auteurs appellent cela la **préservation de l’a priori** (*prior preservation*). Ils ont utilisé Imagen de Google et rapportent environ 15 minutes d’entraînement sur une des puces TPU de Google; la méthode n’est pas liée à un seul modèle, et la version de diffusers fonctionne avec Stable Diffusion.

Dans une comparaison côte à côte présentée dans l’article sur DreamBooth, la méthode a conservé plus de détails fins d’un sujet que l’inversion textuelle, mais les auteurs soulignent que les deux tournaient sur des modèles de base différents, si bien que la comparaison n’est peut-être pas tout à fait équitable. Le prix à payer est la taille : vous vous retrouvez avec un modèle ajusté complet plutôt qu’un petit fichier de mot.

| | Inversion textuelle | DreamBooth |
|---|---|---|
| Photos nécessaires | environ 3 à 5 | environ 3 à 5 |
| Ce qui change | le plongement d’un nouveau mot | les poids du modèle lui-même |
| Résultat | petit fichier, facile à partager | un modèle ajusté complet |
| Point fort | les styles, l’allure générale | la ressemblance fidèle d’un sujet |

## Un exemple concret : votre propre animal

Voici comment pourrait se dérouler un premier projet avec un chat nommé Miso, avec l’un ou l’autre des carnets.

1. **Choisissez de 3 à 5 photos.** Des angles, des pièces et des éclairages différents, Miso bien visible, aucun autre animal. Recadrez-les en carré.
2. **Choisissez le nouveau mot.** Pour DreamBooth, associez un jeton rare inventé à la catégorie, comme « a zqx cat ». Pour l’inversion textuelle, définissez un espace réservé comme `<miso>` et un mot de départ comme « cat ».
3. **Entraînez.** Suivez les étapes du carnet et laissez les réglages par défaut la première fois.
4. **Testez avec de nouvelles scènes.** Les prompts restent en anglais, comme on les tape dans l’outil (le chat qui dort dans un panier de laine à la lumière du matin, une aquarelle du chat sur un rebord de fenêtre, le chat coiffé d’un minuscule casque d’astronaute en photo de studio) :

```prompt
a photo of a zqx cat sleeping in a basket of yarn, morning light
a watercolor painting of a zqx cat on a windowsill
a zqx cat wearing a tiny astronaut helmet, studio photo
```

5. **Vérifiez les échecs connus.** L’article sur DreamBooth les énumère : des décors inhabituels peuvent ne pas être rendus, la scène peut modifier les couleurs du sujet (un fond bleu qui rend le chat bleuté), et des prompts trop proches des photos d’entraînement peuvent simplement les copier. Les animaux de compagnie sont le cas facile : l’article souligne que le modèle connaît déjà très bien les chiens et les chats.

> **À essayer :** avant d’entraîner quoi que ce soit, rassemblez cinq photos d’un animal ou d’un objet préféré et écrivez trois prompts de test : une scène ordinaire, un style artistique, une situation impossible. Avoir les tests prêts d’avance permet de juger facilement si l’entraînement a fonctionné.

## Quels sont les risques pour la vie privée et le consentement?

Les mêmes étapes qui fonctionnent pour un chat fonctionnent pour un visage humain, et c’est là qu’il faut être prudent. Les deux équipes de recherche soulèvent la question. Les auteurs de DreamBooth soulignent que des personnes malveillantes pourraient utiliser de telles images pour tromper le public. Les auteurs de l’inversion textuelle préviennent que des modèles personnalisés pourraient aider quelqu’un à fabriquer des images convaincantes de particuliers, même s’ils jugent que leur propre méthode ne retient pas encore l’identité d’une personne d’assez près pour cela.

Quelques règles permettent de rester du bon côté :

- **N’entraînez qu’avec les visages de personnes qui ont donné leur accord**, et dites-leur à quoi serviront les images. Pour des enfants, demandez à un parent, et réfléchissez-y à deux fois même dans ce cas.
- **N’entraînez pas avec les photos de quelqu’un d’autre** tirées des réseaux sociaux, même si elles sont publiques.
- **Indiquez que les résultats ont été créés par IA** quand vous les partagez, et ne présentez jamais une image générée d’une personne réelle comme un événement réel.
- **Gardez le fichier entraîné privé.** Un modèle ou un fichier de mot qui a appris un visage peut créer de nouvelles images de cette personne pour quiconque le possède.

Les styles soulèvent une question voisine. L’article sur l’inversion textuelle souligne lui-même qu’apprendre le style d’un artiste sans son consentement pourrait servir à éviter de le payer, tout en suggérant que les artistes pourraient aussi accorder des licences sur leur style. Avant d’entraîner un modèle sur les œuvres d’un artiste, demandez-vous s’il serait d’accord.

Au Québec, un visage est un renseignement personnel, et une entreprise qui utilise de cette façon les photos de ses clients ou de ses employés devrait traiter le projet comme toute autre utilisation de renseignements personnels, avec un consentement donné à une fin précise.

## Sources

- DreamBooth: Fine Tuning Text-to-Image Diffusion Models for Subject-Driven Generation: https://arxiv.org/abs/2208.12242v1
- An Image is Worth One Word: Personalizing Text-to-Image Generation using Textual Inversion: https://arxiv.org/abs/2208.01618v1
- diffusers v0.4.0 release notes: https://github.com/huggingface/diffusers/releases/tag/v0.4.0
