S'il ne s'agit que d'un cas unique, vous pouvez simplement recycler le réseau neuronal. Si vous devez fréquemment ajouter de nouvelles classes, c'est une mauvaise idée. Ce que vous voulez faire dans de tels cas est appelé récupération d'image basée sur le contenu (CBIR), ou simplement récupération d'image ou recherche visuelle. J'expliquerai les deux cas dans ma réponse ci-dessous.
Cas unique
Si cela ne se produit qu'une seule fois - vous avez oublié la 11e classe, ou votre client a changé d'avis - mais cela ne se reproduira plus , alors vous pouvez simplement un 11e nœud de sortie vers la dernière couche. Initialisez les poids sur ce nœud de manière aléatoire, mais utilisez les poids que vous avez déjà pour les autres sorties. Ensuite, entraînez-le comme d'habitude. Il pourrait être utile de fixer certains poids, c'est-à-dire de ne pas les entraîner.
Un cas extrême serait de ne former que les nouveaux poids et de laisser tous les autres fixes. Mais je ne sais pas si cela fonctionnera aussi bien - cela pourrait valoir la peine d'être essayé.
Récupération d'image basée sur le contenu
Prenons l'exemple suivant: vous travaillez pour une boutique de CD, qui souhaite que ses clients puissent prendre une photo d'une pochette d'album, et l'application leur montre le CD qu'ils ont numérisé dans leur boutique en ligne. Dans ce cas, vous devrez réentraîner le réseau pour chaque nouveau CD qu'ils ont dans le magasin. Cela pourrait être 5 nouveaux CD chaque jour, donc la formation du réseau de cette façon ne convient pas.
La solution consiste à former un réseau, qui mappe l'image dans un espace caractéristique. Chaque image sera représentée par un descripteur, qui est par exemple un vecteur à 256 dimensions. Vous pouvez "classer" une image en calculant ce descripteur et en le comparant à votre base de données de descripteurs (c'est-à-dire les descripteurs de tous les CD que vous avez dans votre magasin). Le descripteur le plus proche de la base de données l'emporte.
Comment entraînez-vous un réseau neuronal à apprendre un tel vecteur descripteur? C'est un domaine de recherche actif. Vous pouvez trouver des travaux récents en recherchant des mots clés tels que "récupération d'image" ou "apprentissage métrique".
À l'heure actuelle, les gens prennent généralement un réseau pré-formé, par exemple VGG-16, coupent les couches FC et utilisent la convolution finale comme vecteur de descripteur. Vous pouvez continuer à former ce réseau, par exemple en utilisant un réseau siamois avec une perte de triplet.