# Comment entraîner un style d’image et une reconnaissance de la parole sur votre propre machine?

Date: 2026-09-10 · Author: Robert Scales · https://guidetoartificialintelligence.com/fr/apprendre/entrainer-style-image-reconnaissance-parole/

**Answer:** Pour les images, entraînez un petit modèle de diffusion, ajoutez un adaptateur de faible rang et montrez-lui une trentaine d’images du nouveau style; pour la parole, enseignez des commandes à un petit réseau et testez-le sur des voix jamais entendues. Dans des tests mesurés, le style s’est transféré au complet mais la bonne forme est tombée à 56–76 %, et adapter Whisper à des noms inventés a fait passer l’orthographe correcte de 4 % à 85 % tout en dégradant les phrases ordinaires.

Les images et le son semblent loin du texte, mais les idées de cette série s’y appliquent : des poids gelés avec un petit adaptateur, des tests sur ce qui a été mis de côté et une mesure distincte pour ce qui ne doit pas changer. Cet article compte deux projets, tous deux exécutés sur un Apple M5 Max (PyTorch 2.15, Transformers 5.22). Les durées ci-dessous incluent d’autres travaux en cours sur la machine et sont donc élevées. Aucune carte NVIDIA n’a été testée, et aucun des projets n’utilise les images ou les voix de vraies personnes.

## Projet A : enseigner un nouveau style à un petit modèle d’images

Un [modèle de diffusion](https://arxiv.org/abs/2006.11239) apprend à prédire le bruit ajouté à une image, puis crée des images en retirant le bruit étape par étape. Les modèles d’images de taille normale exigent des gigaoctets. Pour rester accessible, `12a_image_style.py` dessine ses propres images de 32 pixels sur 32 : un cercle ou un carré, dans le style A (taches bleues douces sur fond pâle) ou le style B (hachures orange et noires sur fond sombre). Il construit un réseau de 597 571 paramètres, à qui l’on indique la forme à dessiner.

Le modèle de base s’entraîne sur 4 000 images du style A seulement. Il rencontre ensuite 30 images du style B, grâce à un adaptateur sur ses couches de convolution :

```python
class LoRAConv(nn.Module):
    """Une convolution gelée et une petite correction entraînable."""
    def __init__(self, conv, rank=4):
        super().__init__()
        self.conv = conv
        for p in conv.parameters():
            p.requires_grad_(False)
        self.down = nn.Conv2d(conv.in_channels, rank, conv.kernel_size, conv.stride, conv.padding, bias=False)
        self.up = nn.Conv2d(rank, conv.out_channels, 1, bias=False)
        nn.init.normal_(self.down.weight, std=0.02)
        nn.init.zeros_(self.up.weight)     # commence par « aucun changement »

    def forward(self, x):
        return self.conv(x) + self.up(self.down(x))
```

C’est l’idée de [LoRA](https://arxiv.org/abs/2106.09685) appliquée aux images. Mettre `up` à zéro signifie que le modèle adapté commence identique à la base.

Comment noter une image sans qu’une personne en regarde 200? Le script entraîne deux petits juges : l’un nomme le style, l’autre la forme. Vérifiés sur de vrais dessins, le juge du style a obtenu 100 % sur les deux styles, et celui de la forme, 100 % et 99,7 %. Le script demande ensuite un mélange de formes et juge 200 échantillons par modèle.

| Point de départ | Paramètres entraînables | Temps d’entraînement | Échantillons en style B | Bonne forme |
|---|---|---|---|---|
| Modèle de base, sans adaptateur | | 380 s | 0 % | 100 % |
| Adaptateur, rang 1 | 8 016 (1,3 %) | 102 s | 100 % | 56 % |
| Adaptateur, rang 4 | 32 064 (5,4 %) | 113 s | 100 % | 64 % |
| Adaptateur, rang 16 | 128 256 (21,5 %) | 127 s | 100 % | 72 % |
| Modèle de base, tous les poids réentraînés sur les 30 images | 597 571 | 114 s | 100 % | 76 % |
| Nouveau modèle à partir de zéro sur les 30 images | 597 571 | 103 s | 100 % | 73 % |

Le hasard pour la forme se situe à 50 %. Le style s’est donc déplacé complètement dans tous les cas, et c’est le contenu qui a souffert, la version image du [projet dix](/fr/apprendre/enseigner-style-ecriture-sans-changer-faits/). Mesurer le style seul aurait annoncé un succès total.

Le second constat est moins flatteur pour les adaptateurs. Sur ce problème jouet, ils n’ont donné aucun avantage de qualité. Un modèle à partir de zéro sur les mêmes 30 images a fait aussi bien, parce que la tâche est très simple. Ce qu’un adaptateur vous donne à coup sûr, c’est la taille : le rang 4 représente environ 5 % du modèle et s’active ou se désactive à volonté. Sur de vrais modèles d’images, entraînés sur des données bien plus riches, l’argument pour les réutiliser est beaucoup plus fort, mais ce projet ne l’a pas testé. Les explications pour [exécuter Stable Diffusion](/fr/apprendre/installer-stable-diffusion-sur-son-ordinateur/) peuvent vous y mener, avec leurs propres exigences matérielles et leur licence.

## Projet B : enseigner la reconnaissance et tester sur des inconnus

Le son vient de la commande `say` de macOS, et le script fonctionne donc sur un Mac. Sous Linux et Windows, il faudrait un autre générateur de voix, ce qui n’a pas été testé. Il y a 27 voix anglaises, 12 mots de commande comme « open » et « cancel » et trois vitesses d’élocution : 972 extraits. Chacun devient un spectrogramme de Mel, une image de l’énergie du son dans le temps, passée à un petit réseau de 24 300 paramètres. L’entraînement a pris environ 7 secondes. Ce genre de tâche, repérer un nombre limité de mots, est la raison d’être du [jeu Speech Commands](https://arxiv.org/abs/1804.03209), dont les auteurs soutiennent qu’elle exige ses propres données plutôt que des enregistrements de phrases.

| Comment le test a été fait (12 mots, hasard à 8,3 %) | Exactitude |
|---|---|
| Partage aléatoire : mêmes voix des deux côtés | 97,4 % |
| 6 voix jamais entendues, 21 pour l’entraînement | 83,3 % |
| 6 voix jamais entendues, seulement 3 pour l’entraînement | 53,7 % |

La chute de 14 points entre les deux premières lignes est encore une fuite : un partage aléatoire permet au modèle de reconnaître la voix. La dernière ligne montre quoi recueillir : plus de locuteurs, même avec peu d’extraits de chacun. Ce sont des voix synthétiques; attendez-vous à ce que de vrais micros, de vraies pièces et de vrais accents soient plus difficiles.

La reconnaissance de phrases est un travail trop gros pour partir de rien ici, et la seconde partie adapte donc un modèle tout prêt. [Whisper](https://cdn.openai.com/papers/whisper.pdf) tiny.en trébuche sur les noms qu’il n’a jamais entendus. Le script en utilise six, inventés, comme Zorvane et Kelmora. Seul le décodeur, la partie qui écrit les mots, a été entraîné (29,6 millions de paramètres) : 300 étapes, 323 secondes, à partir de 576 extraits de 12 voix. Le test utilise d’autres phrases et d’autres voix.

| Test sur des voix inconnues | Avant | Après |
|---|---|---|
| Nom inventé écrit correctement (108 extraits) | 3,7 % | 85,2 % |
| Taux d’erreur par mot sur ces phrases | 40,4 % | 33,8 % |
| Taux d’erreur par mot sur des phrases ordinaires sans noms | 17,6 % | 23,5 % |

Le taux d’erreur par mot compte les mots remplacés, ajoutés ou omis, par mot prononcé. Le gain sur les noms est grand et le coût paraît à la dernière ligne. Le modèle a empiré sur la parole de tous les jours. Une sortie après l’entraînement donnait « Our partner Zorvane launched the Quillby » pour « Our partner Zorvane wants a quote » : les noms d’entraînement apparaissaient là où ils n’ont pas leur place. Si vous n’aviez testé que les noms, vous auriez livré cela. Avant d’entraîner, essayez les options moins coûteuses de Whisper, comme un plus gros modèle ou le fait de [lui donner d’avance les noms difficiles](/fr/apprendre/transcrire-audio-avec-whisper/).

> **À essayer :** modifiez `TEST_V` dans `12b_speech.py` pour ne mettre de côté que des voix d’un seul accent et voyez si l’exactitude change. Cela vous dit qui vos données laissent tomber.

## Quelles images et quelles voix avez-vous le droit d’utiliser pour l’entraînement?

Rien ici n’a utilisé le visage, l’art ou la voix d’une vraie personne, ce qui a simplifié le projet. Le vôtre ne sera peut-être pas aussi simple. Ceci est de l’information générale et non un avis juridique.

| Matériel | Question à poser d’abord |
|---|---|
| Vos propres photos ou enregistrements | Montrent-ils ou captent-ils d’autres personnes? Ont-elles accepté cet usage? |
| Le style d’un artiste, à partir de ses œuvres | Droit d’auteur sur les images copiées, conditions de licence et simple politesse : demandez |
| La voix d’une ou d’un collègue | Permission écrite, précisant l’usage, la durée et le moyen de la retirer |
| La voix ou le visage d’une personnalité publique | Risque d’usurpation d’identité, même sans intention de tromper |
| Résultats de modèle à l’image d’une vraie personne | Indiquez-le. Ne vous en servez pas pour tromper |

Une voix ou un visage peut identifier une personne : traitez ces enregistrements comme des renseignements personnels sensibles. Au Québec, les données biométriques ont leurs propres règles, alors vérifiez auprès de la personne responsable de la protection des renseignements personnels avant d’en recueillir. Vérifiez aussi la licence du modèle de base, parce qu’elle suit votre adaptateur. Les extraits générés ici restent sur votre disque et ne sont pas publiés comme jeu de données.

## Sources

- Denoising Diffusion Probabilistic Models: https://arxiv.org/abs/2006.11239v1
- Speech Commands: A Dataset for Limited-Vocabulary Speech Recognition: https://arxiv.org/abs/1804.03209
- Robust Speech Recognition via Large-Scale Weak Supervision: https://cdn.openai.com/papers/whisper.pdf

---

Tiré du Guide de l’intelligence artificielle, par Robert Scales, publié par Holistic Hybrid inc. Partage et adaptation permis selon la licence CC BY-NC-SA 4.0 (https://creativecommons.org/licenses/by-nc-sa/4.0/) : citez le guide, mettez un lien vers https://guidetoartificialintelligence.com/fr/apprendre/entrainer-style-image-reconnaissance-parole/, pas d’usage commercial sans permission, et gardez la même licence.
