Einbettungen (original) (raw)
Stellen Sie sich vor, Sie entwickeln eine Anwendung für Lebensmittelempfehlungen, Nutzende geben ihre Lieblingsgerichte ein und die App schlägt ähnliche Mahlzeiten vor. das ihnen gefallen könnte. Sie möchten ein ML-Modell entwickeln die Ähnlichkeiten zwischen Lebensmitteln vorhersagen, Empfehlungen ("Da Sie Pfannkuchen mögen, empfehlen wir Crêpes").
Zum Trainieren Ihres Modells stellen Sie ein Dataset mit 5.000 beliebten Mahlzeiten, darunter Borscht,Hotdog Salat Pizza, und shawarma.
Abbildung 1. Stichproben von Mahlzeiten, die im Lebensmittel-Dataset enthalten sind.
Sie erstellen ein meal
-Element, das Folgendes enthält:One-Hot-codiertDarstellung der einzelnen Mahlzeiten im Dataset.
Abbildung 2. One-Hot-Codierungen von Borschtsch, Hotdog und Schawarma Jeder One-Hot-Codierungsvektor hat eine Länge von 5.000 (ein Eintrag pro im Dataset). Die Ellipse im Diagramm steht für die 4.995 nicht angezeigten Einträge.
Fallstricke bei dünnbesetzten Datendarstellungen
Bei der Überprüfung dieser One-Hot-Codierungen stellen Sie zwei Hauptprobleme fest, Darstellung der Daten.
- Anzahl der Gewichte. Große Eingabevektoren bedeuten eine große Anzahl vonweightsfür ein neuronales Netzwerk. Mit M-Einträgen in Ihrer One-Hot-Codierung und N nach der Eingabe in der ersten Netzwerkschicht befinden, muss das Modell trainieren MxN-Gewichtungen für diese Ebene. Eine große Anzahl von Gewichtungen verursacht weitere Probleme:
- Anzahl der Datenpunkte. Je mehr Gewichtungen Ihr Modell hat, desto mehr Daten effektiv trainieren.
- Umfang der Berechnung. Je mehr Gewichtungen, desto mehr Rechenaufwand um das Modell zu trainieren und zu nutzen. Es ist leicht, die Möglichkeiten Ihrer Hardware.
- Größe des Arbeitsspeichers. Je mehr Gewichtungen das Modell hat, desto mehr Arbeitsspeicher wird für die Beschleuniger benötigt, die es trainieren und bereitstellen. Ausbauen ist sehr schwierig.
- **Schwierigkeiten, den SupportOn-Device-Machine-Learning (ODML)**Wenn Sie Ihr ML-Modell auf lokalen Geräten ausführen möchten, müssen Sie sich darauf konzentrieren, Ihr Modell zu verkleinern, um die Anzahl der Gewichtungen zu verringern.
- Fehlende aussagekräftige Beziehungen zwischen Vektoren. Die Vektorwerte in der One-Hot-Codierungen für Lebensmittel liefern keine aussagekräftigen Informationen Ähnlichkeit von Lebensmitteln. Mathematisch ist Index 1 ("Hotdog") näher an Index 2 ("Salat") als Index 4999 ("Shawarma"), obwohl ein heißer Hund ähnelt Schawarma (beide enthalten Fleisch und Brot) als Salat.
In diesem Modul erfahren Sie, wie Sie Einbettungen mit einer niedrigeren Dimension erstellen. dünnbesetzte Datendarstellungen, die beide Probleme lösen.