Glossaire du machine learning: modèles d'images

Cette page contient des termes du glossaire des modèles d'image. Pour consulter tous les termes du glossaire, cliquez ici.

A

réalité augmentée

#image

Technologie qui superpose une image générée par ordinateur à la vue d'un utilisateur du monde réel, fournissant ainsi une vue composite.

auto-encodeur

#language
#image

Système qui apprend à extraire les informations les plus importantes de l'entrée. Les auto-encodeurs associent un encodeur et un décodeur. Les auto-encodeurs s'appuient sur le processus en deux étapes suivant:

  1. L'encodeur mappe l'entrée dans un format (généralement) de dimension inférieure (intermédiaire) avec pertes.
  2. Le décodeur crée une version avec pertes de l'entrée d'origine en mappant le format de dimension inférieure au format d'entrée d'origine de dimension supérieure.

Les auto-encodeurs sont entraînés de bout en bout lorsque le décodeur tente de reconstruire l'entrée d'origine à partir du format intermédiaire de l'encodeur aussi fidèlement que possible. Comme le format intermédiaire est plus petit (de dimension inférieure) que le format d'origine, l'auto-encodeur est obligé d'apprendre quelles informations d'entrée sont essentielles. La sortie ne sera donc pas parfaitement identique à l'entrée.

Exemple :

  • Si les données d'entrée sont un graphique, la copie non exacte est semblable au graphique d'origine, mais légèrement modifiée. La copie non exacte supprime peut-être le bruit de l'élément graphique d'origine ou remplace certains pixels manquants.
  • Si les données d'entrée sont du texte, un auto-encodeur génère un nouveau texte qui imite le texte d'origine, mais n'est pas identique.

Consultez également la page sur les auto-encodeurs variationnels.

modèle autorégressif

#language
#image
#IAgénérative

model qui infère une prédiction à partir de ses propres prédictions précédentes. Par exemple, les modèles de langage autorégressifs prédisent le jeton suivant en fonction des jetons précédemment prédits. Tous les grands modèles de langage basés sur Transformer sont autorégressifs.

En revanche, les modèles d'images basés sur le GAN ne sont généralement pas autorégressifs, car ils génèrent une image en une seule étape avant et non de manière itérative par étapes. Cependant, certains modèles de génération d'images sont autorégressifs, car ils génèrent une image par étapes.

B

cadre de délimitation

#image

Dans une image, coordonnées (x, y) d'un rectangle autour d'une zone d'intérêt, comme le chien dans l'image ci-dessous.

Photographie d'un chien assis sur un canapé. Un cadre de délimitation vert avec les coordonnées en haut à gauche de (275, 1271) et celles en bas à droite de (2954, 2761) délimite le corps du chien.

C

convolution

#image

En mathématiques, dans le langage courant, il s'agit d'un mélange de deux fonctions. En machine learning, une convolution mélange le filtre convolutif et la matrice d'entrée pour entraîner des pondérations.

Dans le domaine du machine learning, le terme "convolution" désigne souvent une opération convolutive ou une couche convolutive.

Sans convolution, un algorithme de machine learning devrait apprendre une pondération distincte pour chaque cellule d'un grand Tensor. Par exemple, un algorithme de machine learning sur des images de 2K x 2K serait forcé de trouver 4 millions de pondérations distinctes. Grâce aux convolutions, un algorithme de machine learning ne doit trouver des pondérations que pour chaque cellule du filtre convolutif, ce qui réduit considérablement la mémoire nécessaire à l'entraînement du modèle. Lorsque le filtre convolutif est appliqué, il est simplement répliqué entre les cellules, de sorte que chacune d'elles soit multipliée par le filtre.

filtre convolutif

#image

L'un des deux acteurs d'une opération convolutive. (L'autre acteur est une tranche d'une matrice d'entrée.) Un filtre convolutif est une matrice ayant le même rang que la matrice d'entrée, mais de forme plus petite. Par exemple, avec une matrice d'entrée de 28 x 28, le filtre peut être n'importe quelle matrice 2D d'une taille inférieure à 28 x 28.

Dans la manipulation photographique, toutes les cellules d'un filtre convolutif sont généralement définies sur un motif constant de uns et de zéros. En machine learning, les filtres convolutifs sont généralement alimentés par des nombres aléatoires, puis le réseau entraîne les valeurs idéales.

couche convolutive

#image

Couche d'un réseau de neurones profond dans laquelle un filtre convolutif transmet une matrice d'entrée. Prenons l'exemple du filtre convolutif 3 x 3 suivant:

Matrice 3x3 avec les valeurs suivantes: [[0,1,0], [1,0,1], [0,1,0]]

L'animation suivante montre une couche convolutive composée de neuf opérations convolutives impliquant la matrice d'entrée 5x5. Notez que chaque opération convolutive fonctionne sur une tranche 3 x 3 différente de la matrice d'entrée. La matrice 3x3 résultante (à droite) est constituée des résultats des neuf opérations convolutives:

Animation montrant deux matrices. La première matrice est la matrice 5x5: [[128,97,53,201,198], [35,22,25,200,195], [37,24,28,197,182], [33,28,92,195,179], [31,4]
          La deuxième matrice est la matrice 3x3 : [[181,303,618], [115,338,605], [169,351,560]].
          La deuxième matrice est calculée en appliquant le filtre convolutif [[0, 1, 0], [1, 0, 1], [0, 1, 0]] à différents sous-ensembles 3x3 de la matrice 5x5.

réseau de neurones convolutif

#image

Réseau de neurones dans lequel au moins une couche est une couche convolutive. Un réseau de neurones convolutif typique consiste en une combinaison des couches suivantes:

Les réseaux de neurones convolutifs ont rencontré un franc succès dans certains types de problèmes, tels que la reconnaissance d'image.

opération convolutive

#image

L'opération mathématique en deux étapes suivante:

  1. Multiplication élément par élément du filtre convolutif et d'une tranche d'une matrice d'entrée. (La tranche de la matrice d'entrée a le même rang et la même taille que le filtre convolutif.)
  2. Somme de toutes les valeurs de la matrice de produits résultante.

Prenons l'exemple de la matrice d'entrée 5 x 5 suivante:

La matrice 5x5: [[128,97,53,201,198], [35,22,25,200,195], [37,24,28,197,182], [33,28,92,195,179], [31,40],100,7

Imaginons maintenant le filtre convolutif 2 x 2 suivant:

Matrice 2x2: [[1, 0], [0, 1]]

Chaque opération convolutive implique une seule tranche 2x2 de la matrice d'entrée. Par exemple, supposons que nous utilisons la tranche 2x2 en haut à gauche de la matrice d'entrée. Ainsi, l'opération de convolution sur cette tranche se présente comme suit:

Application du filtre convolutif [[1, 0], [0, 1]] en haut à gauche de la section 2x2 de la matrice d'entrée, qui est [[128,97], [35,22]]
          Le filtre convolutif laisse les valeurs 128 et 22 intactes, mais met à zéro les valeurs 97 et 35. Par conséquent, l'opération de convolution donne la valeur 150 (128+22).

Une couche convolutive consiste en une série d'opérations convolutives, chacune agissant sur une tranche différente de la matrice d'entrée.

D

augmentation des données

#image

Augmentation artificielle de l'éventail et du nombre d'exemples d'entraînement en transformant des exemples existants pour en créer d'autres. Par exemple, supposons que les images constituent l'une de vos fonctionnalités, mais que votre ensemble de données ne contienne pas suffisamment d'exemples d'images pour que le modèle apprenne des associations utiles. Idéalement, vous devriez ajouter suffisamment d'images avec étiquette à votre ensemble de données pour permettre à votre modèle de s'entraîner correctement. Si cela n'est pas possible, l'augmentation des données peut faire pivoter, étirer et refléter chaque image pour produire de nombreuses variantes de l'image d'origine, fournissant éventuellement suffisamment de données étiquetées pour un entraînement optimal.

Réseau de neurones convolutif séparable en profondeur (sepCNN)

#image

Architecture de réseau de neurones convolutif basée sur Inception, mais où les modules Inception sont remplacés par des convolutions séparables en profondeur. Également appelé Xception.

Une convolution séparable en profondeur (également appelée convolution séparable) transforme une convolution 3D standard en deux opérations de convolution distinctes plus efficaces en termes de calcul: d'abord, une convolution en profondeur, avec une profondeur de 1 (n x n × 1), puis une convolution pointique de 1 × n × largeur.

Pour en savoir plus, consultez Xception: Deep Learning with Depthwise Séparable Convolutions.

sous-échantillonnage

#image

Terme complexe qui peut désigner l'un des termes suivants:

  • Réduction de la quantité d'informations dans une caractéristique afin d'entraîner un modèle plus efficacement. Par exemple, avant d'entraîner un modèle de reconnaissance d'image, sous-échantillonnage d'images haute résolution dans un format de résolution inférieure.
  • Entraînement sur un pourcentage disproportionné d'exemples de classe surreprésentées afin d'améliorer l'entraînement du modèle sur les classes sous-représentées. Par exemple, dans un ensemble de données avec déséquilibre des classes, les modèles ont tendance à beaucoup apprendre sur la classe majoritaire et pas assez sur la classe minoritaire. Le sous-échantillonnage permet d'équilibrer la quantité d'entraînement sur les classes majoritaires et minoritaires.

F

réglage

#language
#image
#IAgénérative

Une deuxième passe d'entraînement spécifique à une tâche effectuée sur un modèle pré-entraîné afin d'affiner ses paramètres pour un cas d'utilisation spécifique. Par exemple, la séquence d'entraînement complète pour certains grands modèles de langage est la suivante:

  1. Pré-entraînement:entraînez un grand modèle de langage sur un vaste ensemble de données général, comme toutes les pages Wikipédia en anglais.
  2. Ajustement:entraînez le modèle pré-entraîné à effectuer une tâche spécifique, comme répondre à des requêtes médicales. L'affinage implique généralement des centaines, voire des milliers d'exemples axés sur la tâche spécifique.

Dans cet autre exemple, la séquence d'entraînement complète pour un grand modèle d'images se présente comme suit:

  1. Pré-entraînement:entraînez un grand modèle d'images sur un vaste ensemble de données d'images génériques, tel que toutes les images de Wikimedia commons.
  2. Ajustement:entraînez le modèle pré-entraîné à effectuer une tâche spécifique, comme générer des images d'orques.

Pour l'optimiser, vous pouvez combiner les stratégies suivantes:

  • Modifier tous les paramètres existants du modèle pré-entraîné On parle parfois de réglage complet.
  • Ne modifier que certains des paramètres existants du modèle pré-entraîné (généralement, les couches les plus proches de la couche de sortie), tout en conservant les autres paramètres existants inchangés (en général, les couches les plus proches de la couche d'entrée) Consultez la section Optimiser l'efficacité des paramètres.
  • Ajout de couches, généralement au-dessus des couches existantes les plus proches de la couche de sortie.

L'affinage est une forme d'apprentissage par transfert. Ainsi, l'affinage peut utiliser une fonction de perte ou un type de modèle différents de ceux utilisés pour entraîner le modèle pré-entraîné. Par exemple, vous pouvez affiner un grand modèle d'images pré-entraîné pour produire un modèle de régression qui renvoie le nombre d'oiseaux dans une image d'entrée.

Comparer et différencier l'affinage avec les termes suivants:

G

IA générative

#language
#image
#IAgénérative

Un domaine novateur en pleine transformation, sans définition formelle. Cela dit, la plupart des experts s'accordent à dire que les modèles d'IA générative peuvent créer ("générer") des contenus présentant tous les éléments suivants:

  • complexe
  • cohérentes
  • originale

Par exemple, un modèle d'IA générative peut créer des images ou des essais complexes.

Certaines technologies antérieures, telles que les LSTM et les RNN, peuvent également générer du contenu original et cohérent. Certains experts considèrent ces technologies antérieures comme de l'IA générative, tandis que d'autres estiment que la véritable IA générative nécessite des résultats plus complexes que ce que peuvent produire ces technologies antérieures.

À comparer au ML prédictif.

I

reconnaissance d'image

#image

Processus qui classe les objets, les motifs ou les concepts d'une image. La reconnaissance d'images est également appelée classification d'images.

Pour en savoir plus, consultez Travaux pratiques sur le ML: Classification d'images.

intersection over union, IoU (intersection sur union)

#image

Intersection de deux ensembles divisée par leur union. Dans les tâches de détection d'images par machine learning, l'IoU permet de mesurer la précision du cadre de délimitation prédit du modèle par rapport au cadre de vérité terrain. Dans ce cas, l'IoU des deux cadres correspond au rapport entre l'aire de chevauchement et la surface totale. Sa valeur est comprise entre 0 (pas de chevauchement du cadre de délimitation prédit et du cadre de délimitation de vérité terrain) à 1 (le cadre de délimitation prédit et le cadre de délimitation de vérité terrain ont exactement les mêmes coordonnées).

Par exemple, dans l'image ci-dessous:

  • Le cadre de délimitation prédit (les coordonnées délimitant l'endroit où le modèle prédit la position de la table de nuit dans le tableau) est encadré en violet.
  • Le cadre de délimitation de vérité terrain (les coordonnées délimitant l'emplacement réel de la table de nuit dans le tableau) est encadré en vert.

Le tableau de Van Gogh sur la chambre de Vincent à Arles, avec deux cadres de délimitation différents autour de la table de nuit à côté du lit. Le cadre de délimitation de vérité terrain (en vert) délimite parfaitement la table de nuit. Le cadre de délimitation prédit (en violet) est décalé de 50% vers le bas et vers la droite par rapport à la vérité terrain. Il entoure le quart inférieur droit de la table de nuit, mais manque le reste de la table.

Ici, l'intersection des cadres de délimitation pour la prédiction et la vérité terrain (en bas à gauche) est de 1, et l'union des cadres de délimitation pour la prédiction et la vérité terrain (en bas à droite) est de 7. L'IoU est donc \(\frac{1}{7}\).

Même image que ci-dessus, mais chaque cadre de délimitation est divisé en quatre quadrants. Il y a sept quadrants au total, car le quadrant inférieur droit du cadre de délimitation de vérité terrain et le quadrant supérieur gauche du cadre de délimitation prédit se chevauchent. Cette section qui se superpose (en vert) représente l'intersection et a une zone de 1. Même image que ci-dessus, mais chaque cadre de délimitation est divisé en quatre quadrants. Il y a sept quadrants au total, car le quadrant inférieur droit du cadre de délimitation de vérité terrain et le quadrant supérieur gauche du cadre de délimitation prédit se chevauchent.
          L'ensemble de l'intérieur, délimité par les deux cadres de délimitation (en vert), représente l'union, et a une surface de 7.

K

points clés

#image

Coordonnées d'éléments géographiques particuliers dans une image. Par exemple, pour un modèle de reconnaissance d'images qui distingue des espèces de fleurs, les points clés peuvent être le centre de chaque pétale, de la tige, de l'étoile, etc.

L

landmarks

#image

Synonyme de points clés.

Lu

MNIST

#image

Ensemble de données du domaine public compilé par LeCun, Cortes et Burges contenant 60 000 images, chaque image montrant comment un humain a écrit manuellement un chiffre particulier compris entre 0 et 9. Chaque image est stockée sous la forme d'un tableau d'entiers 28x28, où chaque entier est une valeur en échelle de gris comprise entre 0 et 255 inclus.

MNIST est un ensemble de données canonique pour le machine learning, souvent utilisé pour tester de nouvelles approches de machine learning. Pour en savoir plus, consultez la base de données MNIST de chiffres écrits à la main.

P

pooling

#image

Réduction d'une ou de plusieurs matrices créées par une couche convolutive antérieure à une matrice plus petite. Le pooling implique généralement de prendre la valeur maximale ou moyenne de la zone mise en commun. Par exemple, supposons que nous ayons la matrice 3 x 3 suivante:

Matrice 3x3 [[5,3,1], [8,2,5], [9,4,3]].

Une opération de pooling, tout comme une opération convolutive, divise cette matrice en tranches, puis fait glisser cette opération convolutive à progrès. Par exemple, supposons que l'opération de pooling divise la matrice convolutive en tranches de 2 x 2 avec un pas de 1 x 1. Comme le montre le schéma suivant, quatre opérations de pooling ont lieu. Imaginez que chaque opération de pooling sélectionne la valeur maximale des quatre valeurs de cette tranche:

La matrice d'entrée est de 3 x 3, avec les valeurs suivantes: [[5,3,1], [8,2,5], [9,4,3]].
          La sous-matrice 2x2 supérieure gauche de la matrice d'entrée est [[5,3], [8,2]]. L'opération de pooling en haut à gauche génère donc la valeur 8 (qui est le maximum de 5, 3, 8 et 2). La sous-matrice 2 x 2 supérieure droite de la matrice d'entrée correspond à [[3,1], [2,5]]. L'opération de pooling en haut à droite génère donc la valeur 5. La sous-matrice 2x2 inférieure gauche de la matrice d'entrée est [[8,2], [9,4]]. L'opération de pooling en bas à gauche donne donc la valeur 9. La sous-matrice 2x2 inférieure droite de la matrice d'entrée correspond à [[2,5], [4,3]]. L'opération de pooling en bas à droite génère donc la valeur 5. En résumé, l'opération de pooling donne la matrice 2x2 [[8,5], [9,5]].

Le pooling permet d'appliquer l'invariance par translation dans la matrice d'entrée.

Dans les applications de vision, le pooling est officiellement appelé pooling spatial. Dans les applications de séries temporelles, le pooling est généralement appelé pooling temporel. Plus formellement, le pooling est souvent désigné par les termes de sous-échantillonnage ou réduction d'échantillonnage.

modèle pré-entraîné

#language
#image
#IAgénérative

Modèles ou composants de modèle (tels qu'un vecteur de représentation vectorielle continue) qui ont déjà été entraînés. Parfois, vous transmettez des vecteurs de représentation vectorielle continue pré-entraînés dans un réseau de neurones. D'autres fois, le modèle va entraîner lui-même les vecteurs de représentation vectorielle continue au lieu de s'appuyer sur les représentations vectorielles continues pré-entraînées.

Le terme modèle de langage pré-entraîné fait référence à un grand modèle de langage qui a fait l'objet d'un pré-entraînement.

pré-entraînement

#language
#image
#IAgénérative

Entraînement initial d'un modèle sur un ensemble de données volumineux. Certains modèles pré-entraînés sont des géants maladroites et doivent généralement être affinés par le biais d'un entraînement supplémentaire. Par exemple, les experts en ML peuvent pré-entraîner un grand modèle de langage sur un vaste ensemble de données de texte, comme toutes les pages en anglais de Wikipédia. À la suite du pré-entraînement, le modèle résultant peut être affiné davantage grâce à l'une des techniques suivantes:

R

invariance rotationnelle

#image

Dans un problème de classification d'images, capacité d'un algorithme à classer correctement des images même lorsque leur orientation change. Par exemple, l'algorithme peut toujours identifier une raquette de tennis, qu'elle pointe vers le haut, le côté ou le bas. Notez que l'invariance rotationnelle n'est pas toujours souhaitable. Par exemple, un 9 à l'envers ne doit pas être classé comme un 9.

Voir aussi invariance par translation et invariance par taille.

S

invariance par redimensionnement

#image

Dans un problème de classification d'images, capacité d'un algorithme à classer correctement des images même lorsque leur taille change. Par exemple, l'algorithme peut tout de même identifier un chat, qu'il utilise 2 millions de pixels ou 200 000 pixels. Notez que même les meilleurs algorithmes de classification d'images présentent des limites pratiques en termes d'invariance par taille. Par exemple, il est peu probable qu'un algorithme (ou un humain) classe correctement une image de chat de seulement 20 pixels.

Voir aussi invariance par translation et invariance rotationnelle.

pooling spatial

#image

Consultez la section Pooling.

stride

#image

Dans une opération de convolution ou de pooling, delta dans chaque dimension de la prochaine série de tranches d'entrée. Par exemple, l'animation suivante montre un pas (1,1) lors d'une opération convolutive. Par conséquent, la tranche d'entrée suivante commence une position à droite de la tranche d'entrée précédente. Lorsque l'opération atteint le bord droit, la tranche suivante est complètement à gauche, mais une position vers le bas.

Une matrice d'entrée 5x5 et un filtre convolutif 3x3. Comme le pas correspond à (1,1), un filtre convolutif sera appliqué neuf fois. La première tranche convolutive évalue la sous-matrice 3x3 en haut à gauche de la matrice d'entrée. La deuxième tranche évalue la sous-matrice 3x3 supérieure au milieu. La troisième tranche convolutive évalue la sous-matrice 3x3 en haut à droite.  La quatrième tranche évalue la sous-matrice 3x3 au milieu et à gauche.
     La cinquième tranche évalue la sous-matrice 3x3 centrale. La sixième tranche évalue la sous-matrice 3x3 au milieu à droite. La septième tranche évalue la sous-matrice 3x3 en bas à gauche.  La huitième tranche évalue la sous-matrice 3x3 en bas au milieu. La neuvième tranche évalue la sous-matrice 3x3 en bas à droite.

L'exemple précédent montre un pas en deux dimensions. Si la matrice d'entrée est tridimensionnelle, le pas est également tridimensionnel.

sous-échantillonnage

#image

Consultez la section Pooling.

T

température

#language
#image
#IAgénérative

Hyperparamètre qui contrôle le degré de hasard des résultats d'un modèle. Des températures plus élevées génèrent des résultats plus aléatoires, tandis que des températures plus basses génèrent des résultats moins aléatoires.

Le choix de la température optimale dépend de l'application spécifique et des propriétés préférées de la sortie du modèle. Par exemple, vous augmenteriez probablement la température lors de la création d'une application qui génère des résultats de création. À l'inverse, vous devriez probablement baisser la température lorsque vous créez un modèle qui classe les images ou le texte afin d'améliorer la précision et la cohérence du modèle.

La température est souvent utilisée avec softmax.

invariance par translation

#image

Dans un problème de classification d'images, capacité d'un algorithme à classer correctement des images même lorsque la position des objets dans l'image change. Par exemple, l'algorithme peut toujours identifier un chien, qu'il se trouve au centre ou à gauche de l'image.

Voir aussi invariance par redimensionnement et invariance rotationnelle.