Glossaire du machine learning

Ce glossaire donne la définition des termes courants liés au machine learning (apprentissage automatique) ainsi que des termes propres à TensorFlow.

A

test A/B (A/B testing)

Méthode statistique de comparaison d'au moins deux techniques, généralement une technique en place et une nouvelle technique concurrente. Le test A/B vise non seulement à déterminer la technique la plus performante, mais aussi si la différence est statistiquement significative. Généralement, le test A/B compare deux techniques sur la base d'une seule mesure. Il peut cependant être appliqué à n'importe quel nombre fini de techniques et de mesures.

justesse (accuracy)

Proportion de prédictions correctes d'un modèle de classification. Dans la classification à classes multiples, la justesse est définie comme suit :

$$\text{Justesse} = \frac{\text{Prédictions correctes}} {\text{Nombre total d'exemples}}$$

Dans la classification binaire, la justesse est définie ainsi :

$$\text{Justesse} = \frac{\text{Vrais positifs} + \text{Vrais négatifs}} {\text{Nombre total d'exemples}}$$

Voir vrai positif et vrai négatif.

fonction d'activation (activation function)

Fonction (par exemple ReLU ou sigmoïde) qui utilise la somme pondérée de toutes les entrées de la couche précédente pour générer une valeur de sortie (généralement non linéaire) et la transmettre à la couche suivante.

AdaGrad

Algorithme complexe de descente de gradient qui redimensionne les gradients de chaque paramètre en attribuant à chacun des paramètres un taux d'apprentissage indépendant. Pour une explication complète, consultez cet article.

AUC (aire sous la courbe ROC) (AUC (Area under the ROC Curve))

Statistique d'évaluation qui envisage tous les seuils de classification possibles.

L'aire sous la courbe ROC correspond à la probabilité que le niveau de confiance d'un classificateur quant au fait qu'un exemple positif choisi aléatoirement soit effectivement positif soit supérieur au niveau de confiance quant au fait qu'un exemple négatif choisi aléatoirement soit positif.

B

rétropropagation (backpropagation)

Algorithme principal utilisé pour exécuter la descente de gradient sur des réseaux de neurones. Les valeurs de sortie de chaque nœud sont d'abord calculées (et mises en cache) dans une propagation avant, puis la dérivée partielle de l'erreur pour chaque paramètre est calculée dans une rétropropagation via le graphe.

référence (baseline)

Modèle simple ou heuristique utilisé comme point de référence pour comparer les performances d'un modèle. Une référence aide les développeurs de modèles à quantifier les performances minimales attendues pour un problème particulier.

lot (batch)

Ensemble d'exemples utilisés dans une itération (c'est-à-dire, une mise à jour du gradient) de l'entraînement du modèle.

Voir aussi taille de lot.

taille de lot (batch size)

Nombre d'exemples d'un lot. Par exemple, la taille de lot de SGD est 1, tandis que la taille de lot d'un mini-lot est généralement comprise entre 10 et 1 000. La taille de lot est habituellement fixée pendant les processus d'apprentissage et d'inférence. Toutefois, TensorFlow accepte les tailles de lot dynamiques.

biais (bias)

Ordonnée à l'origine ou décalage par rapport à une origine. Le biais est noté b ou w0 dans les modèles de machine learning. Par exemple, b représente le biais dans la formule suivante :

$$y' = b + w_1x_1 + w_2x_2 + … w_nx_n$$

À ne pas confondre avec le biais de prédiction.

classification binaire (binary classification)

Type de tâche de classification qui prédit l'une des deux classes mutuellement exclusives. Par exemple, un modèle de machine learning qui classe les e-mails en tant que "spam" ou "non-spam" est un classificateur binaire.

binning

Voir binning (bucketing).

binning (bucketing)

Conversion d'une caractéristique (généralement continue) en plusieurs caractéristiques binaires appelées "ensembles" ou "classes", habituellement en fonction d'une plage de valeurs. Par exemple, plutôt que de représenter une température comme une seule caractéristique continue à virgule flottante, vous pouvez scinder des plages de températures en classes distinctes. Si la sensibilité des données de température est d'un dixième de degré, toutes les températures comprises entre 0,0 et 15,0 peuvent être placées dans une même classe, celles comprises entre 15,1 et 30,0 dans une deuxième, et celles entre 30,1 et 50,0 dans une troisième.

C

niveau de calibration (calibration layer)

Ajustement réalisé après la prédiction, généralement pour prendre en compte le biais de prédiction. Les prédictions et les probabilités ajustées doivent correspondre à la distribution d'un ensemble observé d'étiquettes.

échantillonnage de candidats (candidate sampling)

Optimisation réalisée lors de l'apprentissage, dans laquelle une probabilité est calculée pour toutes les étiquettes positives, en utilisant par exemple softmax, mais seulement pour un échantillon aléatoire d'étiquettes négatives. Si un exemple est étiqueté beagle et chien, l'échantillonnage de candidats calcule les probabilités prédites et les termes de pertes correspondants pour les sorties de classe beagle et chien, en plus d'un sous-ensemble aléatoire des classes restantes (chat, sucette, clôture). Le but est que les classes négatives puissent apprendre à partir d'un renforcement négatif moins fréquent tant que les classes positives sont correctement renforcées positivement, ce qui est effectivement observé empiriquement. L'intérêt de l'échantillonnage des candidats est d'améliorer l'efficacité du calcul en ne calculant pas les prédictions pour tous les négatifs.

données catégorielles (categorical data)

Caractéristiques avec un ensemble discret de valeurs possibles. Par exemple, une caractéristique catégorique nommée house style, avec l'ensemble discret de trois valeurs possibles suivant : Tudor, ranch, colonial. En représentant house style comme une donnée catégorielle, le modèle peut apprendre l'impact de chaque valeur Tudor, ranch et colonial sur la valeur immobilière.

Parfois, les valeurs de l'ensemble discret s'excluent mutuellement, et une seule valeur peut être appliquée à un exemple donné. Par exemple, la caractéristique catégorique car maker n'autoriserait probablement qu'une seule valeur (Toyota) pour chaque exemple. Dans d'autres cas, plusieurs valeurs peuvent s'appliquer. Une voiture peut être peinte de différentes couleurs. Ainsi, la caractéristique catégorique car color autoriserait probablement plusieurs valeurs (par exemple, red et white) pour un exemple.

Les caractéristiques catégoriques sont parfois appelées caractéristiques discrètes.

À comparer aux données numériques.

centroïde (centroid)

Centre d'un cluster déterminé par un algorithme k-moyennes ou k-médiane. Par exemple, si k est égal à 3, alors l'algorithme k-moyennes ou k-médiane trouve 3 centroïdes.

point de contrôle (checkpoint)

Données qui capturent l'état des variables d'un modèle à un instant donné. Les points de contrôle permettent d'exporter les pondérations du modèle et de réaliser des apprentissages sur plusieurs sessions. Ils permettent aussi à l'apprentissage de se poursuivre en cas d'erreur (par exemple, préemption de tâche). Notez que le graphe lui-même n'est pas inclus dans un point de contrôle.

classe (class)

Un des ensembles de valeurs cibles énumérées pour une étiquette. Par exemple, dans un modèle de classification binaire de détection du spam, les deux classes sont spam et non-spam. Dans un modèle de classification à classes multiples qui identifie les races de chiens, les classes peuvent être caniche, beagle, carlin, etc.

ensemble de données avec déséquilibre des classes (class-imbalanced data set)

Problème de classification binaire dans lequel les fréquences des étiquettes des deux classes sont significativement différentes. Par exemple, un ensemble de données de maladie dans lequel 0,0001 des exemples ont des étiquettes positives et 0,9999 ont des étiquettes négatives est un problème de déséquilibre des classes. Par contre, une prédiction de match de football dans laquelle 0,51 des exemples étiquettent une équipe comme gagnante et 0,49 étiquettent l'autre équipe comme gagnante n'est pas un problème avec un déséquilibre des classes.

modèle de classification (classification model)

Type de modèle de machine learning permettant de différencier deux classes discrètes ou plus. Par exemple, un modèle de classification par traitement du langage naturel pourrait déterminer si une phrase en entrée est en français, en espagnol ou en italien. À comparer au modèle de régression.

seuil de classification (classification threshold)

Critère de valeur scalaire appliqué au score d'un modèle dans le but de séparer la classe positive de la classe négative. Utilisé pour mettre en correspondance les résultats de la régression logistique et la classification binaire. Supposons un modèle de régression logistique qui détermine la probabilité qu'un message donné soit du spam. Si le seuil de classification est de 0,9, les valeurs de la régression logistique supérieures à 0,9 sont classées comme spam, et celles inférieures comme non spam.

clustering

Groupement d'exemples similaires, en particulier lors d'un apprentissage non supervisé. Une fois tous les exemples groupés, une personne peut éventuellement attribuer un sens à chaque cluster.

Il existe de nombreux algorithmes de clustering. Par exemple, l'algorithme k-moyennes groupe des exemples en fonction de leur proximité avec un centroïde, comme dans le diagramme suivant :

image/svg+xml 50 or so examples clustered into two groups. hauteur de l'arbre largeur de l'arbre centroïde cluster 1 cluster 2

Un chercheur pourrait alors examiner les clusters et, par exemple, étiqueter le cluster 1 en tant qu'"arbres nains" et le cluster 2 en tant qu'"arbres de taille normale".

Autre exemple, celui d'un algorithme de clustering basé sur la distance entre un exemple et un point central, illustré comme suit :

image/svg+xml Three sets of examples, each somewhat further from the center. cluster 1 cluster 2 cluster 3

filtrage collaboratif (collaborative filtering)

Réalisation de prédictions sur les centres d'intérêt d'un utilisateur reposant sur les centres d'intérêt de nombreux autres utilisateurs. Le filtrage collaboratif est souvent utilisé dans les systèmes de recommandation.

matrice de confusion (confusion matrix)

Table NxN qui résume la réussite des prédictions d'un modèle de classification, c'est-à-dire la corrélation entre les étiquettes et les classifications du modèle. L'un des axes d'une matrice de confusion est l'étiquette prédite par le modèle, et l'autre l'étiquette réelle. N correspond au nombre de classes. Dans un problème de classification binaire, N=2. Voici un exemple de matrice de confusion pour un problème de classification binaire :

Tumeur (prédiction) Pas de tumeur (prédiction)
Tumeur (réel) 18 1
Pas de tumeur (réel) 6 452

La matrice de confusion ci-dessus montre que pour les 19 échantillons qui étaient réellement des tumeurs, le modèle a correctement classé 18 d'entre eux comme tumeurs (18 vrais positifs) et incorrectement classé 1 comme n'ayant pas de tumeur (1 faux négatif). De même, parmi les 458 échantillons sans tumeur, 452 ont été correctement classés (452 vrais négatifs) et 6 ont été incorrectement classés (6 faux positifs).

La matrice de confusion relative à un problème de classification à classes multiples peut vous aider à déterminer les schémas d'erreur. Par exemple, une matrice de confusion peut révéler qu'un modèle entraîné à reconnaître les chiffres écrits à la main tend à prédire de façon erronée 9 à la place de 4, ou 1 au lieu de 7.

Les matrices de confusion contiennent suffisamment d'informations pour calculer diverses statistiques de performance, notamment la précision et le rappel.

caractéristique continue (continuous feature)

Caractéristique à virgule flottante avec une plage infinie de valeurs possibles. À comparer à la caractéristique discrète.

convergence

Désigne familièrement un état atteint pendant l'apprentissage, dans lequel la perte d'apprentissage et la perte de validation varient peu ou pas du tout entre chaque itération, passé un certain nombre d'itérations. Autrement dit, un modèle atteint la convergence lorsque la poursuite de l'apprentissage sur les données actuelles n'améliore pas le modèle. Dans le deep learning, les valeurs de perte restent parfois constantes ou presque pendant de nombreuses itérations avant de finalement diminuer, faisant croire à tort, temporairement, que la convergence a été atteinte.

Voir aussi arrêt prématuré.

Voir aussi le livre de Stephen Boyd et Lieven Vandenberghe, Convex Optimization (en anglais).

fonction convexe (convex function)

Fonction dans laquelle la région au-dessus du graphique est un ensemble convexe. Classiquement, une fonction convexe est en forme de U. Par exemple, les fonctions suivantes sont toutes des fonctions convexes :

Une fonction convexe typique est en U.

À titre de comparaison, la fonction suivante n'est pas convexe. Notez comment la région au-dessus du graphique diffère d'un ensemble convexe :

Fonction non convexe Une fonction non convexe. minimum local minimum local minimum global

Une fonction strictement convexe possède exactement un minimum local, qui est également le minimum global. Les fonctions classiques en U sont des fonctions strictement convexes. Ce n'est pas le cas de certaines fonctions convexes, comme les droites.

De nombreuses fonctions de perte courantes, telles que les fonctions suivantes, sont convexes :

Dans de nombreux cas de descente de gradient, on peut être certain de trouver un point proche du minimum d'une fonction strictement convexe. De même, dans de nombreux cas de descente de gradient stochastique, la probabilité est forte de trouver un point proche du minimum d'une fonction strictement convexe, bien que cela ne soit pas garanti pour autant.

La somme de deux fonctions convexes (par exemple, perte L2 + régularisation L1) est une fonction convexe.

Les modèles profonds ne sont jamais des fonctions convexes. Il est à noter que les algorithmes conçus pour l'optimisation convexe tendent de toute façon à trouver des solutions raisonnablement satisfaisantes pour les réseaux profonds, même s'il n'est pas certain que ces solutions soient des minimums globaux.

optimisation convexe (convex optimization)

Processus consistant à utiliser des techniques mathématiques telles que la descente de gradient pour déterminer le minimum d'une fonction convexe. Dans le domaine du machine learning, de nombreuses études ont cherché à exprimer divers problèmes sous la forme de problèmes d'optimisation convexe pour les résoudre plus efficacement.

Pour des informations détaillées, voir le livre de Stephen Boyd et Lieven Vandenberghe, Convex Optimization (en anglais).

ensemble convexe (convex set)

Sous-ensemble de l'espace euclidien caractérisé par le fait qu'une ligne tracée entre deux points quelconques du sous-ensemble est entièrement incluse dans le sous-ensemble. Par exemple, les deux formes suivantes sont des ensembles convexes :

Un rectangle et une demi-ellipse sont tous deux des ensembles convexes.

À titre de comparaison, les deux formes suivantes ne sont pas des ensembles convexes :

Un graphique à secteurs dont il manque un secteur et un feu d'artifice sont tous deux des ensembles non convexes.

convolution

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

Dans le machine learning, le terme de "convolution" est fréquemment un raccourci langagier pour désigner l'opération convolutive ou la couche convolutive.

Sans convolution, un algorithme de machine learning devrait apprendre une pondération différente pour chaque cellule d'un grand Tensor. Par exemple, un algorithme de machine learning dont l'apprentissage s'effectue sur des images de 2K x 2K serait forcé de trouver 4 millions de pondérations. 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 telle sorte que chacune d'entre elles est multipliée par le filtre.

filtre convolutif (convolutional filter)

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

Dans la retouche photographique, toutes les cellules d'un filtre convolutif sont généralement définies sur un motif constant de zéro et de un. Dans le machine learning, les filtres convolutifs sont généralement générés à partir de nombres aléatoires, puis le réseau entraîne les valeurs idéales.

couche convolutive (convolutional layer)

Couche d'un réseau de neurones profond dans laquelle un filtre convolutif transfert une matrice d'entrée. Par exemple, le filtre convolutif 3 x 3 suivant :

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

réseau de neurones convolutif (convolutional neural network)

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 :

  • Couches convolutives
  • Couches de pooling
  • Couches denses

Les réseaux de neurones convolutifs ont eu beaucoup de succès pour certains types de problèmes, notamment la reconnaissance d'images.

opération convolutive (convolutional operation)

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 est de même rang et de même taille que le filtre convolutif.
  2. Somme de toutes les valeurs de la matrice de produits résultante.

Soit, par exemple, la matrice d'entrée 5 x 5 suivante :

Soit, à présent, le filtre convolutif 2 x 2 suivant :

Chaque opération convolutive implique une seule tranche 2 x 2 de la matrice d'entrée. Supposons que nous utilisions la tranche 2 x 2 en haut à gauche de la matrice d'entrée. L'opération convolutive sur cette tranche est alors :

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.

coût (cost)

Synonyme de perte.

entropie croisée (cross-entropy)

Généralisation de la perte logistique aux problèmes de classification à classes multiples. L'entropie croisée quantifie la différence entre deux distributions de probabilité. Voir aussi perplexité.

Estimator personnalisé (custom Estimator)

Estimator que vous écrivez vous-même en suivant cette procédure.

À comparer aux Estimators prédéfinis.

D

analyse de données (data analysis)

Procédure visant à comprendre des données en en étudiant les échantillons, les mesures et les visualisations. L'analyse de données peut s'avérer particulièrement utile à la réception d'un ensemble de données, avant la création du premier modèle. Elle est également cruciale pour interpréter les expériences et déboguer les problèmes affectant le système.

DataFrame

Type de données populaire utilisé pour représenter des ensembles de données dans Pandas. Un DataFrame est analogue à un tableau. Chaque colonne du DataFrame porte un nom (un en-tête) et chaque ligne est identifiée par un nombre.

ensemble de données (data set)

Un ensemble d'exemples.

API Dataset (tf.data) (Dataset API (tf.data))

API TensorFlow de haut niveau pour la lecture des données et leur transformation en une forme requise par un algorithme de machine learning. Un objet tf.data.Dataset représente une séquence d'éléments dans laquelle chaque élément contient un ou plusieurs Tensors. Un objet tf.data.Iterator permet d'accéder aux éléments d'un Dataset.

Pour plus d'informations sur l'API Dataset, consultez la page Importer des données du guide du programmeur TensorFlow.

frontière de décision (decision boundary)

Séparateur entre les classes apprises par un modèle dans une classe binaire ou dans les problèmes de classification à classes multiples. Par exemple, dans l'image suivante représentant un problème de classification binaire, la frontière de décision est la limite entre la classe orange et la classe bleue :

Limite bien définie entre deux classes.

couche dense (dense layer)

Synonyme de couche entièrement connectée.

modèle profond (deep model)

Type de réseau de neurones contenant plusieurs couches cachées. Les modèles profonds reposent sur des non-linéarités qui peuvent être apprises.

À comparer au modèle large.

caractéristique dense (dense feature)

Caractéristique dont la plupart des valeurs sont différentes de zéro, généralement un Tensor de valeurs à virgules flottantes. À comparer à la caractéristique creuse.

appareil (device)

Catégorie de matériel pouvant exécuter une session TensorFlow, y compris les CPU, les GPU et les TPU.

caractéristique discrète (discrete feature)

Caractéristique avec un ensemble fini de valeurs possibles. Par exemple, une caractéristique dont les valeurs peuvent être uniquement animal, végétal ou minéral est une caractéristique discrète (ou catégorique). À comparer à la caractéristique continue.

régularisation par abandon (dropout regularization)

Forme de régularisation utile dans l'apprentissage des réseaux de neurones. La régularisation par abandon consiste à supprimer de manière aléatoire un nombre fixe d'unités dans une couche du réseau pour un pas de gradient unique. Plus le nombre d'unités abandonnées est élevé, plus la régularisation est solide. Cette méthode est analogue à l'entraînement du modèle pour émuler un groupe exponentiellement large de réseaux plus petits. Pour plus d'informations, consultez l'article Dropout: A Simple Way to Prevent Neural Networks from Overfitting (en anglais).

modèle dynamique (dynamic model)

Modèle entraîné en ligne et mis à jour en continu. En d'autres termes, les données sont intégrées en continu dans le modèle.

E

arrêt prématuré (early stopping)

Méthode de régularisation qui implique de terminer l'entraînement du modèle avant que la perte de l'apprentissage cesse de baisser. Dans l'arrêt prématuré, l'entraînement du modèle est arrêté lorsque la perte d'un ensemble de données de validation commence à augmenter, c'est-à-dire lorsque les performances de généralisation se dégradent.

représentations vectorielles continues (embeddings)

Caractéristique catégorique représentée sous la forme d'une caractéristique à valeur continue. Généralement, une représentation vectorielle continue est la traduction d'un vecteur de grande dimension dans un espace de faible dimension. Vous pouvez par exemple représenter les mots d'une phrase en français de l'une des deux façons suivantes :

  • Sous forme de vecteur creux à un million d'éléments (grande dimension) dont tous les éléments sont des entiers. Chaque cellule du vecteur représente un mot français donné. La valeur d'une cellule représente le nombre de fois où ce mot apparaît dans une phrase. Étant donné qu'il est peu probable qu'une phrase française contienne plus de 50 mots, pratiquement toutes les cellules du vecteur contiennent la valeur 0. Les quelques cellules dont la valeur est différente de 0 contiennent un entier petit (généralement 1) qui représente le nombre d'occurrences de ce mot dans la phrase.
  • Sous forme de vecteur dense à plusieurs centaines d'éléments (faible dimension), dans lequel chaque élément contient une valeur à virgule flottante comprise entre 0 et 1. C'est une représentation vectorielle continue.

Dans TensorFlow, les représentations vectorielles continues sont entraînées par rétropropagation de la perte, comme n'importe quel autre paramètre d'un réseau de neurones.

minimisation du risque empirique (ERM) (empirical risk minimization (ERM))

Sélection de la fonction qui minimise la perte pour l'ensemble d'apprentissage. À comparer à la minimisation du risque structurel.

groupe (ensemble)

Fusion des prédictions de plusieurs modèles. Vous pouvez créer un groupe de l'une des manières suivantes :

  • À l'aide de différentes initialisations
  • À l'aide de différents hyperparamètres
  • À l'aide de différentes structures globales

Les modèles profonds et larges sont des types de groupes.

itération (epoch)

Cycle d'apprentissage complet sur l'intégralité de l'ensemble de données de manière à ce que chaque exemple ait été vu une fois. Une itération représente ainsi N/taille du lot itérations d'apprentissage, où N est le nombre total d'exemples.

Estimator

Instance de la classe tf.Estimator, qui encapsule la logique de création d'un graphique TensorFlow et exécute une session TensorFlow. Vous pouvez créer vos propres Estimators personnalisés (comme décrit ici) ou instancier des Estimators prédéfinis créés par d'autres.

exemple (example)

Ligne d'un ensemble de données. Un exemple contient une ou plusieurs caractéristiques, et éventuellement une étiquette. Voir aussi Exemple étiqueté et Exemple sans étiquette.

F

faux négatif (FN) (false negative (FN))

Exemple dans lequel le modèle a prédit à tort la classe négative. Par exemple, le modèle a déduit qu'un e-mail particulier n'était pas du spam (classe négative), alors que c'était en réalité bien un courrier indésirable.

faux positif (FP) (false positive (FP))

Exemple dans lequel le modèle a prédit à tort la classe positive. Par exemple, le modèle a déduit qu'un e-mail particulier était du spam (classe positive), alors qu'en réalité ce n'était pas un courrier indésirable.

taux de faux positifs (taux de FP) (false positive rate (FP rate))

L'abscisse d'une courbe ROC. Le taux de FP est défini ainsi :

$$\text{Taux de faux positifs} = \frac{\text{Faux positifs}}{\text{Faux positifs} + \text{Vrais négatifs}}$$

caractéristique (feature)

Variable d'entrée utilisée pour effectuer des prédictions.

colonne de caractéristiques (feature column) (tf.feature_column)

Fonction qui indique comment un modèle doit interpréter une caractéristique particulière. Une liste qui collecte la sortie renvoyée par les appels à de telles fonctions est obligatoire pour tous les constructeurs Estimators.

Les fonctions tf.feature_column permettent aux modèles d'expérimenter facilement différentes représentations des caractéristiques d'entrée. Pour plus d'informations, reportez-vous au chapitre Colonnes de caractéristiques du guide des programmeurs TensorFlow.

L'expression "colonne de caractéristiques" est propre à Google. Elle est appelée "espace de noms" dans le système VW (chez Yahoo/Microsoft), ou champ.

croisement de caractéristiques (feature cross)

Caractéristique synthétique formée en croisant différentes caractéristiques (en les multipliant ou en prenant leur produit cartésien). Le croisement de caractéristiques facilite la représentation des relations non linéaires.

extraction de caractéristiques (feature engineering)

Processus consistant à déterminer les caractéristiques susceptibles d'être utiles pour entraîner un modèle, et à convertir les données brutes des fichiers journaux et d'autres sources en ces caractéristiques. Dans TensorFlow, l'extraction de caractéristiques implique souvent de convertir les entrées des fichiers journaux bruts en Protocol Buffers tf.Example. Voir aussi tf.Transform.

L'extraction de caractéristiques est parfois appelée découverte de caractéristiques.

ensemble de caractéristiques (feature set)

Groupe des caractéristiques utilisées pour l'entraînement de votre modèle de machine learning. Par exemple, un ensemble de caractéristiques simple pour un modèle de prédiction de la valeur immobilière peut inclure le code postal, la taille du logement et l'état du logement.

spécifications des caractéristiques (feature spec)

Description des informations requises pour extraire les données des caractéristiques contenues dans le Protocol Buffer tf.Example. Celui-ci étant un simple conteneur de données, vous devez spécifier les éléments suivants :

  • Données à extraire (c'est-à-dire, les clés des caractéristiques)
  • Type de données (par exemple, flottant ou entier)
  • Longueur (fixe ou variable)

L'API Estimator permet de générer les spécifications des caractéristiques à partir d'une liste de FeatureColumns.

apprentissage few-shot (few-shot learning)

Approche du machine learning, souvent utilisée pour la classification d'objets, conçue pour apprendre des classificateurs efficaces à partir d'un petit nombre d'exemples d'apprentissage.

Voir aussi apprentissage one-shot.

softmax complet (full softmax)

Voir softmax. À comparer à l'échantillonnage de candidats.

couche entièrement connectée (fully connected layer)

Couche cachée dans laquelle chaque nœud est connecté à chaque nœud de la couche cachée suivante.

Les couches entièrement connectées sont également appelées couches denses.

G

généralisation (generalization)

Fait référence à la capacité du modèle à effectuer des prédictions correctes pour des données nouvelles, qui n'ont encore jamais été vues, plutôt que pour les données utilisées pour l'entraînement du modèle.

modèle linéaire généralisé (generalized linear model)

Généralisation des modèles de régression des moindres carrés, qui sont basés sur le bruit gaussien, à d'autres types de modèles basés sur d'autres types de bruit, par exemple le bruit de grenaille ou le bruit catégorique. Exemples de modèles linéaires généralisés :

Les paramètres d'un modèle linéaire généralisé peuvent être déterminés via une optimisation convexe.

Les modèles linéaires généralisés présentent les propriétés suivantes :

  • La prédiction moyenne du modèle de régression des moindres carrés optimal est égale à l'étiquette moyenne des données d'apprentissage.
  • La probabilité moyenne prédite par le modèle de régression logistique optimal est égale à l'étiquette moyenne des données d'apprentissage.

La puissance d'un modèle linéaire généralisé est limitée par les caractéristiques de celui-ci. Contrairement à un modèle profond, un modèle généralisé ne peut pas "apprendre de nouvelles caractéristiques".

gradient

Vecteur des dérivées partielles calculées pour l'ensemble des variables indépendantes. Dans le machine learning, le gradient correspond au vecteur des dérivées partielles de la fonction du modèle. Le gradient indique toujours la direction de la croissance maximale.

bornement de la norme du gradient (gradient clipping)

Valeurs du bornement de la norme du gradient avant leur application. Le bornement de la norme du gradient aide à assurer la stabilité numérique et empêche l'explosion des gradients.

descente de gradient (gradient descent)

Technique de minimisation de la perte en calculant les gradients de la perte pour les paramètres du modèle, en fonction des données d'apprentissage. La descente de gradient ajuste de manière itérative les paramètres afin de trouver progressivement la meilleure combinaison de pondérations et de biais pour minimiser la perte.

graphe (graph)

Dans TensorFlow, les spécifications du calcul. Les nœuds du graphe représentent des opérations. Les bords sont orientés et représentent le passage du résultat d'une opération (un Tensor) en tant qu'opérande vers une autre opération. Pour visualiser un graphe, utilisez TensorBoard.

H

heuristique (heuristic)

Solution pratique et non optimale à un problème, mais qui est suffisante pour avancer ou pour tirer des leçons.

couche cachée (hidden layer)

Couche synthétique d'un réseau de neurones entre la couche d'entrée (c'est-à-dire, les caractéristiques) et la couche de sortie (la prédiction). Un réseau de neurones se compose d'une ou plusieurs couches cachées.

marge maximale (hinge loss)

Famille de fonctions de perte pour la classification, conçue pour déterminer la frontière de décision la plus éloignée possible de chaque exemple d'apprentissage, afin de maximiser la marge entre les exemples et la frontière. Les KSVM utilisent la marge maximale (ou une fonction associée, par exemple le carré de la marge maximale). Dans le cas de la classification binaire, la fonction de marge maximale est définie ainsi :

$$\text{perte} = \text{max.}(0, 1 - (y' * y))$$

y' est la sortie brute du modèle du classificateur :

$$y' = b + w_1x_1 + w_2x_2 + … w_nx_n$$

et y est l'étiquette réelle, soit -1, soit +1.

Par conséquent, le graphique de la marge maximale en fonction de (y * y') est de la forme suivante :

Marge maximale vs. (y * y') Le graphe de la marge maximale en fonction du score brut du classificateur montre une marge notable au point de coordonnées (1;0). 0 -2 -1 1 2 3 1 2 3 4 0 marge maximale (y * y')

données exclues (holdout data)

Exemples intentionnellement non utilisés ("exclus") pendant l'apprentissage. L'ensemble de données de validation et l'ensemble de données d'évaluation sont des exemples de données exclues. Les données exclues aident à évaluer la capacité de votre modèle à être généralisé à des données autres que celles utilisées pour l'apprentissage. La perte d'un ensemble de données non vues jusqu'à présent est estimée plus précisément par la perte de l'ensemble de données exclues que par celui de l'ensemble d'apprentissage.

hyperparamètre (hyperparameter)

Les paramètres que vous réglez pendant les exécutions successives de l'entraînement du modèle. Le taux d'apprentissage, par exemple, est un hyperparamètre.

À comparer aux paramètres.

hyperplan (hyperplane)

Frontière qui sépare un espace en deux sous-espaces. Par exemple, une ligne est un hyperplan en deux dimensions, et un plan est un hyperplan en trois dimensions. Plus généralement dans le machine learning, un hyperplan est la frontière qui sépare un espace de grande dimension. Les machines à vecteurs de support à noyau utilisent les hyperplans pour séparer les classes positives et négatives, souvent dans un espace de très grande dimension.

I

variables indépendantes et identiquement distribuées (variables iid) (independently and identically distributed (i.i.d))

Données tirées d'une distribution qui ne change pas et où chaque valeur tirée ne dépend pas des valeurs précédemment tirées. Une variable iid est le gaz parfait du machine learning : c'est une construction mathématique utile qui ne se rencontre quasiment jamais à l'identique dans le monde réel. Par exemple, la distribution des visiteurs d'une page Web peut être une variable idd sur une courte période, c'est-à-dire que la distribution ne change pas pendant cette période et que la visite d'un internaute est généralement indépendante de la visite d'un autre. Toutefois, si vous allongez cette période, des différences saisonnières au niveau des visiteurs de la page Web peuvent apparaître.

inférence (inference)

Dans le machine learning, désigne généralement l'application du modèle entraîné à des exemples sans étiquette pour effectuer des prédictions. En statistiques, l'inférence désigne le processus d'ajustement des paramètres d'une distribution conditionnée à certaines données observées. Voir l'article Wikipédia sur l'inférence statistique.

fonction d'entrée (input function)

Dans TensorFlow, fonction qui renvoie des données d'entrée à la méthode d'apprentissage, d'évaluation ou de prédiction d'un Estimator. Par exemple, la fonction d'entrée d'apprentissage renvoie un lot de caractéristiques et d'étiquettes depuis l'ensemble d'apprentissage.

couche d'entrée (input layer)

Première couche (ou couche recevant les données d'entrée) d'un réseau de neurones.

instance

Synonyme d'exemple.

interprétabilité (interpretability)

Facilité à expliquer les prédictions du modèle. Les modèles profonds sont souvent non interprétables, c'est-à-dire que les différentes couches d'un modèle profond sont difficiles à déchiffrer. En revanche, les modèles de régression linéaire et les modèles larges sont généralement bien plus interprétables.

accord inter-évaluateurs (inter-rater agreement)

Mesure de la fréquence à laquelle différents évaluateurs humains sont d'accord lors de l'exécution d'une tâche. Si les évaluateurs sont en désaccord, une amélioration des instructions peut être nécessaire. Parfois également appelé accord inter-annotateurs ou fiabilité inter-évaluateurs. Voir aussi le kappa de Cohen, l'une des mesures de l'accord inter-évaluateurs les plus populaires.

itération (iteration)

Mise à jour unique des pondérations d'un modèle pendant l'apprentissage. Une itération consiste à calculer les gradients des paramètres en termes de perte sur un seul lot de données.

K

k-moyennes (k-means)

Un algorithme de clustering populaire qui regroupe des exemples dans l'apprentissage non supervisé. L'algorithme k-moyennes effectue les opérations suivantes :

  • Détermination de manière itérative des meilleurs k points centraux (appelés centroïdes).
  • Assignation de chaque exemple au centroïde le plus proche. Les exemples les plus proches du même centroïde font partie du même groupe.

L'algorithme k-moyennes choisit l'emplacement des centroïdes de manière à minimiser le carré cumulatif des distances entre chaque exemple et son centroïde le plus proche.

Supposons le graphe suivant représentant la taille de chiens en fonction de leur largeur :

image/svg+xml 50 or so examples along a two-dimensional graph. hauteur largeur

Si k = 3, l'algorithme k-moyennes détermine trois centroïdes. Chaque exemple est assigné à son centroïde le plus proche, ce qui donne trois groupes :

image/svg+xml The same 50 examples clustered into 3 groups. hauteur largeur centroïde cluster 1 cluster 2 cluster 3

Imaginez qu'un fabricant souhaite déterminer les tailles idéales de pulls pour chien petits, moyens et grands. Les trois centroïdes identifient la hauteur et la largeur moyennes de chaque chien du cluster correspondant. Ainsi, le fabricant devrait probablement baser les tailles de pull sur ces trois centroïdes. Notez que le centroïde d'un cluster n'est généralement pas un exemple du cluster.

Les illustrations précédentes montrent les k-moyennes pour des exemples avec seulement deux caractéristiques (hauteur et largeur). Notez que les k-moyennes peuvent regrouper des exemples pour de nombreuses caractéristiques.

k-médiane (k-median)

Algorithme de clustering étroitement lié à k-moyennes. La différence pratique entre les deux est la suivante :

  • Dans l'algorithme k-moyennes, les centroïdes sont déterminés en minimisant la somme des carrés de la distance entre un centroïde potentiel et chacun de ses exemples.
  • Dans l'algorithme k-médiane, les centroïdes sont déterminés en minimisant la somme de la distance entre un centroïde potentiel et chacun de ses exemples.

Notez que la définition du terme "distance" est également différente :

  • Dans l'algorithme k-moyenne, la notion de distance utilisée est la distance euclidienne entre un centroïde et un exemple. Dans un espace à deux dimensions, la distance euclidienne revient à utiliser le théorème de Pythagore pour calculer l'hypoténuse. Par exemple, la distance k-moyennes entre (2,2) et (5,-2) est :
$$ {\text{distance euclidienne}} = {\sqrt {(2-5)^2 + (2--2)^2}} = 5 $$
  • Dans l'algorithme k-médiane, la notion de distance utilisée est la distance de Manhattan entre le centroïde et un exemple. Cette distance est la somme des deltas absolus dans chaque dimension. Par exemple, la distance k-médiane entre (2,2) et (5,-2) est :
$$ {\text{distance de Manhattan}} = \lvert 2-5 \rvert + \lvert 2--2 \rvert = 7 $$

Keras

API de machine learning Python populaire. Keras s'exécute sur plusieurs cadres de deep learning, y compris TensorFlow, où il est disponible via tf.keras.

machines à vecteurs de support à noyau (KSVM) (Kernel Support Vector Machines (KSVMs))

Algorithme de classification qui cherche à maximiser la marge entre les classes positives et les classes négatives en associant à chaque vecteur d'entrée un vecteur dans un espace de plus grande dimension. Considérons par exemple un problème de classification dans lequel l'ensemble de données d'entrée se compose de cent caractéristiques. Afin de maximiser la marge entre les classes positives et négatives, un KVSM pourrait associer, en interne, chaque vecteur de caractéristiques à un vecteur dans un espace à un million de dimensions. Les KSVM utilisent une fonction de perte appelée marge maximale.

L

perte L1 (L1 loss)

Fonction de perte basée sur la valeur absolue de la différence entre les valeurs prédites par un modèle et les valeurs réelles des étiquettes. La perte L1 est moins sensible aux anomalies que la perte L2.

régularisation L1 (L1 regularization)

Type de régularisation qui pénalise les pondérations proportionnellement à la somme de leurs valeurs absolues. Dans les modèles reposant sur des caractéristiques creuses, la régularisation L1 aide à mettre à zéro les pondérations des caractéristiques peu ou pas pertinentes, ce qui a pour effet de supprimer celles-ci du modèle. À comparer à la régularisation L2.

perte L2 (L2 loss)

Voir perte quadratique.

régularisation L2 (L2 regularization)

Type de régularisation qui pénalise les pondérations proportionnellement à la somme de leurs carrés. La régularisation L2 aide à rapprocher de zéro la pondération des anomalies (celles dont la valeur est très positive ou très négative), sans pour autant atteindre zéro. (À comparer à la régularisation L1.) La régularisation L2 améliore toujours la généralisation des modèles linéaires.

étiquette (label)

Dans l'apprentissage supervisé, "réponse" ou "résultat" d'un exemple. Chaque exemple d'un ensemble de données étiqueté se compose d'au moins une caractéristique et d'une étiquette. Par exemple, les caractéristiques d'un ensemble de données sur des logements pourraient inclure le nombre de chambres, le nombre de salles de bain et l'âge du logement, et l'étiquette pourrait être le prix du logement. Dans un ensemble de données de détection de spam, les caractéristiques pourraient être l'objet, l'expéditeur et le message lui-même, et l'étiquette serait probablement "spam" ou "non spam."

exemple étiqueté (labeled example)

Exemple contenant des caractéristiques et une étiquette. Dans l'apprentissage supervisé, les modèles sont entraînés avec des exemples étiquetés.

lambda

Synonyme de taux de régularisation.

Ce terme recouvre de nombreux concepts. Ici, nous nous référons à sa définition dans le cadre de la régularisation.

couche (layer)

Ensemble des neurones d'un réseau de neurones qui traite un ensemble de caractéristiques d'entrée, ou le résultat de ces neurones.

Également une abstraction dans TensorFlow. Les couches sont des fonctions Python qui prennent des options de Tensors et de configuration en entrée pour générer d'autres Tensors en sortie. Une fois les Tensors nécessaires créés, l'utilisateur peut convertir le résultat en un Estimator via une fonction de modèle.

API Layers (tf.layers) (Layers API (tf.layers))

API TensorFlow pour la construction d'un réseau de neurones profond à partir de plusieurs couches. L'API Layers permet notamment de créer les types de couches suivants :

Lorsque vous écrivez un Estimator personnalisé, vous créez des objets Layers pour définir les caractéristiques de toutes les couches cachées.

L'API Layers respecte les conventions de l'API Keras concernant les couches. De ce fait, à part un préfixe différent, toutes les fonctions de l'API Layers ont des noms et des signatures identiques à ceux de leurs homologues dans l'API Keras pour les couches.

taux d'apprentissage (learning rate)

Grandeur scalaire utilisée pour entraîner le modèle via la descente de gradient. À chaque itération, l'algorithme de descente de gradient multiplie le taux d'apprentissage par le gradient. Le produit ainsi généré est appelé pas de gradient.

Le taux d'apprentissage est un hyperparamètre clé.

régression des moindres carrés (least squares regression)

Modèle de régression linéaire entraîné en minimisant la perte L2.

régression linéaire (linear regression)

Type de modèle de régression qui génère une valeur continue à partir d'une combinaison linéaire de caractéristiques d'entrée.

régression logistique (logistic regression)

Modèle qui génère une probabilité pour chaque valeur d'étiquette discrète possible dans les problèmes de classification en appliquant une fonction sigmoïde à une prédiction linéaire. Bien que la régression logistique soit fréquemment utilisée dans les problèmes de classification binaire, elle peut également être utilisée dans les problèmes de classification à classes multiples (auquel cas elle est appelée régression logistique à classes multiples ou régression multinomiale).

fonctions logit (logits)

Vecteur de prédictions brutes (non normalisées) généré par un modèle de classification, et qui est habituellement transmis à une fonction de normalisation. Si le modèle résout un problème de classification à classes multiples, les fonctions logit sont généralement utilisées comme entrée de la fonction softmax. Celle-ci génère alors un vecteur de probabilités (normalisées) avec une valeur pour chaque classe possible.

De plus, les fonctions logit renvoient parfois à l'inverse par élément de la fonction sigmoïde. Pour en savoir plus, consultez la page tf.nn.sigmoid_cross_entropy_with_logits.

perte logistique (Log Loss)

Fonction de perte utilisée dans la régression logistique binaire.

logarithme de cote (log-odds)

Logarithme des cotes d'un événement donné.

Si l'événement renvoie à une cote binaire, alors la cote renvoie au rapport entre la cote de réussite (p) et la cote d'échec (1-p). Supposons qu'un événement donné ait une cote de réussite de 90 % et une cote d'échec de 10 %. Dans ce cas, les cotes sont calculées de la manière suivante :

$$ {\text{cotes}} = \frac{\text{p}} {\text{(1-p)}} = \frac{.9} {.1} = {\text{9}} $$

Le logarithme des cotes n'est rien d'autre, comme son nom l'indique, que le logarithme des cotes. Par convention, "logarithme" fait référence au logarithme naturel, mais il pourrait en fait être n'importe quelle base supérieure à 1. Si l'on s'en tient à la convention, le logarithme des cotes de notre exemple est donc :

$$ {\text{logarithme des cotes}} = ln(9) ~= 2.2 $$

Le logarithme des cotes est l'inverse de la fonction sigmoïde.

perte (loss)

Mesure de l'écart entre les prédictions d'un modèle et son étiquette. Ou, de façon plus pessimiste, mesure de la médiocrité du modèle. Pour déterminer cette valeur, un modèle doit définir une fonction de perte. Par exemple, les modèles de régression linéaire utilisent généralement l'erreur quadratique moyenne comme fonction de perte, tandis que les modèles de régression logistiques utilisent la perte logistique.

M

machine learning

Programme ou système qui crée (entraîne) un modèle prédictif à partir de données d'entrée. Le système utilise le modèle entraîné pour effectuer des prédictions utiles à partir de nouvelles données (jamais vues auparavant) issues de la même distribution que celle utilisée pour entraîner le modèle. Le machine learning (ou apprentissage automatique) désigne également la discipline qui traite de ces programmes ou systèmes.

erreur quadratique moyenne (MSE) (Mean Squared Error (MSE))

Perte quadratique moyenne pour chaque exemple. La MSE est calculée en divisant la perte quadratique par le nombre d'exemples. Les valeurs que TensorFlow Playground affiche pour "Perte d'apprentissage" et "Perte de test" sont des MSE.

statistique (metric)

Nombre qui vous intéresse. Peut ou non être optimisé directement dans un système de machine learning. Une statistique que votre système tente d'optimiser est appelée objectif.

API Metrics (tf.metrics) (Metrics API (tf.metrics))

API TensorFlow pour évaluer les modèles. Par exemple, tf.metrics.accuracy détermine la proportion d'exemples pour lesquels les prédictions du modèle coïncident avec les étiquettes. Lorsque vous écrivez un Estimator personnalisé, vous invoquez les fonctions de l'API Metrics pour spécifier la méthode d'évaluation de votre modèle.

mini-lot (mini-batch)

Petit sous-ensemble, sélectionné aléatoirement, du lot complet d'exemples exécutés simultanément dans une même itération d'apprentissage ou d'inférence. La taille de lot d'un mini-lot est généralement comprise entre 10 et 1 000. Il est bien plus efficace de calculer la perte pour un mini-lot que pour l'ensemble entier des données d'apprentissage.

descente de gradient stochastique par mini-lots (SGD) (mini-batch stochastic gradient descent (SGD))

Algorithme de descente de gradient qui utilise des mini-lots. En d'autres termes, la SGD par mini-lots estime le gradient à partir d'un petit sous-ensemble des données d'apprentissage. Vanilla SGD utilise un mini-lot de taille 1.

ML

Abréviation de machine learning (apprentissage automatique).

modèle (model)

Représentation de ce qu'un système ML a appris à partir des données d'apprentissage. Ce terme complexe peut avoir l'un des deux sens associés suivants :

  • Graphe TensorFlow qui exprime la structure du calcul d'une prédiction
  • Pondérations et biais particuliers de ce graphe TensorFlow déterminés par apprentissage

fonction de modèle (model function)

Fonction dans un Estimator qui implémente l'entraînement, l'évaluation et l'inférence ML. Par exemple, la partie entraînement d'une fonction de modèle peut gérer des tâches telles que la définition de la topologie d'un réseau de neurones profond et l'identification de sa fonction d'optimiseur. Lorsque vous utilisez des Estimators prédéfinis, quelqu'un a déjà écrit la fonction de modèle pour vous. Lorsque vous utilisez des Estimators personnalisés, vous devez écrire la fonction de modèle vous-même.

Pour en savoir plus sur l'écriture d'une fonction de modèle, consultez la page Création d'Estimators personnalisés.

entraînement de modèle (model training)

Processus visant à déterminer le meilleur modèle.

Momentum

Algorithme sophistiqué de descente de gradient dans lequel une étape d'apprentissage dépend non seulement de la dérivée de l'étape actuelle, mais aussi des dérivées des étapes qui l'ont immédiatement précédée. Momentum calcule une moyenne glissante pondérée exponentiellement des gradients au fil du temps, à l'instar du calcul du moment en physique. Momentum permet parfois d'éviter à l'apprentissage de se retrouver bloqué à un minimum local.

classification à classes multiples (multi-class classification)

Problèmes de classification qui distingue plus de deux classes. Il existe par exemple environ 128 espèces d'érable. Un modèle les classant serait donc à classes multiples. À l'inverse, un modèle qui répartit les e-mails en seulement deux catégories, spam et non-spam, serait un modèle de classification binaire.

classification multinomiale (multinomial classification)

Synonyme de classification à classes multiples.

N

piège NaN (NaN trap)

Lorsqu'un nombre du modèle devient un NaN pendant l'apprentissage et que, à la suite de ce changement, de nombreux autres nombres du modèle, voire tous, finissent par devenir également des NaN.

NaN est l'abréviation de "Not a Number" (Ce n'est pas un nombre).

classe négative (negative class)

Dans la classification binaire, une classe est dite positive et l'autre négative. La classe positive est le résultat recherché et la classe négative l'autre possibilité. Par exemple, la classe négative d'un test médical pourrait être "Pas de tumeur". La classe négative d'un classificateur d'e-mail pourrait être "non-spam". Voir aussi classe positive.

réseau de neurones (neural network)

Modèle inspiré du fonctionnement cérébral, et qui se compose de couches, dont au moins une est cachée, contenant des unités connectées simples, ou neurones, suivies de non-linéarités.

neurone (neuron)

Nœud d'un réseau de neurones, recevant plusieurs valeurs d'entrée et générant une valeur de sortie. Le neurone calcule la valeur de sortie en appliquant une fonction d'activation (transformation non linéaire) à une somme pondérée des valeurs d'entrée.

nœud (node)

Ce terme complexe désigne l'un des deux concepts suivants, selon les cas :

normalisation (normalization)

Conversion d'une plage réelle de valeurs en une plage standard de valeurs, généralement de -1 à +1 ou de 0 à 1. Supposons que la plage naturelle d'une certaine caractéristique s'étende de 800 à 6 000. En effectuant diverses soustractions et divisions, vous pouvez normaliser ces valeurs à une plage s'étendant de -1 à +1.

Voir aussi mise à l'échelle.

données numériques (numerical data)

Caractéristiques représentées par des nombres entiers ou réels. Par exemple, dans un modèle immobilier, vous pourriez probablement représenter la superficie d'un logement (en mètres carrés) sous forme de données numériques. La représentation d'une caractéristique sous forme de données numériques indique que les valeurs de la caractéristique sont mathématiquement liées entre elles, et éventuellement avec l'étiquette. Par exemple, le fait de représenter la superficie d'un logement sous forme de données numériques indique qu'une maison de 200 mètres carrés est deux fois plus spacieuse qu'une maison de 100 mètres carrés. De plus, le nombre de mètres carrés d'une maison est probablement mathématiquement lié d'une manière ou d'une autre au prix de cette maison.

Les données entières ne doivent pas toutes être représentées sous forme de données numériques. Par exemple, les codes postaux dans certains pays sont des entiers, et ne doivent pas être représentés sous forme de données numériques dans les modèles. La raison à cela est que le code postal 20000 n'est pas deux fois plus (ou moins) puissant que le code postal 10000. Par ailleurs, bien que différents codes postaux soient corrélés à des prix de logement différents, il n'est pas possible de supposer que le prix des logements dont le code postal est 20000 est le double du prix des logements dont le code postal est 10000. Les codes postaux doivent être représentés par des données catégorielles.

Les caractéristiques numériques sont parfois appelées caractéristiques continues.

Numpy

Bibliothèque mathématique Open Source qui fournit différentes opérations de tableau efficaces pour Python. Pandas est construit sur Numpy.

O

objectif (objective)

Statistique que votre algorithme essaie d'optimiser.

inférence hors ligne (offline inference)

Création d'un groupe de prédictions, stockage de ces prédictions, puis récupération de celles-ci à la demande. À comparer à l'inférence en ligne.

encodage one-hot (one-hot encoding)

Vecteur creux caractérisé ainsi :

  • Un élément a la valeur 1.
  • Tous les autres éléments ont la valeur 0.

L'encodage one-hot est couramment utilisé pour représenter des chaînes ou des identifiants qui ont un ensemble fini de valeurs possibles. Supposons qu'un ensemble de données botaniques donné répertorie 15 000 espèces différentes, chacune associée à un identifiant unique. Dans le cadre de l'extraction de caractéristiques, vous encoderez probablement ces identifiants sous forme de vecteurs one-hot, dont la taille est de 15 000.

apprentissage one-shot (one-shot learning)

Approche du machine learning, souvent utilisée pour la classification d'objets, conçue pour apprendre des classificateurs efficaces à partir d'un seul exemple d'apprentissage.

Voir aussi apprentissage few-shot.

un contre tous (one-vs.-all)

Face à un problème de classification avec N solutions possibles, une solution un contre tous consiste en N classificateurs binaires distincts : un classificateur binaire pour chaque résultat possible. Soit, par exemple, un modèle qui classe les exemples en animal, végétal ou minéral. Une solution un contre tous fournirait les trois classificateurs binaires distincts suivants :

  • Animal contre non animal
  • Végétal contre non végétal
  • Minéral contre non minéral

inférence en ligne (online inference)

Création de prédictions à la demande. À comparer à l'inférence hors ligne.

opération (Operation (op))

Nœud du graphe TensorFlow. Dans TensorFlow, toute procédure qui crée, manipule ou détruit un Tensor est une opération. Par exemple, une multiplication matricielle est une opération qui prend deux Tensors en entrée et crée un Tensor en sortie.

optimiseur (optimizer)

Implémentation particulière de l'algorithme de descente de gradient. La classe de base de TensorFlow pour les optimiseurs est tf.train.Optimizer. Différents optimiseurs peuvent utiliser un ou plusieurs des concepts suivants pour améliorer l'efficacité de la descente de gradient sur un ensemble d'apprentissage donné :

  • le moment (Momentum) ;
  • la fréquence de mise à jour (AdaGrad = descente de gradient adaptative ; Adam = adaptative avec Momentum ; RMSProp) ;
  • la parcimonie/régularisation (Ftrl) ;
  • des opérations mathématiques plus complexes (proximal et autres).

Il est même possible d'imaginer un optimiseur reposant sur un réseau de neurones.

anomalies (outliers)

Valeurs éloignées de la plupart des autres valeurs. Dans le machine learning, toutes les valeurs suivantes sont des anomalies :

  • Pondérations dont la valeur absolue est élevée
  • Valeurs prédites relativement éloignées des valeurs réelles
  • Données d'entrée dont les valeurs sont éloignées de plus de trois écarts types environ de la moyenne

Les anomalies entraînent souvent des dysfonctionnements lors de l'entraînement du modèle.

couche de sortie (output layer)

Couche "finale" d'un réseau de neurones, et qui contient les réponses.

surapprentissage (overfitting)

Création d'un modèle correspondant si étroitement aux données d'apprentissage qu'il ne parvient pas à effectuer des prédictions correctes avec de nouvelles données.

P

Pandas

API d'analyse de données par colonne. De nombreux cadres de machine learning, y compris TensorFlow, acceptent les structures de données Pandas comme entrées. Voir la documentation de Pandas.

paramètre (parameter)

Variable d'un modèle que le système de machine learning entraîne tout seul. Par exemple, les pondérations sont des paramètres dont le système de machine learning apprend progressivement les valeurs via des itérations d'apprentissage successives. À comparer aux hyperparamètres.

serveur de paramètres (Parameter Server (PS))

Tâche qui effectue le suivi des paramètres d'un modèle dans une configuration distribuée.

mise à jour des paramètres (parameter update)

Opération qui consiste à ajuster les paramètres d'un modèle au cours de l'apprentissage, généralement au cours d'une seule itération de la descente de gradient.

dérivée partielle (partial derivative)

Dérivée dans laquelle toutes les variables sauf une sont considérées comme constantes. Par exemple, la dérivée partielle de f(x, y) par rapport à x est la dérivée de f considérée exclusivement comme une fonction de x (c'est-à-dire en gardant y constante). La dérivée partielle de f par rapport à x se concentre uniquement sur l'évolution de x et ignore toutes les autres variables de l'équation.

stratégie de partitionnement (partitioning strategy)

Algorithme qui répartit les variables entre les serveurs de paramètres.

performances (performance)

Terme complexe ayant plusieurs significations :

  • Sens traditionnel dans le génie logiciel, à savoir : à quelle vitesse, ou avec quelle efficacité, ce logiciel s'exécute-t-il ?
  • Sens dans le domaine du machine learning, à savoir : quel est le degré d'exactitude de ce modèle ? Autrement dit, les prédictions du modèle sont-elles bonnes ?

perplexité (perplexity)

Mesure de l'efficacité d'un modèle à exécuter une tâche. Supposons que vous deviez lire les premières lettres qu'un utilisateur saisit avec le clavier de son smartphone pour lui proposer une liste de mots possibles. Pour cette tâche, la perplexité, notée P, est environ égale au nombre de mots que vous devez proposer pour que votre liste contienne le mot que l'utilisateur souhaite effectivement saisir.

La perplexité est liée à l'entropie croisée par la formule suivante :

$$P= 2^{-\text{entropie croisée}}$$

pipeline

Infrastructure sur laquelle repose l'algorithme de machine learning. Le pipeline inclut la collecte des données, l'intégration de celles-ci dans des fichiers de données d'apprentissage, l'entraînement d'un ou plusieurs modèles, et l'exportation des modèles en production.

pooling

Réduction d'une matrice (ou de matrices) créée par une couche convolutive antérieure à une matrice plus petite. Le pooling implique généralement de prendre la valeur maximale ou la valeur moyenne de l'ensemble de la zone regroupée. Soit, par exemple, la matrice 3 x 3 suivante :

Une opération de pooling, tout comme une opération convolutive, divise cette matrice en tranches, puis déplace cette opération convolutive selon un certain pas. Supposons que l'opération de pooling divise la matrice convolutive en tranches de taille 2 x 2 avec un pas de 1 x 1. Comme l'illustre le diagramme suivant, quatre opérations de pooling ont lieu. Imaginons que chaque opération de pooling sélectionne la valeur maximale des quatre valeurs de cette tranche :

Le pooling permet d'appliquer l'invariance de 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 couramment, le pooling est fréquemment désigné par les termes de sous-échantillonnage ou réduction d'échantillonnage.

classe positive (positive class)

Dans la classification binaire, les deux classes possibles sont étiquetées "positive" et "négative". Le résultat positif correspond à ce qui est testé. (Certes, les deux résultats sont testés simultanément, mais mettons cette considération de côté.) Par exemple, la classe positive d'un test médical pourrait être "tumeur". La classe positive d'un classificateur d'e-mail pourrait être "spam".

À comparer à la classe négative.

précision (precision)

Statistique des modèles de classification. La précision correspond à la fréquence à laquelle le modèle prédit correctement la classe positive. Par exemple :

$$\text{Précision} = \frac{\text{Vrais positifs}} {\text{Vrais positifs} + \text{Faux positifs}}$$

prédiction (prediction)

Résultat d'un modèle auquel un exemple est fourni en entrée.

biais de prédiction (prediction bias)

Valeur indiquant la distance entre la moyenne des prédictions et la moyenne des étiquettes dans un ensemble de données.

Estimator prédéfini (pre-made Estimator)

Estimator déjà créé. TensorFlow propose plusieurs Estimators prédéfinis, notamment DNNClassifier, DNNRegressor et LinearClassifier. Pour créer vos propres Estimators prédéfinis, suivez cette procédure.

modèle pré-entraîné (pre-trained model)

Modèles ou composants de modèle (par exemple, représentations vectorielles continues) qui ont déjà été entraînés. Dans certains cas, vous alimentez un réseau de neurones avec des représentations vectorielles continues pré-entraînées. Dans d'autres cas, votre modèle entraîne lui-même les représentations vectorielles continues plutôt que d'utiliser des représentations vectorielles pré-entraînées.

croyance antérieure (prior belief)

Ce que vous croyez à propos des données avant de commencer l'apprentissage avec celles-ci. Par exemple, la régularisation L2 repose sur une croyance antérieure que les pondérations devraient être faibles et normalement distribuées autour de zéro.

Q

file d'attente (queue)

Opération TensorFlow qui implémente une structure de données de file d'attente. Généralement utilisée dans les E/S.

R

rang (rank)

Terme aux significations multiples dans le machine learning :

  • Nombre de dimensions d'un Tensor. Par exemple, une grandeur scalaire a un rang de 0, un vecteur un rang de 1 et une matrice un rang de 2.
  • Position ordinale d'une classe dans un problème de machine learning qui hiérarchise des classes par ordre décroissant. Par exemple, un système de classement de comportement pourrait classer les récompenses pour un chien de la récompense la plus élevée (un steak) à la récompense la plus faible (du chou frisé flétri).

évaluateur (rater)

Personne qui fournit les étiquettes dans les exemples. Parfois appelé "annotateur".

rappel (recall)

Statistique des modèles de classification qui répond à la question suivante : parmi toutes les étiquettes positives possibles, combien d'entre elles le modèle a-t-il correctement identifiées ? En d'autres termes :

$$\text{Rappel} = \frac{\text{Vrais positifs}} {\text{Vrais positifs} + \text{Faux négatifs}} $$

unité de rectification linéaire (ReLU) (Rectified Linear Unit (ReLU))

Fonction d'activation dont les règles sont les suivantes :

  • Si l'entrée est négative ou égale à zéro, la sortie est zéro.
  • Si l'entrée est positive, la sortie est égale à l'entrée.

modèle de régression (regression model)

Type de modèle qui génère des valeurs continues (à virgule flottante, généralement). À comparer aux modèles de classification, qui génèrent des valeurs discrètes, comme "hémérocalle" ou "lis tigré".

régularisation (regularization)

Pénalité pour la complexité d'un modèle. La régularisation aide à éviter le surapprentissage. Les différents types de régularisation sont notamment :

taux de régularisation (regularization rate)

Grandeur scalaire, notée lambda, qui indique l'importance relative de la fonction de régularisation. L'équation de perte simplifiée suivante montre l'influence du taux de régularisation :

$$\text{minimiser(fonction de perte + }\lambda\text{(fonction de régularisation))}$$

L'augmentation du taux de régularisation réduit non seulement le surapprentissage, mais aussi la justesse du modèle.

représentation (representation)

Processus de mise en correspondance des données et des caractéristiques utiles.

courbe ROC (receiver operating characteristic) (ROC (receiver operating characteristic) Curve)

Courbe représentant le taux de vrais positifs et le taux de faux positifs pour différents seuils de classification. Voir aussi AUC.

répertoire racine (root directory)

Répertoire que vous spécifiez pour l'enregistrement des sous-répertoires du point de contrôle TensorFlow et des fichiers d'événements de plusieurs modèles.

racine carrée de l'erreur quadratique moyenne (RMSE) (Root Mean Squared Error (RMSE))

Racine carrée de l'erreur quadratique moyenne.

invariance rotationnelle (rotational invariance)

Dans un problème de classification d'images, capacité d'un algorithme à classer correctement des images même lorsque l'orientation de l'image change. Par exemple, l'algorithme peut identifier une raquette de tennis comme telle, qu'elle soit pointée vers le haut, vers le bas, vers la gauche ou vers la droite. Notez que l'invariance rotationnelle n'est pas toujours souhaitable. Par exemple, un 9 à l'envers ne devrait pas être classé comme étant un 9.

Voir aussi invariance de translation et invariance de taille.

S

SavedModel

Format recommandé pour l'enregistrement et la récupération des modèles TensorFlow. SavedModel est un format de sérialisation récupérable, de langage neutre, qui permet aux systèmes et aux outils de plus haut niveau de produire, consommer et transformer des modèles TensorFlow.

Pour plus d'informations, consultez l'article Enregistrer et récupérer du guide du programmeur TensorFlow.

Saver

Objet TensorFlow responsable de l'enregistrement des points de contrôle du modèle.

mise à l'échelle (scaling)

Pratique couramment utilisée dans l'extraction de caractéristiques pour faire correspondre la plage de valeurs d'une caractéristique à celle d'autres caractéristiques de l'ensemble de données. Supposons que vous souhaitiez que la plage de toutes les caractéristiques à virgule flottante de l'ensemble de données s'étende de 0 à 1. Si la plage d'une caractéristique particulière s'étend de 0 à 500, vous pouvez mettre à l'échelle cette valeur en divisant chaque valeur par 500.

Voir aussi normalisation.

scikit-learn

Plate-forme de machine learning Open Source populaire. Pour plus d'informations, rendez-vous sur le site www.scikit-learn.org.

apprentissage partiellement supervisé (semi-supervised learning)

Entraînement d'un modèle avec des données où seulement certains des exemples d'apprentissage sont étiquetés. L'une des techniques d'apprentissage partiellement supervisé consiste à déduire les étiquettes des exemples sans étiquette, puis à entraîner le modèle avec les étiquettes déduites afin de créer un nouveau modèle. L'apprentissage partiellement supervisé peut être utile si les étiquettes sont coûteuses, mais que les exemples sans étiquette abondent.

modèle de séquence (sequence model)

Modèle dont les entrées présentent une dépendance séquentielle. Par exemple, prévision de la prochaine vidéo visionnée à partir d'une séquence de vidéos précédemment regardées.

session (tf.session)

Objet qui encapsule l'état de l'exécution de TensorFlow, et exécute tout ou partie d'un graphe. Lorsque vous utilisez les API TensorFlow de bas niveau, vous instanciez et gérez directement un ou plusieurs objets tf.session. Lorsque vous utilisez l'API Estimators, les Estimators instancient des objets session pour vous.

fonction sigmoïde (sigmoid function)

Fonction qui met en correspondance le résultat d'une régression logistique ou multinomiale (logarithme de probabilité) avec des probabilités, et renvoie une valeur comprise entre 0 et 1. L'équation de la fonction sigmoïde est la suivante :

$$y = \frac{1}{1 + e^{-\sigma}}$$

où \(\sigma\), dans les problèmes de régression logistique, est simplement :

$$\sigma = b + w_1x_1 + w_2x_2 + … w_nx_n$$

En d'autres termes, la fonction sigmoïde convertit \(\sigma\) en une probabilité comprise entre 0 et 1.

Dans certains réseaux de neurones, la fonction sigmoïde est utilisée comme fonction d'activation.

invariance de taille (size invariance)

Dans un problème de classification d'images, capacité d'un algorithme à classer correctement des images même lorsque la taille de l'image change. Par exemple, l'algorithme peut identifier un chat comme tel, que la taille de l'image soit de 2 millions de pixels ou de 200 000 pixels. Notez que même les meilleurs algorithmes de classification d'images présentent encore des limites pratiques au niveau de l'invariance de taille. Par exemple, il est peu probable qu'un algorithme (ou une personne) puisse classer correctement une image de chat de seulement 20 pixels.

Voir aussi invariance de translation et invariance rotationnelle.

softmax

Fonction qui fournit les probabilités pour chaque classe possible dans un modèle de classification à classes multiples. La somme des probabilités est de 1. Par exemple, softmax peut déterminer que la probabilité qu'une image particulière soit celle d'un chien est de 0,9, d'un chat de 0,08 et d'un cheval de 0,02. Également appelé softmax complet.

À comparer à l'échantillonnage de candidats.

caractéristique creuse (sparse feature)

Vecteur de caractéristique dont les valeurs sont pour la plupart nulles ou vides. Par exemple, un vecteur contenant une seule valeur 1 et un million de valeurs 0 est dit creux. Autre exemple : les mots d'une requête de recherche peuvent aussi être une caractéristique creuse. En effet, il existe de très nombreux mots possibles dans une langue donnée, mais seuls quelques-uns d'entre eux peuvent apparaître dans une requête.

À comparer à la caractéristique dense.

représentation creuse (sparse representation)

Représentation d'un Tensor qui ne stocke que des éléments différents de zéro.

Par exemple, la langue anglaise comprend environ un million de mots. Considérons deux façons de représenter un nombre de mots utilisés dans une phrase en anglais :

  • Une représentation dense de cette phrase doit définir un entier pour un million de cellules, en plaçant un 0 dans la plupart d'entre eux et un entier faible dans quelques-unes d'entre elles.
  • Une représentation creuse de cette phrase ne stocke que les cellules qui symbolisent un mot effectivement utilisé dans la phrase. Ainsi, si la phrase ne contenait que 20 mots uniques, la représentation creuse de la phrase stockerait un entier dans 20 cellules seulement.

À titre d'exemple, voyons deux façons de représenter la phrase "Dogs Wag Tails." Comme le montrent les tableaux suivants, la représentation dense consomme environ un million de cellules, tandis que la représentation creuse n'en consomme que 3 :

Représentation dense
Numéro de la cellule Mot Occurrence
0 a 0
1 aardvark 0
2 aargh 0
3 aarti 0
… 140 391 mots supplémentaires avec une occurrence de 0
140395 dogs 1
… 633 062 mots avec une occurrence de 0
773458 tails 1
… 189 136 mots avec une occurrence de 0
962594 wag 1
… de nombreux autres mots avec une occurrence de 0
Représentation creuse
Numéro de la cellule Mot Occurrence
140395 dogs 1
773458 tails 1
962594 wag 1

parcimonie (sparsity)

Nombre d'éléments égaux à zéro (ou null) dans un vecteur ou une matrice divisé par le nombre total d'entrées dans ce vecteur ou cette matrice. Considérons par exemple une matrice 10 x 10 dans laquelle 98 cellules contiennent zéro. La formule permettant de calculer la parcimonie est la suivante :

$$ {\text{parcimonie}} = \frac{\text{98}} {\text{100}} = {\text{0.98}} $$

La parcimonie des caractéristiques désigne la parcimonie d'un vecteur de caractéristiques. La parcimonie du modèle désigne la parcimonie des pondérations du modèle.

pooling spatial (spatial pooling)

Voir pooling.

marge maximale quadratique (squared hinge loss)

Carré de la marge maximale. La marge maximale quadratique pénalise les anomalies plus sévèrement que la marge maximale classique.

perte quadratique (squared loss)

Fonction de perte utilisée dans la régression linéaire, également appelée perte L2. Cette fonction calcule les carrés de la différence entre la valeur prédite d'un modèle pour un exemple étiqueté et la valeur réelle de l'étiquette. En raison de la mise au carré, cette fonction de perte amplifie l'influence des mauvaises prédictions. En d'autres termes, la perte quadratique réagit plus fortement aux anomalies que la perte L1.

modèle statique (static model)

Modèle entraîné hors ligne.

stationnarité (stationarity)

Propriété des données d'un ensemble, caractérisée par le fait que la distribution des données reste constante entre une ou plusieurs dimensions. Le plus souvent, cette dimension est le temps. Cela signifie alors que les données stationnaires n'évoluent pas au fil du temps. Par exemple, les données stationnaires n'évoluent pas entre septembre et décembre.

pas (step)

Évaluation avant et arrière d'un lot.

pas d'apprentissage (step size)

Synonyme de taux d'apprentissage.

descente de gradient stochastique (SGD) (stochastic gradient descent (SGD))

Algorithme de descente de gradient dans lequel la taille de lot est égale à un. Autrement dit, la descente de gradient stochastique repose sur un seul exemple prélevé uniformément, de manière aléatoire, dans un ensemble de données afin de calculer une estimation du gradient à chaque pas.

minimisation du risque structurel (SRM) (structural risk minimization (SRM))

Algorithme qui concilie les deux objectifs suivants :

  • Créer le modèle prédictif le plus efficace (par exemple, perte la plus faible)
  • Créer un modèle aussi simple que possible (par exemple, forte régularisation)

Par exemple, une fonction qui minimise la perte et effectue la régularisation sur l'ensemble d'apprentissage est un algorithme de minimisation du risque structurel.

Pour plus d'informations, consultez la page http://www.svms.org/srm/.

À comparer avec la minimisation du risque empirique.

pas (stride)

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

L'exemple précédent illustre le cas d'un pas bidimensionnel. Si la matrice d'entrée est tridimensionnelle, le pas est également tridimensionnel.

sous-échantillonnage (subsampling)

Voir pooling.

résumé (summary)

Dans TensorFlow, valeur ou ensemble de valeurs calculées à un pas donné, généralement utilisé pour effectuer le suivi des statistiques du modèle pendant l'apprentissage.

machine learning supervisé (supervised machine learning)

Entraînement d'un modèle à partir de données d'entrée et des étiquettes correspondantes. Le machine learning supervisé est comparable à l'apprentissage par un élève d'un sujet en étudiant une série de questions et les réponses correspondantes. Une fois la correspondance entre les questions et les réponses maîtrisée, l'élève peut fournir les réponses à des questions nouvelles (jamais vues auparavant) sur le même sujet. À comparer au machine learning non supervisé.

caractéristique synthétique (synthetic feature)

Caractéristique absente des caractéristiques d'entrée, mais créée à partir d'une ou plusieurs d'entre elles. Exemples de types de caractéristiques synthétiques :

  • Binning d'une caractéristique continue dans des paquets de plage
  • Multiplication (ou division) d'une caractéristique par d'autres caractéristiques ou par elle-même
  • Création d'une croisement de caractéristiques

Les caractéristiques créées uniquement par normalisation ou mise à l'échelle ne sont pas considérées comme des caractéristiques synthétiques.

T

cible (target)

Synonyme d'étiquette.

données temporelles (temporal data)

Données enregistrées à différents moments. Par exemple, les ventes de manteaux d'hiver enregistrées pour chaque jour de l'année sont des données temporelles.

Tensor

Structure de données principale des programmes TensorFlow. Les Tensors sont des structures de données à N dimensions (la valeur de N pouvant être très grande), généralement des grandeurs scalaires, des vecteurs ou des matrices. Les éléments d'un Tensor peuvent contenir des valeurs de type entier, à virgule flottante ou chaîne.

Tensor Processing Unit (TPU)

ASIC (circuit intégré propre à une application) qui optimise les performances des programmes TensorFlow.

rang de Tensor (Tensor rank)

Voir rang.

forme du Tensor (Tensor shape)

Nombre d'éléments d'un Tensor dans différentes dimensions. Par exemple, un Tensor [5, 10] a une forme de 5 dans une dimension et de 10 dans une autre.

taille de Tensor (Tensor size)

Nombre total de grandeurs scalaires d'un Tensor. Par exemple, la taille d'un Tensor [5, 10] est de 50.

TensorBoard

Tableau de bord qui affiche les résumés enregistrés lors de l'exécution d'un ou de plusieurs programmes TensorFlow.

TensorFlow

Plate-forme étendue distribuée de machine learning. Le terme désigne également la couche API de base de la pile TensorFlow qui soutient les calculs généraux des graphes Dataflow.

Bien que TensorFlow soit principalement utilisé pour le machine learning, il peut aussi être utilisé pour des tâches autres nécessitant un calcul numérique à l'aide de graphes Dataflow.

TensorFlow Playground

Programme qui visualise l'influence de différents hyperparamètres sur l'entraînement d'un modèle (principalement un réseau de neurones). Pour découvrir TensorFlow Playground, rendez-vous sur le site http://playground.tensorflow.org.

TensorFlow Serving

Plate-forme permettant de déployer des modèles entraînés en production.

ensemble d'évaluation (test set)

Sous-ensemble de l'ensemble de données utilisé pour tester votre modèle après approbation initiale de celui-ci par l'ensemble de validation.

À comparer avec l'ensemble d'apprentissage et l'ensemble de validation.

tf.Example

Protocol Buffer standard pour la description des données d'entrée, pour l'inférence ou l'entraînement d'un modèle de machine learning.

analyse de séries temporelles (time series analysis)

Sous-domaine du machine learning et de la statistique qui analyse les données temporelles. De nombreux types de problèmes de machine learning nécessitent une analyse de séries temporelles, notamment la classification, le clustering, la prévision et la détection d'anomalies. Vous pouvez par exemple utiliser l'analyse de séries temporelles pour prédire les ventes mensuelles de manteaux d'hiver à partir des données de vente historiques.

apprentissage (training)

Processus consistant à déterminer les paramètres idéaux d'un modèle.

ensemble d'apprentissage (training set)

Sous-ensemble de l'ensemble de données utilisé pour entraîner un modèle.

À comparer à l'ensemble de validation et à l'ensemble d'évaluation.

apprentissage par transfert (transfer learning)

Transfert d'informations d'une tâche de machine learning à une autre. Par exemple, dans un apprentissage multitâche, un seul modèle résout plusieurs tâches. C'est le cas des modèles profonds, qui ont différents nœuds de sortie pour différentes tâches. L'apprentissage par transfert peut impliquer le transfert de connaissances issues de la solution d'une tâche plus simple vers une tâche plus complexe, ou le transfert de connaissances tirées d'une tâche contenant de nombreuses données vers une tâche en contenant moins.

La plupart des systèmes de machine learning résolvent une seule tâche. L'apprentissage par transfert est un petit pas vers l'intelligence artificielle, en ce qu'un seul programme peut résoudre plusieurs tâches.

invariance de translation (translational invariance)

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 identifier un chien comme tel, qu'il se trouve au centre ou à gauche de l'image.

Voir aussi invariance de taille et invariance rotationnelle.

vrai négatif (VN) (true negative (TN))

Exemple dans lequel le modèle a prédit correctement la classe négative. Par exemple, le modèle a déduit qu'un e-mail particulier n'était pas du spam, ce qui était bien le cas.

vrai positif (VP) (true positive (TP))

Exemple dans lequel le modèle a prédit correctement la classe positive. Par exemple, le modèle a déduit qu'un e-mail particulier était du spam, ce qui était bien le cas.

taux de vrais positifs (taux de VP) (true positive rate (TP rate))

Synonyme de rappel. C'est-à-dire :

$$\text{Taux de vrais positifs} = \frac{\text{Vrais positifs}} {\text{Vrais positifs} + \text{Faux négatifs}}$$

Le taux de vrais positifs correspond à l'axe des ordonnées d'une courbe ROC.

U

exemple sans étiquette (unlabeled example)

Exemple qui contient des caractéristiques, mais pas d'étiquettes. Les exemples sans étiquette sont les entrées des inférences. Dans l'apprentissage partiellement supervisé ou non supervisé, les exemples sans étiquette sont utilisés pendant l'apprentissage.

machine learning non supervisé (unsupervised machine learning)

Entraînement d'un modèle pour détecter des schémas dans un ensemble de données, généralement sans étiquette.

Le machine learning non supervisé est surtout utilisé pour regrouper les données dans des clusters d'exemples similaires. Par exemple, un algorithme de machine learning non supervisé peut regrouper des titres selon leurs diverses caractéristiques. Les clusters qui en résultent peuvent être utilisés comme entrées d'autres algorithmes de machine learning (par exemple, un service de recommandation de musique). Le clustering peut être utile dans les domaines où les vraies étiquettes sont difficiles à obtenir. Par exemple, dans les domaines tels que la lutte contre les abus et la fraude, les clusters peuvent aider à mieux comprendre les données.

Un autre exemple de machine learning non supervisé est l'analyse en composantes principales (PCA). Par exemple, l'application de la PCA sur un ensemble de données contenant des millions de paniers d'achat peut révéler que ceux contenant des citrons contiennent également fréquemment des antiacides.

À comparer avec le machine learning supervisé.

V

ensemble de validation (validation set)

Sous-ensemble de l'ensemble de données, distinct de l'ensemble d'apprentissage, utilisé pour ajuster les hyperparamètres.

À comparer avec l'ensemble d'apprentissage et l'ensemble d'évaluation.

W

pondération (weight)

Coefficient d'une caractéristique d'un modèle linéaire, ou frontière d'un réseau profond. L'entraînement d'un modèle linéaire vise à déterminer la pondération idéale de chaque caractéristique. Si la pondération est égale à 0, la caractéristique correspondante ne contribue pas au modèle.

modèle large (wide model)

Modèle linéaire qui contient généralement un grand nombre de caractéristiques d'entrée creuses. Ce modèle est dit "large", car il s'agit d'un type particulier de réseau de neurones comportant un grand nombre d'entrées connectées directement au nœud de sortie. Les modèles larges sont souvent plus faciles à déboguer et à inspecter que les modèles profonds. Bien qu'ils ne puissent pas exprimer les non-linéarités par le biais de couches cachées, les modèles larges peuvent utiliser des transformations comme le croisement de caractéristiques et le binning pour modéliser les non-linéarités de différentes manières.

À comparer avec le modèle profond.

Envoyer des commentaires concernant…

Glossaire du machine learning