Restez organisé à l'aide des collections
Enregistrez et classez les contenus selon vos préférences.
Imaginez que vous développiez une application de recommandation d'aliments,
les utilisateurs saisissent leurs repas préférés, et l'application leur suggère des repas similaires.
qui pourraient leur plaire. Vous souhaitez développer un modèle de machine learning (ML)
capable de prédire la similarité alimentaire, ce qui permet à votre application
recommandations ("Étant donné que vous aimez les crêpes, nous vous recommandons les crêpes).
Pour entraîner votre modèle, vous sélectionnez
un ensemble de données composé de 5 000
les plats de repas, y compris le bortsch
hot dog,
salade,
pizza
et shawarma.
Image 1. Échantillon de repas inclus dans le jeu de données sur les aliments.
Vous créez une caractéristique meal qui contient un
encodage one-hot
de chaque plat du jeu de données.
Figure 2 : Les encodages one-hot de bortsch, de hot dog et de shawarma.
Chaque vecteur d'encodage one-hot a une longueur de 5 000 caractères (une entrée pour chaque
l'élément de menu du jeu de données). Les points de suspension du diagramme représentent
les 4 995 entrées non affichées.
Pièges liés aux représentations de données creuses
En examinant ces encodages one-hot, vous remarquez deux problèmes principaux
la représentation des données.
Nombre de pondérations. Les grands vecteurs d'entrée signifient un très grand nombre
pondérations
pour un réseau de neurones.
Avec M entrées dans votre encodage one-hot et N
dans la première couche du réseau après l'entrée, le modèle doit être entraîné
les pondérations MxN pour cette couche. Un grand nombre de pondérations entraîne d'autres problèmes:
Nombre de points de données. Plus il y a de pondérations dans votre modèle, plus vous obtenez de données
pour s'entraîner efficacement.
La quantité de calcul. Plus il y a de pondérations, plus il faut de calculs
pour entraîner et utiliser le modèle. Il est facile de dépasser les capacités de votre
matériel.
Quantité de mémoire. Plus il y a de pondérations dans le modèle, plus il y a de mémoire
sur les accélérateurs qui l'entraînent et la diffusent. Scaling à la hausse
efficacement est très difficile.
Difficultés d'assistance
machine learning sur l'appareil (ODML).
Si vous souhaitez exécuter votre modèle de ML sur des appareils locaux (plutôt que de diffuser
vous devez vous concentrer sur la réduction de la taille de votre modèle.
pour diminuer le nombre de pondérations.
Manque de relations significatives entre les vecteurs. Les valeurs vectorielles dans
les encodages one-hot des aliments ne fournissent aucune information pertinente
la similitude
des aliments. Mathématiquement, l'indice 1 ("hot dog") correspond à
plus proche de l'indice 2 ("salade") qu'avec l'indice 4999 ("shawarma"), même si une
chien est plus similaire au shawarma (tous deux contiennent de la viande et du pain) qu'une salade.
Dans ce module, vous apprendrez à créer des représentations vectorielles continues, de dimensions inférieures
de données creuses, qui répondent à ces deux problèmes.
Sauf indication contraire, le contenu de cette page est régi par une licence Creative Commons Attribution 4.0, et les échantillons de code sont régis par une licence Apache 2.0. Pour en savoir plus, consultez les Règles du site Google Developers. Java est une marque déposée d'Oracle et/ou de ses sociétés affiliées.
Dernière mise à jour le 2024/08/13 (UTC).
[[["Facile à comprendre","easyToUnderstand","thumb-up"],["J'ai pu résoudre mon problème","solvedMyProblem","thumb-up"],["Autre","otherUp","thumb-up"]],[["Il n'y a pas l'information dont j'ai besoin","missingTheInformationINeed","thumb-down"],["Trop compliqué/Trop d'étapes","tooComplicatedTooManySteps","thumb-down"],["Obsolète","outOfDate","thumb-down"],["Problème de traduction","translationIssue","thumb-down"],["Mauvais exemple/Erreur de code","samplesCodeIssue","thumb-down"],["Autre","otherDown","thumb-down"]],["Dernière mise à jour le 2024/08/13 (UTC)."],[[["This module explains how to create embeddings, which are lower-dimensional representations of sparse data that address the problems of large input vectors and lack of meaningful relations between vectors in one-hot encoding."],["One-hot encoding creates large input vectors, leading to a huge number of weights in a neural network, requiring more data, computation, and memory."],["One-hot encoding vectors lack meaningful relationships, failing to capture semantic similarities between items, like the example of hot dogs and shawarmas being more similar than hot dogs and salads."],["Embeddings offer a solution by providing dense vector representations that capture semantic relationships and reduce the dimensionality of data, improving efficiency and performance in machine learning models."],["This module assumes familiarity with introductory machine learning concepts like linear regression, categorical data, and neural networks."]]],[]]