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.
Sie erstellen ein meal
-Element, das Folgendes enthält:
One-Hot-codiert
Darstellung der einzelnen Mahlzeiten im Dataset.
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 von
weights
fü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 Support On-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.