Eine Einbettung ist ein relativ niedrigdimensionaler Bereich, in den Sie hochdimensionale Vektoren übersetzen können. Einbettungen erleichtern das maschinelle Lernen bei großen Eingaben wie dünn besetzten Vektoren, die Wörter darstellen. Im Idealfall erfasst eine Einbettung einen Teil der Semantik der Eingabe, indem semantisch ähnliche Eingaben im Einbettungsbereich nahe beieinander platziert werden. Eine Einbettung kann modellübergreifend erlernt und wiederverwendet werden.
Einbettungen
Motivation durch kollaboratives Filtern
- Eingabe: 1.000.000 Filme, die sich 500.000 Nutzer angesehen haben
- Aufgabe:Empfehlen Sie den Nutzern Filme.
Um dieses Problem zu lösen, ist eine Methode erforderlich, um festzustellen, welche Filme einander ähneln.
Filme nach Ähnlichkeit sortieren (1 Tag)
Filme nach Ähnlichkeit sortieren (2d)
Zweidimensionale Einbettung
Zweidimensionale Einbettung
d-dimensionale Einbettungen
- Annahme, dass das Nutzerinteresse an Filmen ungefähr durch d Aspekte erklärt werden kann
- Jeder Film wird zu einem d-dimensionalen Punkt, an dem der Wert der Dimension d angibt, inwieweit der Film zu diesem Aspekt passt.
- Einbettungen können aus Daten gezogen werden
Einbettungen in einem tiefen Netzwerk lernen
- Kein separater Trainingsprozess erforderlich – die Einbettungsebene ist nur eine verborgene Ebene mit einer Einheit pro Dimension
- Mithilfe der Elternaufsicht (z. B. wenn sich Nutzer dieselben Filme angesehen haben) können die Einbettungen der Aufgabe angepasst werden.
- Intuitiv können Sie mithilfe der versteckten Einheiten die Elemente im d-dimensionalen Raum so organisieren, dass das endgültige Ziel bestmöglich optimiert wird.
Eingabedarstellung
- Jedes Beispiel (eine Zeile in dieser Matrix) ist ein dünnbesetzter Vektor von Merkmalen (Filmen), die vom Benutzer angesehen wurden.
- Dichte Darstellung dieses Beispiels als: (0, 1, 0, 1, 0, 0, 0, 1)
Ist in Bezug auf Raum und Zeit nicht effizient.
Eingabedarstellung
- Erstellen Sie ein Wörterbuch, das jede Funktion einer Ganzzahl von 0, ..., # Filme - 1 zuordnet
- Stellen Sie den spärlichen Vektor effizient als nur die Filme dar, die der Nutzer angesehen hat. Dies kann so aussehen:
Eine Einbettungsebene in einem tiefen Netzwerk
Regressionsproblem zur Vorhersage von Hausverkaufspreisen:
Eine Einbettungsebene in einem tiefen Netzwerk
Regressionsproblem zur Vorhersage von Hausverkaufspreisen:
Eine Einbettungsebene in einem tiefen Netzwerk
Regressionsproblem zur Vorhersage von Hausverkaufspreisen:
Eine Einbettungsebene in einem tiefen Netzwerk
Regressionsproblem zur Vorhersage von Hausverkaufspreisen:
Eine Einbettungsebene in einem tiefen Netzwerk
Regressionsproblem zur Vorhersage von Hausverkaufspreisen:
Eine Einbettungsebene in einem tiefen Netzwerk
Regressionsproblem zur Vorhersage von Hausverkaufspreisen:
Eine Einbettungsebene in einem tiefen Netzwerk
Multiclass Classification zum Vorhersagen einer handschriftlichen Ziffer:
Eine Einbettungsebene in einem tiefen Netzwerk
Multiclass Classification zum Vorhersagen einer handschriftlichen Ziffer:
Eine Einbettungsebene in einem tiefen Netzwerk
Multiclass Classification zum Vorhersagen einer handschriftlichen Ziffer:
Eine Einbettungsebene in einem tiefen Netzwerk
Multiclass Classification zum Vorhersagen einer handschriftlichen Ziffer:
Eine Einbettungsebene in einem tiefen Netzwerk
Multiclass Classification zum Vorhersagen einer handschriftlichen Ziffer:
Eine Einbettungsebene in einem tiefen Netzwerk
Multiclass Classification zum Vorhersagen einer handschriftlichen Ziffer:
Eine Einbettungsebene in einem tiefen Netzwerk
Multiclass Classification zum Vorhersagen einer handschriftlichen Ziffer:
Eine Einbettungsebene in einem tiefen Netzwerk
Gemeinsames Filtern zur Vorhersage von Filmen, die empfohlen werden sollen:
Eine Einbettungsebene in einem tiefen Netzwerk
Gemeinsames Filtern zur Vorhersage von Filmen, die empfohlen werden sollen:
Eine Einbettungsebene in einem tiefen Netzwerk
Gemeinsames Filtern zur Vorhersage von Filmen, die empfohlen werden sollen:
Eine Einbettungsebene in einem tiefen Netzwerk
Gemeinsames Filtern zur Vorhersage von Filmen, die empfohlen werden sollen:
Eine Einbettungsebene in einem tiefen Netzwerk
Gemeinsames Filtern zur Vorhersage von Filmen, die empfohlen werden sollen:
Eine Einbettungsebene in einem tiefen Netzwerk
Gemeinsames Filtern zur Vorhersage von Filmen, die empfohlen werden sollen:
Eine Einbettungsebene in einem tiefen Netzwerk
Gemeinsames Filtern zur Vorhersage von Filmen, die empfohlen werden sollen:
Korrespondenz zur geometrischen Ansicht
Tiefes Netzwerk
- Jede ausgeblendete Einheit entspricht einer Dimension (spätes Merkmal)
- Kantengewichte zwischen einem Film und einer ausgeblendeten Ebene sind Koordinatenwerte
Geometrische Ansicht einer einzelnen Filmeinbettung
Auswählen, wie viele Einbettungen gedimmt werden sollen
- Hochdimensionale Einbettungen können die Beziehungen zwischen Eingabewerten genauer darstellen
- Aber mehr Dimensionen erhöhen die Wahrscheinlichkeit einer Überanpassung und führen zu einem langsameren Training.
- Empirische Faustregel (ein guter Ausgangspunkt, sollte aber mit den Validierungsdaten abgestimmt werden): $$ dimensions \approx \sqrt[4]{possible\;values} $$
Einbettungen als Tool
- Einbettungen ordnen Elemente (z. B. Filme, Text usw.) tiefdimensionalen echten Vektoren so zu, dass sich ähnliche Elemente nah beieinander befinden.
- Einbettungen können auch auf dichte Daten (z.B. Audio) angewendet werden, um einen sinnvollen Ähnlichkeitsmesswert zu erstellen
- Gemeinsame Einbettung verschiedener Datentypen (z. B. Text, Bilder, Audio usw.) definiert eine Ähnlichkeit zwischen ihnen