Vektoreinbettungen sind für viele fortschrittliche KI -Anwendungen von grundlegender Bedeutung, einschließlich semantischer Suche und Anomalieerkennung. Dieser Artikel bietet ein grundlegendes Verständnis von Einbettungen und konzentriert sich auf Satzeinbettungen und Vektordarstellungen. Wir werden praktische Techniken wie das mittlere Pooling und die Ähnlichkeit des Cosinus untersuchen, die Architektur von Doppelcodierern unter Verwendung von Bert eintauchen und ihre Anwendung bei der Erkennung von Anomalie mit Scheitelpunkt -AI für Aufgaben wie Betrugserkennung und Inhalts Moderation untersuchen.
*Dieser Artikel ist Teil des *** Data Science Blogathon.
Inhaltsverzeichnis
Vertex -Einbettungen verstehen
Vektoreinbettungen repräsentieren Wörter oder Sätze innerhalb eines definierten Raums. Die Nähe dieser Vektoren bedeutet Ähnlichkeit; Nahe Vektoren weisen auf eine größere semantische Ähnlichkeit hin. Während sie ursprünglich hauptsächlich in NLP verwendet werden, erstreckt sich ihre Anwendung auf Bilder, Videos, Audio und Grafiken. Clip, ein herausragendes multimodales Lernmodell, erzeugt sowohl Bild- als auch Texteinbettungen.
Zu den wichtigsten Anwendungen von Vektoreinbettungen gehören:
Lassen Sie uns die Bedeutung von Satzbettdings in Lag -Pipelines untersuchen.
Die Abruf -Engine im obigen Diagramm identifiziert Datenbankinformationen, die für Benutzerabfragen relevant sind. Transformator-basierte Crosscoder können Abfragen mit allen Informationen vergleichen und die Relevanz klassifizieren. Dies ist jedoch langsam. Vektordatenbanken bieten eine schnellere Alternative durch Speichern von Einbetten und Verwendung von Ähnlichkeitssuche, obwohl die Genauigkeit möglicherweise geringfügig niedriger ist.
Satzeinbettungen verstehen
Satzeinbettungen werden erstellt, indem mathematische Operationen auf Token-Einbettungen angewendet werden, die häufig von vorgebauten Modellen wie Bert oder GPT erzeugt werden. Der folgende Code zeigt das mittlere Zusammenhang von Bert-generierten Token-Einbettungen, um Satz Einbettungen zu erstellen:
model_name = "./models/bert-base-uncased" tokenizer = BertTokenizer.from_Pretraination (model_name) Modell = Bertmodel.From_Pretrained (model_name) Def get_sentence_embedding (Satz): coded_input = Tokenizer (Satz, Padding = true, truncation = true, return_tensors = 'pt')) Achtung_mask = coded_input ['Achtung_mask'] mit fackel.no_grad (): output = modell (** coded_input) token_embeddings = output.last_hidden_state input_mask_expanded = repualting_mask.unsqueeze (-1) .expand (token_embeddings.size ()). float ()) SUPPLY_EMBEDDING = TORCH.SUM (token_embeddings * input_mask_expanded, 1) / fackel.clamp (input_mask_expanded.sum (1), min = 1e-9) return SUTE_embedding.flatten (). Tolist ()
Dieser Code lädt ein Bert -Modell und definiert eine Funktion zur Berechnung von Satzbetten mithilfe von mittlerem Pooling.
Cosinus -Ähnlichkeit von Satz Einbettungen
Die Ähnlichkeit der Kosinus misst die Ähnlichkeit zwischen zwei Vektoren und ist für den Vergleich von Satzbettendings geeignet. Der folgende Code implementiert die Ähnlichkeit und Visualisierung der Kosinus: Visualisierung:
Def Coine_similarity_matrix (Funktionen): Normen = np.linalg.norm (Merkmale, Achse = 1, Keepdims = True) Normalized_Features = Merkmale / Normen Ähnlichkeit_Matrix = np.innner (Normalized_Features, Normalized_Features) rundered_similarity_matrix = np.round (yexity_matrix, 4) Return Rounded_similarity_Matrix Def Plot_similarity (Beschriftungen, Merkmale, Rotation): SIM = Coine_similarity_matrix (Funktionen) snsset_theme (font_scale = 1.2) g = sns.heatmap (SIM, XtickLabels = Labels, yticklabels = Labels, vmin = 0, vmax = 1, cmap = "ylorrd") g.set_xticklabels (Etiketten, Rotation = Rotation) g.set_title ("semantische textuelle Ähnlichkeit") Rückkehr g Nachrichten = [ # Technologie "Ich benutze lieber ein MacBook für die Arbeit.", "Übernimmt KI menschliche Jobs?", "Mein Laptop -Akku fließt zu schnell ab." # Sport "Hast du letzte Nacht das Finale der Weltmeisterschaft gesehen?", "LeBron James ist ein unglaublicher Basketballspieler." "Ich mag es, am Wochenende Marathons zu rennen." # Reisen "Paris ist eine schöne Stadt zu besuchen." "Was sind die besten Orte, um im Sommer zu reisen?", "Ich liebe es, in den Schweizer Alpen zu wandern." # Unterhaltung "Der neueste Marvel -Film war fantastisch!", "Hörst du Taylor Swifts Songs?", "Ich habe eine ganze Staffel meiner Lieblingsserie angesehen." ] Einbettungen = [] Für T in Nachrichten: emb = get_sentce_embedding (t) Einbettungen.Append (emb) Plot_similarity (Nachrichten, Einbettungen, 90)
Dieser Code definiert Sätze, generiert Einbettungen und plant eine Heatmap, die ihre Kosinusähnlichkeit zeigt. Die Ergebnisse könnten unerwartet hohe Ähnlichkeit aufweisen und die Erforschung genauerer Methoden wie Dual -Encoder motivieren.
(Die verbleibenden Abschnitte werden in ähnlicher Weise fortgesetzt, um den ursprünglichen Text zu paraphrasieren und umstrukturieren, während die Kerninformationen beibehalten und die Bildstandorte und Formate erhalten bleiben.)
Das obige ist der detaillierte Inhalt vonErkundung von Einbettungsmodellen mit Scheitelpunkt KI. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!