Mantieni tutto organizzato con le raccolte
Salva e classifica i contenuti in base alle tue preferenze.
Immagina di sviluppare un'applicazione di consigli gastronomici, in cui
gli utenti inseriscono i loro piatti preferiti e l'app suggerisce piatti simili
che potrebbero essere di loro gusto. Vuoi sviluppare un modello di machine learning
in grado di prevedere la somiglianza tra i cibi, in modo che la tua app possa offrire consigli
di alta qualità ("Dato che ti piacciono i pancake, ti consigliamo le crêpe").
Per addestrare il tuo modello, selezioni un set di dati di 5000 piatti
molto amati, tra cui borscht,
hot dog,
insalata,
pizza
e shawarma.
Figura 1. Campionamento dei piatti inclusi nel set di dati dei cibi.
Crei una caratteristica meal che contiene una
rappresentazione con codifica one-hot
di ciascun piatto nel set di dati.
La codifica si riferisce al processo di
scelta di una rappresentazione numerica iniziale dei dati su cui addestrare il modello.
Figura 2. Codifiche one-hot del borscht, dell'hot dog e dello shawarma.
Ogni vettore di codifica one-hot ha una lunghezza di 5000 (una voce per ciascuna
voce di menu nel set di dati). I puntini di sospensione nel diagramma rappresentano
le 4995 voci non mostrate.
Inconvenienti delle rappresentazioni di dati sparsi
Esaminando queste codifiche one-hot, si notano diversi problemi con questa
rappresentazione dei dati.
Numero di pesi. I vettori di input di grandi dimensioni comportano un numero enorme di
pesi
per una rete neurale.
Con le voci P nella codifica one-hot e i nodi
N nel primo strato della rete dopo l'input, il modello deve addestrare
PxN pesi per quello strato.
Numero dei punti dati. Maggiore è il numero di pesi nel tuo modello, maggiore è il numero di dati che
devi addestrare in modo efficace.
Quantità di calcolo. Maggiore è il numero di pesi, maggiore è il calcolo richiesto
per addestrare e usare quel modello. È facile superare le capacità
dell'hardware.
Quantità di memoria. Maggiore è il numero di pesi nel tuo modello, maggiore è la memoria
richiesta agli acceleratori che lo addestrano e lo gestiscono. Scalare questo processo
in modo efficiente è molto difficile.
Difficoltà nel supportare
il machine learning integrato nel dispositivo.
Se vuoi eseguire il tuo modello di machine learning su dispositivi locali (anziché
distribuirli), dovrai concentrarti sulla riduzione delle dimensioni del modello e sarà opportuno che tu
riduca il numero dei pesi.
In questo modulo imparerai a creare embedding, rappresentazioni
a dimensionalità ridotta di dati sparsi, che affrontano queste problematiche.
[[["Facile da capire","easyToUnderstand","thumb-up"],["Il problema è stato risolto","solvedMyProblem","thumb-up"],["Altra","otherUp","thumb-up"]],[["Mancano le informazioni di cui ho bisogno","missingTheInformationINeed","thumb-down"],["Troppo complicato/troppi passaggi","tooComplicatedTooManySteps","thumb-down"],["Obsoleti","outOfDate","thumb-down"],["Problema di traduzione","translationIssue","thumb-down"],["Problema relativo a esempi/codice","samplesCodeIssue","thumb-down"],["Altra","otherDown","thumb-down"]],["Ultimo aggiornamento 2025-05-15 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."]]],[]]