In diesem Abschnitt geht es um zwei gängige Techniken zum Erhalt einer Einbettung:
- Dimensionalitätsreduktion
- Einbettung aus einem größeren neuronalen Netzmodell extrahieren
Verfahren zur Dimensionalitätsreduzierung
Es gibt viele mathematische Techniken, um wichtige Struktur eines hochdimensionalen Raums in einem niedrigdimensionalen Raum. Theoretisch Jede dieser Techniken kann verwendet werden, um eine Einbettung für eine Maschine zu erstellen. Lernsystem zu lernen.
Beispiel: Hauptkomponentenanalyse (Principal Component Analysis, PCA) zum Erstellen von Worteinbettungen verwendet. Bei einer Reihe von Instanzen wie Bag of Words-Vektoren, PCA-Versuche um hochkorrelierte Dimensionen zu finden, die in eine einzige Dimension.
Einbettung als Teil eines neuronalen Netzwerks trainieren
Sie können eine Einbettung erstellen, während Sie ein neuronalen Netzwerk für Ihre Zielaufgabe. Mit diesem Ansatz erhalten Sie eine Einbettung, die genau auf Ihr bestimmte System, kann jedoch länger dauern als das separate Trainieren der Einbettung.
Im Allgemeinen können Sie eine versteckte Ebene der Größe d in Ihrem neuronalen Netzwerk, das als Einbettungsebene, wobei d die Anzahl der Knoten in der verborgenen Ebene und der Dimensionen im Einbettungsbereich ein. Diese Einbettungsebene kann mit alle anderen Elemente und verborgenen Ebenen. Wie bei jedem neuronalen Deep-Learning-Netzwerk werden während des Trainings optimiert, um den Verlust der Knoten die Ausgabeschicht des Netzwerks.
Zurück zu unserem Beispiel für Essensempfehlungen: Unser Ziel ist es, um vorherzusagen, welche neuen Mahlzeiten die Nutzenden basierend auf ihrem aktuellen Lieblingsessen mögen werden Mahlzeiten. Zunächst können wir zusätzliche Daten zu den Top 5 Favoriten Lebensmittel. Anschließend können wir diese Aufgabe als überwachtes Lernproblem modellieren. Wir legen Folgendes fest: vier dieser Top-Lebensmittel als Featuredaten verwendet werden. das fünfte Lebensmittel als positives Label, das unser Modell vorhersagen soll. Vorhersagen des Modells mit einem Softmax-Rekorder Verlust.
Während des Trainings lernt das neuronale Netzwerkmodell die optimalen Gewichtungen für die Knoten in der ersten verborgenen Schicht, die als Einbettungsschicht dient. Wenn das Modell beispielsweise drei Knoten in der ersten ausgeblendeten Schicht enthält, könnte ermittelt werden, dass die drei wichtigsten Dimensionen von Lebensmitteln „Sandwiches“, „Dessertheit“ und „Flüssigkeit“. Abbildung 12 zeigt die One-Hot-codierte Eingabewert für „Hotdog“ in einen dreidimensionalen Vektor umwandelt werden.
![Abbildung 12. Neurales Netz für die One-Hot-Codierung von Hotdogs. Die erste Ebene ist ein
Eingabeebene mit 5 Knoten, die jeweils mit einem Symbol der Lebensmittel gekennzeichnet sind, die es enthält.
darstellen (Borscht, Hotdog, Salat, ... und Schawarma). Diese Knoten haben
jeweils die Werte [0, 1, 0, ..., 0], die den One-Hot-Operator
Codierung von 'Hotdog'. Die Eingabeschicht ist mit einer 3-Knoten-Einbettung verbunden.
, deren Knoten die Werte 2,98, -0, 75 bzw. 0 aufweisen. Die
ist mit einer verborgenen Schicht mit fünf Knoten verbunden, die dann
die mit einer 5-Knoten-Ausgabeschicht verbunden ist.](https://developers.google.cn/static/machine-learning/crash-course/embeddings/images/one_hot_hot_dog_embedding.png?authuser=6&hl=de)
hot dog
die als Eingabe für ein
neuronales Deep-Learning-Netzwerk bereitgestellt werden. Eine Einbettungsebene übersetzt
die One-Hot-Codierung in den dreidimensionalen Einbettungsvektor
[2.98, -0.75, 0]
Im Verlauf des Trainings werden die Gewichtungen der Einbettungsschicht optimiert. sodass die Einbettungsvektoren ähnliche Beispiele näher an den Sonstiges. Die individuellen Abmessungen der Einbettungsebene (d. h., was jeder Knoten im Einbettungsschicht) selten so verständlich sind wie „Dessertheit“, oder „Flüssigkeit“. Manchmal „bedeutet“ das, abgeleitet werden können, aber das ist nicht immer für den Fall.
Einbettungen sind in der Regel aufgabenspezifisch und unterscheiden sich voneinander. wenn sich die Aufgabe unterscheidet. Die Einbettungen, die von einem Vegetarier im Vergleich zu ein nicht-vegetarisches Klassifizierungsmodell kann zwei Dimensionen haben: Fleisch sowie Inhalte zu Milchprodukten. In der Zwischenzeit werden die durch ein Frühstück generierten Einbettungen im Vergleich zu Der Klassifikator "Abendessen" für amerikanische Küche kann leicht unterschiedliche Maße haben: Kalorien-, Getreide- und Fleischgehalt. „Müsli“ und „Sandwich mit Ei und Bacon“ im Einbettungsbereich eines Elements nah beieinander sein können, Frühstück und Abendessen Klassifikatoren, aber weit auseinander im eingebetteten Bereich einer Website Klassifikator „vegetarisch“ oder „nicht vegetarisch“.
Eine Worteinbettung trainieren
Im vorherigen Abschnitt haben Sie sich mit semantische Beziehungen in der word2vec-Einbettungsbereich.
Word2vec ist einer von vielen Algorithmen, die zum Trainieren von Worteinbettungen verwendet werden. Anhand der Verteilungshypothese werden semantische Ähnlichkeiten um Einbettungsvektoren geometrisch zu schließen. Der verteilte Hypothese besagt, dass Wörter, die oft dieselben Nachbarwörter haben, tendenziell semantisch ähnlich sind. Sowohl „Hund“ als auch und „Katze“ erscheinen häufig in der Nähe von das Wort „Tierarzt“, Dies spiegelt ihre semantische Ähnlichkeit wider. Der Linguist John Firth aus dem Jahr 1957 sagte dazu: „Du wirst ein Wort von der Firma die es behält.“
Im folgenden Video wird eine weitere Methode zur Erstellung von Worteinbettungen erläutert: Teil des Prozesses zum Trainieren eines neuronalen Netzwerks mit einem einfacheren Modell:
Statische und kontextbezogene Einbettungen
Eine Einschränkung von Worteinbettungen wie der im Video oben beschriebenen ist, dass sie statisch sind. Jedes Wort wird durch einen einzelnen Punkt im Vektor dargestellt auch wenn dieser unterschiedliche Bedeutungen haben kann, je nachdem, in einem Satz verwendet wird. In der letzten Übung haben Sie erfahren, wie schwierig es ist, semantische Ähnlichkeiten für das Wort Orange,die entweder für eine Farbe oder eine Obstsorte stehen kann.
Kontextbezogene Einbettungen wurden entwickelt, um diese Mängel zu beheben. Kontextbezogene Einbettungen ermöglichen mehrere Darstellungen desselben Wortes, die jeweils Informationen über Kontext, in dem das Wort verwendet wird. Bei einer kontextbezogenen Einbettung wird das Wort Orange kann zwei verschiedene Darstellungen haben, mit denen das Attribut „Farbe“ erfasst wird. Verwendung des Wortes, zum Beispiel in Sätzen wie „Mein Lieblingspullover hat orangefarbene Streifen“ und eine fängt die „Früchte“ ein, wie in Sätzen wie „Die Orange wurde vom Baum genommen, bevor sie vollständig reift war.“