Cette section présente deux techniques courantes pour obtenir une représentation vectorielle continue:
- Réduction de la dimensionnalité
- Extraire une représentation vectorielle continue d'un modèle de réseau de neurones plus grand
Techniques de réduction de la dimensionnalité
Il existe de nombreuses techniques mathématiques pour capturer les éléments importants la structure d'un espace de grande dimension dans un espace de faible dimension. En théorie, n'importe laquelle de ces techniques peut être utilisée pour créer une représentation vectorielle continue pour une machine de machine learning.
Par exemple, l'analyse en composantes principales (PCA). a été utilisée pour créer des représentations vectorielles continues de mots. Avec un ensemble d'instances telles que vecteurs bag of words, l'APC tente pour trouver des dimensions fortement corrélées qui peuvent être réduites .
Entraîner une représentation vectorielle continue dans le cadre d'un réseau de neurones
Vous pouvez créer une représentation vectorielle continue lors de l'entraînement réseau de neurones pour votre tâche cible. Cette approche permet d'obtenir une représentation vectorielle continue adaptée un système particulier, mais cela peut prendre plus de temps que l'entraînement séparé de la représentation vectorielle continue.
En général, vous pouvez créer une couche cachée de taille d dans votre système de neurones réseau désigné comme couche d'intégration, où d représente à la fois le nombre de nœuds dans la couche cachée et le nombre de dimensions dans l'espace de représentation vectorielle continue. Cette couche de représentation vectorielle continue peut être combinée avec d'autres fonctionnalités et couches cachées. Comme dans tout réseau de neurones profond, seront optimisés pendant l'entraînement pour minimiser la perte sur les nœuds dans la couche de sortie du réseau.
Pour en revenir à notre exemple de recommandation d'aliments, notre objectif est pour prédire les nouveaux repas qu'un utilisateur aimera en fonction de sa préférée actuelle repas. Tout d'abord, nous pouvons compiler des données supplémentaires sur les données top 5 des favoris les aliments. Nous pouvons ensuite modéliser cette tâche en tant que problème d'apprentissage supervisé. Nous définissons quatre de ces cinq principaux aliments comme données de caractéristiques, puis de mettre de côté votre cinquième aliment comme étiquette positive que le modèle cherche à prédire, en optimisant les prédictions du modèle à l'aide d'une fonction softmax de perte de données.
Pendant l'entraînement, le modèle de réseau de neurones apprend les pondérations optimales les nœuds de la première couche cachée, qui sert de couche de représentation vectorielle continue. Par exemple, si le modèle contient trois nœuds dans la première couche cachée, il pourrait déterminer que les trois dimensions les plus pertinentes des aliments sont la sandwicherie, le dessert et le liquide. La figure 12 illustre l'encodage one-hot valeur d'entrée pour "hot dog" transformées en vecteur tridimensionnel.
![Figure 12 : Réseau de neurones pour l'encodage one-hot d'un hot-dog La première couche est
couche d'entrée avec 5 nœuds, chacun annoté avec une icône de l'aliment qu'il
représente (bortsch, hot dog, salade, etc.) et shawarma). Ces nœuds ont
les valeurs [0, 1, 0, ..., 0], respectivement, représentant le modèle one-hot
l'encodage "hot dog". La couche d'entrée est connectée à une représentation vectorielle continue à trois nœuds.
couche, dont les nœuds ont les valeurs 2,98, -0,75 et 0, respectivement. La
la couche de représentations vectorielles continues est connectée à une couche cachée à 5 nœuds, qui est ensuite
connectée à une couche de sortie à cinq nœuds.](https://developers.google.cn/static/machine-learning/crash-course/embeddings/images/one_hot_hot_dog_embedding.png?authuser=19&hl=fr)
hot dog
fournies en entrée à un réseau de neurones profond. Une couche de représentation vectorielle continue traduit
l'encodage one-hot dans le vecteur de représentation vectorielle continue en trois dimensions
[2.98, -0.75, 0]
Au cours de l'entraînement, les pondérations de la couche de représentation vectorielle continue seront optimisées de sorte que les vecteurs de représentation vectorielle continue pour des exemples similaires sont plus proches autre. Les dimensions individuelles de la couche de représentation vectorielle continue (ce que chaque nœud du de représentation vectorielle continue représentée) sont rarement aussi compréhensibles que le terme "dessertness". ou « liquidité ». Parfois, ce qu'ils "signifient" peuvent être inférées, mais ce n'est pas toujours le cas.
Les représentations vectorielles continues sont généralement spécifiques à la tâche et diffèrent les unes des autres lorsque la tâche diffère. Par exemple, les représentations vectorielles continues générées par un végétarien vs Le modèle de classification des produits non végétariens peut comporter deux dimensions: la teneur en viande et les produits laitiers. Dans le même temps, les représentations vectorielles continues générées par un petit déjeuner par rapport à Le classificateur de repas pour la cuisine américaine peut avoir des dimensions légèrement différentes: teneur en calories, teneur en céréales et teneur en viande. "Céréales" et "sandwich aux œufs et au bacon" peuvent être proches les uns des autres dans l'espace de représentation vectorielle classificateur "petit-déjeuner" ou "dîner", mais éloigné dans l'espace de représentation vectorielle classificateur pour végétarien ou non végétarien.
Entraîner la représentation vectorielle continue d'un mot
Dans la section précédente, vous avez découvert visualisation des relations sémantiques dans word2vec.
Word2vec est l'un des nombreux algorithmes utilisés pour entraîner les représentations vectorielles continues de mots. Il s'appuie sur l'hypothèse distributionnelle pour cartographier des éléments sémantiquement similaires mots pour se rapprocher des vecteurs de représentation vectorielle continue. Le modèle distribution hypothèse indique que les mots qui ont souvent les mêmes mots voisins ont tendance à être sémantiquement similaires. Les deux "chien" et "chat" apparaissent souvent près de le mot « vétérinaire », ce qui reflète leur similarité sémantique. Comme le linguiste John Firth l’a dit en 1957, « Vous connaissez un mot de la compagnie qu'il garde. »
La vidéo suivante explique une autre méthode de création d'une représentation vectorielle continue de mots en tant que du processus d'entraînement d'un réseau de neurones à l'aide d'un modèle plus simple:
Représentations vectorielles continues statiques et contextuelles
L'une des limites des représentations vectorielles continues de mots comme celle abordée dans la vidéo ci-dessus est statiques. Chaque mot est représenté par un seul point dans le vecteur espace, même s'ils peuvent avoir différentes significations, selon la façon dont elle est utilisée dans une phrase. Dans le dernier exercice, vous avez découvert la difficulté de cartographier les similitudes sémantiques pour le mot orange,qui peut indiquer une couleur ou un type de fruit.
Les représentations vectorielles continues ont été développées pour combler ces lacunes. Les représentations vectorielles continues contextuelles permettent représentations du même mot, chacune incluant des informations sur le contexte dans lequel le mot est utilisé. Dans une représentation vectorielle continue contextuelle, le terme orange peut avoir deux représentations distinctes: l'une capture la "couleur" l'usage du mot, par exemple dans des phrases comme "Mon pull préféré a du orange" rayures », L'autre capture le "fruit" l'usage du mot, comme dans des phrases comme "L'orange a été arrachée de l'arbre avant qu'elle n'ait complètement mûri."