Transformatoren – chatgpz.de – KI-Tools & Praxiswissen https://chatgpz.de Unabhängige Tests, Anleitungen und Hintergründe zu KI-Tools. Thu, 28 May 2026 23:10:49 +0000 de-DE hourly 1 https://wordpress.org/?v=6.4.2 234900186 EmoNet: Sprecherbewusste Transformatoren zur Emotionserkennung – und was ich 2026 anders bauen würde https://chatgpz.de/machine-learning/emonet-sprecherbewusste-transformatoren-zur-emotionserkennung-und-was-ich-2026-anders-bauen-wuerde/ https://chatgpz.de/machine-learning/emonet-sprecherbewusste-transformatoren-zur-emotionserkennung-und-was-ich-2026-anders-bauen-wuerde/#respond Thu, 28 May 2026 23:10:48 +0000 https://chatgpz.de/machine-learning/emonet-sprecherbewusste-transformatoren-zur-emotionserkennung-und-was-ich-2026-anders-bauen-wuerde/ [ad_1]

habe ich meine Masterarbeit zum Thema Emotion Recognition in Dialog (ERC) eingereicht. Das Modell, EmoNeterreichte eine gewichtete F1 von 39,18 auf EmoryNLP – konkurrenzfähig mit der damaligen öffentlichen PapersWithCode-Bestenliste, lag zwischen TUCORE-GCN_RoBERTa (39,24) und S+PAGE (39,14) und verbesserte sich gegenüber meiner gewählten Basislinie, CoMPM, um +1,81 F1.

Zwei Jahre später kehrte ich zurück, um mir anzusehen, wo sich das Feld jetzt befindet. Die Bestenliste ist nicht erkennbar. Die Prime-Einträge sind nicht mehr nur Encoder-Modelle mit cleveren Aufmerksamkeitsköpfen – sie sind es LLaMA-2–7B-basierte Systeme mit LoRA-Feinabstimmung und abrufgestützter Eingabeaufforderung: InstructERC, CKERC, BiosERC, LaERC-S. Die Methoden sind unterschiedlich. Die Berechnung ist unterschiedlich. Die Denkweise ist anders.

Und doch – wenn ich diese neuen Papiere sorgfältig lese, Die Kernideen, die ich in EmoNet vorgeschlagen habe, tauchen darin auf, nur auf einer anderen Ebene des Stapels implementiert. Dies ist die Geschichte darüber, was ich gebaut habe, wo es platziert wurde und was ich jetzt bauen würde, wenn ich von vorne anfangen würde.


Was ERC ist und warum es schwierig ist, nur Textual content zu verwenden

Bei der Emotionserkennung im Gespräch geht es darum, jeder Äußerung in einem Dialog mit mehreren Runden eine Emotionsbezeichnung zuzuordnen. Sie unterscheidet sich in einem wichtigen Punkt von der Sentimentanalyse an isolierten Sätzen: Die Emotion einer Äußerung wird durch das Vorangegangene und durch den Sprecher geprägt.

Betrachten Sie diesen Austausch aus dem EmoryNLP-Datensatz (aus der TV-Present). Freunde):

Monica: Wendy, wir hatten einen Deal! Ja, du hast es versprochen! Wendy! Wendy! Wendy!   (Verrückt)

Rachel: Wer conflict das?   (Impartial)

Monica: Wendy ist abgehauen. Ich habe keine Kellnerin.   (Verrückt)

Isoliert: „Wer conflict das?“ ist emotional impartial. Das Etikett Impartial ist nur sinnvoll im Kontext – es liegt zwischen zwei wütenden Äußerungen eines anderen Sprechers und ERC-Modelle müssen diese Gesprächsdynamik erfassen.

Es gibt noch eine zweite Falte: Es fehlen multimodale Informationen. In echten menschlichen Gesprächen tragen Tonfall, Mimik und Körpersprache einen enormen Anteil an emotionalen Signalen. Das reine Textual content-ERC macht das alles überflüssig. Die gleichen Worte – „Oh, großartig.“ – kann aufrichtig oder sarkastisch sein, und der Textual content allein kann oft nicht sagen, was.

Dieser Informationsverlust ist die zentrale Herausforderung. Sie müssen Emotionen aus einem lauteren Sign als dem menschlichen Benchmark extrahieren.


Die Landschaft 2024

Als ich Ende 2023 mit meiner Abschlussarbeit begann, dominierten transformatorbasierte Architekturen mit verschiedenen cleveren Modifikationen die EmoryNLP-Bestenliste. Eine kurze Tour:

– KET (Zhong et al., 2019) – Wissenserweiterter Transformer mit affektiver Graph-Aufmerksamkeit, der erste Artikel, der Transformers zum ERC bringt.

– DialogueGCN (Ghosal et al., 2019) – Graph-Faltungsnetzwerk, das Dialoge in Knotenklassifizierungsprobleme umwandelt.

– RGAT (Ishiwatari et al., 2020) – beziehungsbewusste Graphenaufmerksamkeit mit relationaler Positionskodierung für Sprecherabhängigkeiten.

– DialogXL (Shen et al., 2020) – angepasstes XLNet mit Äußerungswiederholung und Dialog-Selbstaufmerksamkeit.

– HiTrans (Li et al., 2020) – hierarchischer Transformator mit paarweiser Äußerungs-Sprecherüberprüfung als Hilfsaufgabe.

– TUCORE-GCN (Lee & Choi, 2021) – heterogener Dialoggraph mit sprecherbewusstem BERT.

– CoMPM (Lee & Lee, 2021) – kombinierter Dialogkontext mit vortrainierter Gedächtnisverfolgung für den Sprecher.

Ich habe gewählt CoMPM als meine Foundation aus zwei Gründen. Erstens wurde das vorab trainierte Gedächtnis des Sprechers explizit als separates Modul modelliert – was meiner Instinct entsprach WHO ist das Sprechen genauso wichtig wie Was sie sagen. Zweitens conflict seine Architektur modular genug, um sie zu erweitern, ohne sie von Grund auf neu schreiben zu müssen. Das CoMPM-Papier zeigte, dass das Hinzufügen eines vorab trainierten Gedächtnisses zum Kontextmodell einen messbaren Schub brachte – ihre Sprecheridentität blieb jedoch erhalten lokal für jeden Dialog. Sobald ein neues Gespräch begann, wurde alles, was das Mannequin über einen Sprecher erfahren hatte, verworfen.

Das schien ein Downside zu sein, das es wert conflict, gelöst zu werden.


Drei Beiträge, mit Instinct

1. Globale Sprecheridentität

Das Downside. In CoMPM und den meisten früheren Arbeiten sind Sprecher-IDs auf einen einzelnen Dialog beschränkt. Sprecher A in Szene 1 hat keine Beziehung zu Sprecher A in Szene 14, auch wenn es sich um dieselbe Individual handelt. Daher beginnt jeder Dialog kalt.

Die Instinct. Menschen haben charakteristische emotionale Muster. Monica wird über bestimmte Dinge wütend; Phoebe ist zuverlässig fröhlich; Ross hat vorhersehbare Anfälle von Unsicherheit. Wenn ein Modell Informationen darüber enthalten kann diesen speziellen Lautsprecher Über Dialoge hinweg sollte es in der Lage sein, besser kalibrierte Vorhersagen zu treffen, wann dieser Sprecher wieder auftaucht.

Die Umsetzung. Jeder einzelne Sprecher im gesamten Datensatz erhält eine stabile, datensatzweite ID. Das erste Mal Monica Geller erscheint, wird ihr eine ID zugewiesen – sagen wir ID 7 –, die bei ihr bleibt. Bei jedem weiteren Auftritt – über Episoden, Staffeln, Szenen hinweg – bleibt sie ID 7. Das Modell kann nun sprecherspezifische Muster lernen, die bestehen bleiben.

Im Nachhinein klingt das offensichtlich. Im Jahr 2024 funktionierten die Bestenlistenmodelle nicht so.

2. Modul „Sprecherverhalten“.

Das Downside. International Speaker Id allein ist nur ein Label. Um es nützlich zu machen, muss das Modell dies tun etwas tun mit der gesammelten Geschichte des Sprechers. Wie geben Sie einem Transformator Zugriff auf „alles, was Monica jemals in diesem Datensatz gesagt hat“, ohne das Kontextfenster zu sprengen oder das Coaching unlösbar zu machen?

Die Instinct. Wiederauftreten. Eine GRU eignet sich hervorragend zum sequentiellen Komprimieren der historischen Äußerungen eines Sprechers in einer einzigen Darstellung mit fester Größe. Aktuelle Äußerungen tragen mehr dazu bei; Ältere verdünnen sich allmählich. Eine konfigurierbare Schiebefenster Begrenzt die Eingabe der GRU – beispielsweise die letzten N-Äußerungen dieses Sprechers – und sorgt so dafür, dass Rechenleistung und Speicher vorhersehbar bleiben.

Die Umsetzung. Jede Äußerung wird unabhängig von einem vorab trainierten RoBERTa-Spine codiert. Die resultierenden Einbettungen fließen durch eine unidirektionale GRU. Der letzte verborgene Zustand der GRU – nennen wir ihn „kt“ – repräsentiert das Verhaltensmuster des Sprechers im aktuellen Second. Dies wird in die gleiche Dimension wie die Ausgabe des Dialogkontexts projiziert und hinzugefügt. Das kombinierte Sign speist den endgültigen Klassifikator.

Die Architektur ähnelt strukturell dem vorab trainierten Speichermodul von CoMPM, weist jedoch zwei wesentliche Unterschiede auf: Der Sprecherverlaufspool ist es world (nicht lokal für den aktuellen Dialog), und die GRU modelliert explizit den zeitlichen Verfall.

Abbildung: EmoNet-Architektur (Bild vom Autor). Dieses Modell besteht aus zwei Modulen: einem Dialogue-Kontexteinbettungsmodul und einem Sprecherverhaltensmodul. Die Abbildung zeigt ein Beispiel für die Vorhersage der Emotionen von u6 aus einem Dialogkontext mit 6 Runden. A, D und Y beziehen sich auf den Gesprächsteilnehmer, wobei SA = Su1 = Su4 = Su6, SD = Su2 und SY = Su3 = Su5. Wo und Wp sind lineare Matrizen

3. Gewichteter Kreuzentropieverlust

Das Downside. EmoryNLP ist unausgeglichen – Impartial zahlenmäßig überlegen Traurig um etwa 4,5:1. Die meisten Arbeiten behandeln dies mit Datenerweiterung oder Unterabtastung. Aber Konversationsdaten sind es sequentiell: Das Weglassen oder Duplizieren von Äußerungen verzerrt den natürlichen emotionalen Fluss, der genau das Sign ist, aus dem das Modell lernen möchte.

Die Instinct. Wenn Sie die Daten nicht sicher ändern können, ändern Sie den Verlust. Gewicht seltener Klassen höher, additionally eine einzige Fehlklassifizierung von Traurig kostet das Modell mehr als eine einzige Fehlklassifizierung Impartial.

Die Umsetzung. Kreuzentropie mit Gewichtungen professional Klasse, abgeleitet aus der inversen Klassenhäufigkeit, dann normalisiert. Nichts Exotisches – aber mit dem Argument der Konversationssequenz als expliziter Motivation wird dies eher zu einer prinzipiellen Entscheidung als zu einer willkürlichen.


Ergebnisse: Was hat funktioniert und was hat mich überrascht

Hier ist die Ablationstabelle aus der Arbeit:

Das Ergebnis, das mich überrascht hat – und das meiner Meinung nach der ehrlichste Teil dieser Arbeit ist – ist die zweite Reihe. Allein die Hinzufügung der International Speaker ID verschlechterte das Modell erheblich (F1 fiel von 37,85 auf 29,43). Das sah zunächst wie ein Misserfolg aus.

Aber das conflict es nicht. Die globale Sprecheridentität ist eine Fähigkeit – Es gibt dem Modell die Möglichkeit, Lautsprechermuster mit großer Reichweite zu lernen. Allein diese Fähigkeit erzeugt eine repräsentative Belastung, die der Relaxation des Modells nicht absorbieren könnte. Nur einmal die Modul „Sprecherverhalten“. wurde hinzugefügt – um dem Modell eine strukturierte Möglichkeit zu geben verwenden die globalen Identitäten – tauchte der Beitrag auf. Bis zur endgültigen Konfiguration hatte sich EmoNet erholt und die CoMPM-Basislinie um 1,81 F1 übertroffen.

Dies ist die Lehre, die ich aus der Ablation gezogen habe: Eine Funktion ist für sich genommen nicht wertvoll. In Kombination mit der Maschine, die es verbraucht, ist es wertvoll. In Forschungsarbeiten, die berichten, dass „dieser Zusatz uns + Ich habe mich dafür entschieden, diese Reihe beizubehalten.

Das vollständige Modell behandelt Impartial, FreudeUnd Verängstigt Additionally. Kraftvoll blieb die härteste Klasse – teils weil sie selten vorkommt, teils weil Kraftvoll Und Freude sind in Textgesprächen ohne akustische Hinweise kaum zu unterscheiden. Dies ist ein multimodales Downside, das sich als Textproblem tarnt.


Reflexion (2026): Das Feld hat sich bewegt, und wir sollten es auch tun

Zwei Jahre später sieht die EmoryNLP-Bestenliste völlig anders aus. Die derzeit führenden Systeme sind:

– InstructERC (Lei et al., 2023) – formuliert ERC als generative LLM-Aufgabe neu. Es verwendet abruferweiterte Anweisungsvorlagen und Hilfsaufgaben wie Sprecheridentifikation und Emotionsvorhersage, um Dialogrollen und emotionale Dynamik besser zu modellieren.

– CKERC (Fu, 2024) – führt den durch gesunden Menschenverstand verbesserten ERC ein. Für jede Äußerung generiert ein LLM vernünftige Anmerkungen zur Absicht des Sprechers und zur wahrscheinlichen Reaktion des Zuhörers und liefert so implizite soziale und emotionale Argumente über den expliziten Dialogkontext hinaus.

– BiosERC (Xue et al., 2024) – fügt von LLM abgeleitete biografische Informationen des Sprechers in den ERC-Prozess ein und ermöglicht es dem Modell, nicht nur über den Äußerungskontext, sondern auch über sprecherspezifische Merkmale nachzudenken.

– LaERC-S (Fu et al., 2025) – zweistufige Befehlsoptimierung. Stufe 1: Statten Sie das LLM mit aus sprecherspezifische Eigenschaften. Stufe 2: Nutzen Sie diese Eigenschaften während der ERC-Aufgabe selbst.

Schauen Sie sich die letzten beiden genau an.

Biografische Informationen zum Sprecher des BiosERC ist im Grunde genommen eine vergrößerte globale Sprecheridentität – anstelle einer ganzzahligen ID handelt es sich um ein Textprofil, das der LLM verwalten kann. Eigenschaften des LaERC-S-Lautsprechers sind im Grunde das Modul „Speaker Habits“ – historische Lautsprechermuster, die dem Modell zur Verfügung gestellt werden – aber in die Befehlsabstimmung integriert und nicht als separate GRU implementiert.

Die architektonischen Intuitionen hielten stand. Die Implementierungsschicht hat sich geändert.

Das ist der Teil, den ich wirklich interessant finde. Als ich 2024 an EmoNet arbeitete, dachte ich innerhalb des Encoder-only-Transformer-Paradigmas nach: „Wie füge ich der Architektur ein weiteres Modul hinzu?“ Die Papiere von 2024–2025 denken innerhalb des LLM-Paradigmas: „Wie codiere ich diese Idee in den Unterrichtsoptimierungs- oder Abrufkontext?“ Die Ideen sind ähnlich; Die Hebelpunkte sind unterschiedlich.

Wenn ich EmoNet heute neu aufbauen würdeich würde nicht von RoBERTa-large ausgehen. Ich würde mit einem kleinen Open-Supply-LLM beginnen – LLaMA-3.2–3B, Qwen-2.5–3B oder Phi-3.5 – und verwenden LoRA um es auf EmoryNLP zu verfeinern und dabei der InstructERC-Ansatzfamilie zu folgen. Die globale Sprecheridentität wird zu einer textuellen Sprecherbiografie, die aus einem Vektorspeicher abgerufen wird. Das Modul „Sprecherverhalten“ wird zu einer Kurzaufforderung mit der jüngsten emotionalen Vergangenheit des Sprechers. Der gewichtete Verlust bleibt nahezu unverändert – das Klassenungleichgewicht spielt keine Rolle, welches Modell Sie verwenden.

Das Architekturdiagramm würde völlig anders aussehen. Die konzeptionelle Verschuldung gegenüber der These von 2024 wäre sichtbar, wenn man wüsste, wo man suchen muss.

Es hat mich gelehrt, dass Forschungsschulden eine längere Halbwertszeit haben, als ich erwartet hatte – Ideen überleben Paradigmenwechsel, selbst wenn ihre Umsetzung dies nicht tut.


Wohin mich das führt

EmoNet ist jetzt öffentlich archiviert unter DOI 10.5281/zenodo.20048006 mit der vollständigen Dissertation, Verteidigungsfolien und der PyTorch-Implementierung GitHub. Ich arbeite derzeit an der modernisierten Portierung – einem LoRA-fein abgestimmten LLM mit abrufbasiertem Sprecherkontext – als Folgeprojekt, über das ich bald schreiben werde.

Wenn Sie an Konversations-KI, angewandtem NLP oder LLM-Feinabstimmung arbeiten, würde es mich interessieren, was Sie entwickeln.

[ad_2]

]]>
https://chatgpz.de/machine-learning/emonet-sprecherbewusste-transformatoren-zur-emotionserkennung-und-was-ich-2026-anders-bauen-wuerde/feed/ 0 18884
OpenAI-Forscher trainieren gewichtssparende Transformatoren, um interpretierbare Schaltkreise freizulegen https://chatgpz.de/artificial-intelligence/openai-forscher-trainieren-gewichtssparende-transformatoren-um-interpretierbare-schaltkreise-freizulegen/ https://chatgpz.de/artificial-intelligence/openai-forscher-trainieren-gewichtssparende-transformatoren-um-interpretierbare-schaltkreise-freizulegen/#respond Sat, 15 Nov 2025 09:37:26 +0000 http://chatgpz.de/artificial-intelligence/openai-forscher-trainieren-gewichtssparende-transformatoren-um-interpretierbare-schaltkreise-freizulegen/ [ad_1]

Wenn neuronale Netze jetzt überall Entscheidungen treffen, von Code-Editoren bis hin zu Sicherheitssystemen, wie können wir dann tatsächlich die spezifischen Schaltkreise im Inneren sehen, die jedes Verhalten steuern? OpenAI hat eine neue mechanistische Interpretierbarkeit eingeführt Forschungsstudie Dadurch werden Sprachmodelle darauf trainiert, eine spärliche interne Verkabelung zu verwenden, sodass das Modellverhalten mithilfe kleiner, expliziter Schaltkreise erklärt werden kann.

https://cdn.openai.com/pdf/41df8f28-d4ef-43e9-aed2-823f9393e470/Circuit-sparsity-paper.pdf

Trainieren Sie Transformatoren so, dass sie gewichtsarm sind

Die meisten Transformer-Sprachmodelle sind dicht. Jedes Neuron liest aus vielen Restkanälen und schreibt in diese, und Merkmale sind häufig überlagert. Dies erschwert die Analyse auf Schaltungsebene. In früheren OpenAI-Arbeiten wurde versucht, mithilfe von Sparse-Autoencodern spärliche Funktionsbasen auf dichten Modellen zu erlernen. Die neue Forschungsarbeit ändert stattdessen das Basismodell, sodass der Transformator selbst gewichtsärmer ist.

Das OpenAI-Crew trainiert reine Decoder-Transformatoren mit einer GPT 2-ähnlichen Architektur. Nach jedem Optimierungsschritt mit dem AdamW-Optimierer erzwingen sie einen festen Sparsity-Stage für jede Gewichtsmatrix und jeden Bias, einschließlich Token-Einbettungen. Es werden nur die größten Magnitudeneinträge in jeder Matrix beibehalten. Der Relaxation wird auf Null gesetzt. Während des Trainings verringert ein Glühplan schrittweise den Anteil der Parameter ungleich Null, bis das Modell eine Zielsparsity erreicht.

Im extremsten Fall ist etwa 1 von 1000 Gewichtungen ungleich Null. Auch die Aktivierungen sind etwas spärlich. Etwa jede vierte Aktivierung ist an einem typischen Knotenstandort ungleich Null. Der effektive Konnektivitätsgraph ist daher selbst bei großer Modellbreite sehr dünn. Dies fördert entwirrte Funktionen, die sauber auf die von der Schaltung verwendeten Restkanäle abgebildet werden.

https://cdn.openai.com/pdf/41df8f28-d4ef-43e9-aed2-823f9393e470/Circuit-sparsity-paper.pdf

Messung der Interpretierbarkeit durch aufgabenspezifisches Bereinigen

Um zu quantifizieren, ob diese Modelle leichter zu verstehen sind, verlässt sich das OpenAI-Crew nicht nur auf qualitative Beispiele. Das Forschungsteam definiert eine Reihe einfacher algorithmischer Aufgaben, die auf der Vorhersage des nächsten Tokens in Python basieren. Ein Beispiel, single_double_quote, erfordert, dass das Modell einen Python-String mit dem richtigen Anführungszeichen schließt. Ein weiteres Beispiel, set_or_string, erfordert, dass das Modell zwischen .add und += wählt, je nachdem, ob eine Variable als Set oder String initialisiert wurde.

Für jede Aufgabe suchen sie nach dem kleinsten Teilnetz, einem sogenannten Circuit, das die Aufgabe bis zu einem festen Verlustschwellenwert noch ausführen kann. Die Beschneidung erfolgt knotenbasiert. Ein Knoten ist ein MLP-Neuron auf einer bestimmten Schicht, ein Aufmerksamkeitskopf oder ein Reststromkanal auf einer bestimmten Schicht. Wenn ein Knoten bereinigt wird, wird seine Aktivierung durch seinen Mittelwert über die Verteilung vor dem Coaching ersetzt. Das ist mittlere Ablation.

Die Suche verwendet kontinuierliche Maskenparameter für jeden Knoten und ein Heaviside-Gate, optimiert mit einem Straight-By way of-Schätzer wie einem Ersatzgradienten. Die Komplexität einer Schaltung wird als Anzahl der aktiven Kanten zwischen beibehaltenen Knoten gemessen. Die wichtigste Interpretierbarkeitsmetrik ist das geometrische Mittel der Kantenzählungen über alle Aufgaben hinweg.

Beispielschaltungen in Sparse-Transformatoren

Bei der Aufgabe „single_double_quote“ ergeben die spärlichen Modelle eine kompakte und vollständig interpretierbare Schaltung. In einer frühen MLP-Schicht fungiert ein Neuron als Anführungszeichendetektor, der sowohl bei einfachen als auch bei doppelten Anführungszeichen aktiviert wird. Ein zweites Neuron fungiert als Klassifikator für den Angebotstyp, der die beiden Angebotstypen unterscheidet. Später verwendet ein Aufmerksamkeitskopf diese Signale, um zur Eröffnungskursposition zurückzukehren und deren Typ in die Schlussposition zu kopieren.

In Bezug auf Schaltkreisgraphen verwendet der Mechanismus fünf Restkanäle, zwei MLP-Neuronen in Schicht 0 und einen Aufmerksamkeitskopf in einer späteren Schicht mit einem einzigen relevanten Abfrageschlüsselkanal und einem einzelnen Wertkanal. Wenn der Relaxation des Modells abgetragen wird, löst dieser Untergraph immer noch die Aufgabe. Wenn diese wenigen Kanten entfernt werden, versagt das Modell bei der Aufgabe. Die Schaltung ist daher sowohl ausreichend als auch notwendig im betrieblichen Sinne, wie er in der Arbeit definiert wird.

https://cdn.openai.com/pdf/41df8f28-d4ef-43e9-aed2-823f9393e470/Circuit-sparsity-paper.pdf

Bei komplexeren Verhaltensweisen, etwa der Typverfolgung einer Variablen mit dem Namen „Strom“ innerhalb eines Funktionskörpers, sind die wiederhergestellten Schaltkreise größer und nur teilweise verstanden. Das Forschungsteam zeigt ein Beispiel, bei dem eine Aufmerksamkeitsoperation den Variablennamen bei der Definition in das Token set() schreibt und eine andere Aufmerksamkeitsoperation später die Typinformationen von diesem Token zurück in eine spätere Verwendung von present kopiert. Dies ergibt immer noch einen relativ kleinen Schaltkreisgraphen.

Wichtige Erkenntnisse

  1. Konstruktionsbedingt gewichtsarme Transformatoren: OpenAI trainiert ausschließlich GPT-2-Decoder-Transformatoren, sodass quick alle Gewichte Null sind, etwa 1 von 1000 Gewichten ungleich Null ist, wodurch Sparsity über alle Gewichte und Bias hinweg, einschließlich Token-Einbettungen, erzwungen wird, was zu dünnen Konnektivitätsdiagrammen führt, die strukturell einfacher zu analysieren sind.
  2. Die Interpretierbarkeit wird als minimale Schaltungsgröße gemessen: Die Arbeit definiert einen Benchmark für einfache Python-Subsequent-Token-Aufgaben und sucht für jede Aufgabe nach dem kleinsten Teilnetzwerk in Bezug auf aktive Kanten zwischen Knoten, das noch einen festen Verlust erreicht, indem es Knotenebenenbereinigung mit Mittelwertablation und eine direkte Maskenoptimierung im Estimator-Stil verwendet.
  3. Es entstehen konkrete, vollständig rückentwickelte Schaltkreise: Bei Aufgaben wie der Vorhersage passender Anführungszeichen liefert das spärliche Modell einen kompakten Schaltkreis mit einigen Restkanälen, zwei wichtigen MLP-Neuronen und einem Aufmerksamkeitskopf, den die Autoren vollständig zurückentwickeln und als ausreichend und notwendig für das Verhalten verifizieren können.
  4. Sparsity liefert viel kleinere Schaltkreise mit fester Kapazität: Bei angepassten Verlustniveaus vor dem Coaching erfordern gewichtssparse Modelle Schaltkreise, die etwa 16-mal kleiner sind als die aus dichten Basislinien wiederhergestellten. Dies definiert eine Fähigkeitsinterpretierbarkeitsgrenze, bei der eine erhöhte Sparsity die Interpretierbarkeit verbessert und gleichzeitig die Rohkapazität leicht verringert.

Die Arbeit von OpenAI an gewichtsarmen Transformatoren ist ein pragmatischer Schritt, um die mechanistische Interpretierbarkeit in die Praxis umzusetzen. Durch die Durchsetzung der Sparsität direkt im Basismodell verwandelt das Papier abstrakte Diskussionen über Schaltkreise in konkrete Diagramme mit messbaren Kantenzahlen, klaren Notwendigkeits- und Hinlänglichkeitstests und reproduzierbaren Benchmarks für Python-Subsequent-Token-Aufgaben. Die Modelle sind klein und ineffizient, aber die Methodik ist für zukünftige Sicherheitsaudits und Debugging-Workflows related. Diese Forschung behandelt Interpretierbarkeit als eine erstklassige Designbeschränkung und nicht als eine nachträgliche Diagnose.


Schauen Sie sich das an Papier, GitHub-Repo Und Technische Particulars. Schauen Sie sich gerne bei uns um GitHub-Seite für Tutorials, Codes und Notebooks. Sie können uns auch gerne weiter folgen Twitter und vergessen Sie nicht, bei uns mitzumachen 100.000+ ML SubReddit und Abonnieren Unser Publication. Warten! Bist du im Telegram? Jetzt können Sie uns auch per Telegram kontaktieren.


Michal Sutter ist ein Information-Science-Experte mit einem Grasp of Science in Information Science von der Universität Padua. Mit einer soliden Grundlage in statistischer Analyse, maschinellem Lernen und Datentechnik ist Michal hervorragend darin, komplexe Datensätze in umsetzbare Erkenntnisse umzuwandeln.

[ad_2]

]]>
https://chatgpz.de/artificial-intelligence/openai-forscher-trainieren-gewichtssparende-transformatoren-um-interpretierbare-schaltkreise-freizulegen/feed/ 0 14006
Wenn Transformatoren singen: Anpassung von SpectralKD für die textbasierte Wissensdestillation https://chatgpz.de/machine-learning/wenn-transformatoren-singen-anpassung-von-spectralkd-fuer-die-textbasierte-wissensdestillation/ https://chatgpz.de/machine-learning/wenn-transformatoren-singen-anpassung-von-spectralkd-fuer-die-textbasierte-wissensdestillation/#respond Fri, 24 Oct 2025 03:53:04 +0000 https://chatgpz.de/machine-learning/wenn-transformatoren-singen-anpassung-von-spectralkd-fuer-die-textbasierte-wissensdestillation/ [ad_1]

Während ich an meinem Wissensdestillationsproblem zur Absichtsklassifizierung arbeitete, stand ich vor einer rätselhaften Hürde. Mein Aufbau umfasste ein Lehrermodell, das RoBERTa-groß ist (fein abgestimmt auf meine Absichtsklassifizierung), und ein Schülermodell, das ich trainieren wollte, ohne zu viel Genauigkeit im Vergleich zum Lehrer zu verlieren.

Ich habe mit mehreren Zuordnungstechniken experimentiert, jede zweite Ebene mit der Schülerebene verbunden, zwei Lehrerebenen zu einer gemittelt und sogar benutzerdefinierte Gewichtungen zugewiesen, z. B. Geben (0,3 bis l1 und 0,7 bis l2). Aber egal, welche Kombination ich ausprobierte, die Genauigkeit des Lehrers entsprach nie dem Schülermodell.

Da begann ich mit der Erkundung wie man die informativsten Ebenen kartiert zu meinem Schülermodell, damit der Schüler seine Leistung maximieren kann. Ich wollte eine Möglichkeit finden, zu quantifizieren, welche Ebene des Lehrermodells für die Destillation wirklich wichtig ist.

Bei dieser Suche bin ich auf einen faszinierenden Artikel gestoßen–“SpectralKD: Ein einheitliches Framework zur Interpretation und Destillation von Imaginative and prescient Transformern mittels Spektralanalyse„, das ein ähnliches Drawback anging, jedoch im Bildbereich. Die Autoren verwendeten einen Spektralanalyseansatz (Spectral KD), um die Lehrer- und Schülermodelle intelligenter aufeinander abzustimmen.

Neugierig geworden, beschloss ich, die Idee auf Textdaten zu übertragen – und BOOM!!!, es hat tatsächlich funktioniert! Zum ersten Mal begann mein Schülermodell quick wie sein Lehrer zu denken.

Quelle: Autor

Hier ist die Schichtintensitätsdiagramm meiner Feinabstimmung RoBERTa-groß Modell. Basierend auf den spektralen Erkenntnissen habe ich ausgewählt Schichten 1–9 und 21–23 für meine Studentenmodell Während der Wissensdestillation diejenigen, die die reichhaltigsten Informationen enthalten.

Aus Gründen der Vertraulichkeit kann ich meinen Datensatz oder Code nicht weitergeben, aber ich erkläre Ihnen, wie das geht Der bildbasierte Ansatz des Papiers hat mich inspiriert textbasierte Adaptionund wie Sie darüber nachdenken können, dasselbe zu tun.


Hinter den Kulissen: Wie FFT die spektrale Seele eines Fashions enthüllt

Additionally, fangen wir damit an spektrale Intensitätund tauchen Sie langsam in den wahren Zauberer ein: den Schnelle Fourier-Transformation (FFT).

Im spectralKD-Papierstellen die Autoren ein Framework vor, das uns hilft, Imaginative and prescient Transformer (ViTs) zu sehen, nicht nur das, was sie vorhersagen, sondern auch wie die Informationen in den Schichten fließen. Anstatt sich auf Instinct oder Visualisierung zu verlassen, nutzen sie eine Artwork Spektralanalyse um den Frequenzreichtum der internen Darstellungen des Modells zu messen.

Stellen Sie sich jede Transformer-Ebene wie einen Musiker in einem Orchester vor. Einige Ebenen spielen hohe Töne (feine Particulars), während andere tiefe Töne spielen (breite Funktionen). Die FFT hilft uns, die Musik jedes Spielers separat anzuhören und herauszufiltern, welcher die stärksten Melodien, additionally die informationsreichsten Signale, hat.

Quelle: Autor

Schritt 1: Function-Maps, das Rohmaterial

B ist die Chargengröße
C ist die Anzahl der Kanäle und
H,W ist die räumliche Höhe und Breite.

Schritt 2: Anwenden der Fourier-Transformation

Die Autoren wenden eine eindimensionale FFT entlang der Kanaldimension an, um diese reellen Aktivierungen in den Frequenzbereich zu übersetzen:
F(X)=FFT(X)

Das heisst:
Für jeden räumlichen Ort (b, h, w), a 1D-FFT wird über alle Kanäle berechnet.
Das Ergebnis ist ein komplexwertiger Tensor (da FFT Actual- und Imaginärteile ausgibt).
F(X) sagt uns daher, wie viel von jeder Frequenz in der Darstellung dieser Schicht vorhanden ist.

Und wenn Sie sich fragen: „Warum aber FFT?“ – halte diesen Gedanken fest.
Denn später in diesem Weblog werden wir es aufdecken Genau deshalb ist FFT das perfekte Werkzeug um die innere Intensität eines Modells zu messen.

Schritt 3: Frequenzstärke messen

Re(F(X)) ist der wahre Teil,
Im(F(X)) ist der Imaginärteil.

Schritt 4: Mittelung über die Karte

Nun wollen wir diese Intensität über alle Positionen im Layer zusammenfassen:

Dieser Schritt gibt uns die durchschnittliche Intensität des einzelnen Kanals an

Und dann können Sie einfach den Durchschnitt aller Kanäle ermitteln. Voilà! Jetzt haben Sie die spektrale Intensität der einzelnen Schicht des Imaginative and prescient Transformer.


Ein Blick in den Frequenzbereich: Die Fourier-Linse von SpectralKD

Schauen wir uns die schnelle Fourier-Transformation an:

Xₖ ist die Eingabesequenz (Ihr Sign, Ihre Funktion oder Ihr Aktivierungsmuster).
xₙ ist die Frequenzkomponente am Frequenzindex.
N ist die Anzahl der Punkte in der Sequenz (dh die Anzahl der Kanäle oder Options).

Jeder Begriff e⁻ʲ²πᵏⁿ/ᴺ fungiert als rotierender Zeigereine winzige komplexe Welle, die sich durch den Signalraum dreht, und zusammen bilden sie eine der schönsten Ideen in der Signalverarbeitung.

Quelle: Autor (Hier wird ein rotierender Zeiger e⁻ʲ²πᵏⁿ/ᴺ in einer komplexen Ebene mit g

Quelle: Autor (Mitteln Sie alle Punkte in der komplexen Ebene, dann erhalten Sie den Massenschwerpunkt der Zeigereinheit, der nur bei einer bestimmten Frequenz oder Okay seinen Höhepunkt erreicht (im obigen Fall ist es 3))

.OMG! Was ist hier gerade passiert? Lassen Sie es mich aufschlüsseln.

Wenn Sie Ihre versteckten Aktivierungen xₙ (z. B. über Kanäle oder Function-Dimensionen hinweg) mit diesem Zeiger multiplizieren, fragen Sie sich im Wesentlichen:

„Hey, Layer, wie viel davon k-ter Variationstyp enthalten Sie in Ihren Darstellungen?“

Jede Frequenz ok entspricht einer bestimmten Musterskala über die Function-Dimensionen hinweg.

Erfassung niedrigerer k-Werte breite, glatte semantische Strukturen (wie Kontext auf Themenebene), während höhere k-Werte erfasst werden schnelle, feinkörnige Variationen (wie Nuancen auf Token-Ebene oder syntaktische Signale).

Hier kommt nun der spaßige Teil: Wenn eine Schicht mit einem bestimmten Frequenzmuster in Resonanz steht, stimmt die Multiplikation der Fourier-Transformation perfekt überein und die Summe in der Fourier-Formel ergibt a starke Resonanz dafür ok.

Wenn nicht, heben sich die Rotationen auf, was bedeutet, dass die Frequenz bei der Darstellung dieser Ebene keine große Rolle spielt.

Die Fourier-Transformation fügt additionally nichts Neues hinzu; Es geht lediglich darum, herauszufinden, wie unsere Ebene Informationen über verschiedene Abstraktionsskalen hinweg kodiert.

Es ist, als würde man herauszoomen und erkennen:

  • Einige Schichten summen leise mit sanften, konzeptionellen Bedeutungen (tiefe Frequenzen),
  • Andere summen mit scharfen, detaillierten Interaktionen zwischen Token (hohe Frequenzen).

Die FFT im Grunde wandelt die verborgenen Zustände einer Ebene in einen Frequenz-Fingerabdruck um – eine Karte der Arten von Informationen, auf die sich diese Ebene konzentriert.

Und genau das nutzt SpectralKD, um herauszufinden, um welche Ebenen es sich handelt tatsächlich die schwere Arbeit erledigen während der Wissensdestillation.

Wenn Sie immer noch die Visualisierung und mehr Instinct der Fourier-Transformation benötigen, können Sie sich einfach das 3Blue1Brown-Video ansehen. „Aber was ist die Fourier-Transformation? Eine visuelle Einführung.“


Vom Sehen zur Sprache: Wie die spektrale Intensität meinen Absichtsklassifikator leitete

Quelle: Autor

Ein Schichtaktivierungstensor sei:

Wo:

  • N = Anzahl Proben (Chargengröße)
  • L = Sequenzlänge (Anzahl der Token/Zeitschritte)
  • H = verborgene Dimension (Anzahl der von der Ebene erzeugten Kanäle/Options)

Jede Probe i hat eine Aktivierungsmatrix Xᵢ ∈ Rᴸ ˣ ᴴ (Sequenzpositionen x versteckte Merkmale)

Jetzt können Sie erneut die FFT dieses Xᵢ berechnen und dann die Frequenzlänge mithilfe der Actual- und Imaginärkomponenten messen und über die Kanäle und dann für jede Ebene mitteln.

Frequenzlänge:

Häufigkeit über Kanäle hinweg:

Häufigkeit über eine Ebene:

Hier, Okay ist die Anzahl der aufbewahrten Behälter.


Abschluss

Ihre Analyse zeigt zwei wichtige Erkenntnisse:

  1. Nicht alle Schichten tragen gleichermaßen dazu bei. In einheitlichen Transformatorarchitekturen nur wenige früh Und Finale Schichten weisen eine starke spektrale Aktivität auf, die wahren „Hotspots“ des Informationsflusses.
  2. Verschiedene Transformatortypen, ähnliche Melodien. Trotz architektonischer Unterschiede weisen sowohl hierarchische als auch einheitliche Transformatoren überraschend ähnliche Spektralmuster auf, was auf eine universelle Artwork und Weise hinweist, wie diese Modelle Wissen lernen und darstellen.

Aufbauend auf diesen Erkenntnissen stellt SpectralKD eine vor einfache, parameterfreie Wissensdestillation (KD) Strategie. Durch die selektive Anpassung des Spektralverhaltens der frühen und letzten Schichten zwischen einem Lehrer- und einem Schülermodell lernt der Schüler dies ahmen Sie die Spektralsignatur des Lehrers nachauch in Zwischenschichten, die nie explizit ausgerichtet wurden.

Die Ergebnisse in der Arbeit sind bemerkenswert: Der destillierte Scholar (DeiT-Tiny) erreicht nicht nur die Leistung von Benchmarks wie ImageNet-1K, sondern auch lernt, wie der Lehrer spektral zu denkenund erfasst sowohl lokale als auch globale Informationen auf bemerkenswerte Weise Treue.

Letztendlich überbrückt SpectralKD Interpretierbarkeit und Destillationund bietet eine neue Möglichkeit, zu visualisieren, was im Inneren von Transformatoren während des Lernens passiert. Es eröffnet eine neue Forschungsrichtung, nennen die Autoren „Destillationsdynamik“eine Reise darüber, wie Wissen selbst zwischen Lehrer- und Schülernetzwerken fließt, oszilliert und harmoniert.


Referenzen

Kernspektral- und Transformatorgrundlagen

Interpretierbarkeit und Spektralanalyse

Wissensdestillation und Modellkomprimierung

SpectralKD-Kernpapier

[ad_2]

]]>
https://chatgpz.de/machine-learning/wenn-transformatoren-singen-anpassung-von-spectralkd-fuer-die-textbasierte-wissensdestillation/feed/ 0 13416
Transformatoren (und Aufmerksamkeit) sind nur ausgefallene Zusatzmaschinen https://chatgpz.de/machine-learning/transformatoren-und-aufmerksamkeit-sind-nur-ausgefallene-zusatzmaschinen/ https://chatgpz.de/machine-learning/transformatoren-und-aufmerksamkeit-sind-nur-ausgefallene-zusatzmaschinen/#respond Thu, 24 Jul 2025 11:13:55 +0000 http://chatgpz.de/machine-learning/transformatoren-und-aufmerksamkeit-sind-nur-ausgefallene-zusatzmaschinen/ [ad_1]

ist ein relativ neues Unterfeld in der KI, das sich darauf konzentriert, zu verstehen, wie neuronale Netze funktionieren, indem sie ihre internen Mechanismen und Darstellungen umgekehrt und darauf abzielen, sie in menschlich verständliche Algorithmen und Konzepte zu übersetzen. Dies steht im Gegensatz zu und weiter als herkömmliche Erklärungstechniken wie Kind und Kalk.

Shap steht für ShApley Additive ExPLanationen. Es berechnet den Beitrag jeder Funktion zur Vorhersage des Modells lokal und international, dh sowohl für ein einzelnes Beispiel als auch für den gesamten Datensatz. Auf diese Weise kann Shap verwendet werden, um die Merkmals Bedeutung im Allgemeinen für den Anwendungsfall zu bestimmen. Lime arbeitet in der Zwischenzeit an einem einzigen Beispielvorhersagepaar, in dem sie die Beispieleingabe stört und die Störungen und seine Ausgänge verwendet, um einen einfacheren Ersatz des Black-Field-Modells zu approximieren. Als solche arbeiten beide auf Merkmalsebene und geben uns eine Erklärung und heuristisch, um zu beurteilen, wie sich jede Eingabe in das Modell auf seine Vorhersage oder Ausgabe auswirkt.

Andererseits versteht die mechanistische Interpretation die Dinge auf einer detaillierteren Ebene, da sie in der Lage ist, einen Weg zu bieten, wie das genannte Merkmal von verschiedenen Neuronen in verschiedenen Schichten im neuronalen Netzwerk gelernt wird und wie sich das Lernen über den Schichten im Netzwerk entwickelt. Dies macht es geschickt, Pfade im Netzwerk für eine bestimmte Funktion zu verfolgen und Auch Zu sehen, wie sich diese Funktion auf das Ergebnis auswirkt.

Kind und Kalk beantworten Sie die Frage additionally „Welche Funktion trägt am meisten zum Ergebnis bei?“ während die mechanistische Interpretation die Frage beantwortet “Welche Neuronen aktivieren für welche Funktion und wie entwickelt sich diese Funktion und wirkt sich auf das Ergebnis des Netzwerks aus?“

Da die Erklärung im Allgemeinen ein Downside mit tieferen Netzwerken ist, arbeitet dies hauptsächlich mit tieferen Modellen wie den Transformatoren. Es gibt einige Orte, an denen die mechanistische Interpretierbarkeit Transformatoren unterschiedlich betrachtet Multi-Head-Aufmerksamkeit. Wie wir sehen werden, besteht dieser Unterschied darin, die Multiplikations- und Verkettungsvorgänge wie in der „Aufmerksamkeit ist alles, was Sie brauchen“ Papier als Additionsvorgänge, die eine ganze Reihe neuer Möglichkeiten eröffnen.

Aber zuerst eine Zusammenfassung der Transformatorarchitektur.

Transformatorarchitektur

Bild von Autor: Transformator Architektur

Dies sind die Größen, mit denen wir arbeiten:

  • batch_size b = 1;
  • Sequenzlänge S = 20;
  • vocab_size v = 50.000;
  • Hidden_dims d = 512;
  • Köpfe H = 8

Dies bedeutet, dass die Anzahl der Dimensionen im Q, Okay, V -Vektoren 512/8 (l) = 64 beträgt. (Falls Sie sich nicht erinnern, eine Analogie zum Verständnis von Abfrage, Schlüssel und Wert: Die Idee ist, dass wir für ein Token an einer bestimmten Place (ok) basierend auf seinem Kontext (q) die Ausrichtung (erneut mit der Wiederaufnahme) an die Positionen erhalten möchten, die für (v) related sind.)

Dies sind die Schritte bis zur Aufmerksamkeitsberechnung in einem Transformator. (Die Kind der Tensoren wird als Beispiel für ein besseres Verständnis angenommen. Zahlen in Kursiv stellen die Dimension dar, entlang der die Matrix multipliziert wird.)

Schritt Betrieb Eingabe 1 Dims (Kind) Eingabe 2 Dims (Kind) Ausgangsdunkeln (Kind)
1 N / A B x s x v
(1 x 20 x 50.000)
N / A B x s x v
(1 x 20 x 50.000)
2 Holen Sie sich Einbettung B x s x v
(1 x 20 x 50.000)
V x d
(50.000 x 512)
B x s x d
(1 x 20 x 512)
3 Positionsbettendings hinzufügen B x s x d
(1 x 20 x 512)
N / A B x s x d
(1 x 20 x 512)
4 Kopiereinbettungen nach Q, ok, v B x s x d
(1 x 20 x 512)
N / A B x s x d
(1 x 20 x 512)
5 Lineare Transformation Für jeden Kopf H = 8 B x s x d
(1 x 20 x 512)
D x l
(512 X 64)
Bxhxsxl
(1 x 1 x 20 x 64)
6 Skaled Dot -Produkt (Q@ok ‚) in jedem Kopf Bxhxsxl
(1 x 1 x 20 x 64)
(Lxsxhxb)
(64 x 20 x 1 x 1)
BXHXSXS
(1 x 1 x 20 x 20)
7 Skaliertes Punktprodukt (Aufmerksamkeitsberechnung) q@ok’v in jedem Kopf BXHXSXS
(1 x 1 x 20 x 20)
Bxhxsxl
(1 x 1 x 20 x 64)
Bxhxsxl
(1 x 1 x 20 x 64)
8 Beschimpfen über alle Köpfe H = 8 Bxhxsxl
(1 x 1 x 20 x 64)
N / A B x s x d
(1 x 20 x 512)
9 Lineare Projektion B x s x d
(1 x 20 x 512)
D x d
(512 x 512)
B x s x d
(1 x 20 x 512)
Tabellarische Ansicht der Formtransformationen zur Aufmerksamkeitsberechnung im Transformator

Die Tabelle erklärte sich ausführlich:

  1. Wir beginnen mit einem Eingangssatz einer Sequenzlänge von 20, die einhot codiert ist, um Wörter im in der Sequenz vorhandenen Vokabular darzustellen. Kind (b x s x v): (1 x 20 x 50.000)
  2. Wir multiplizieren diesen Eingang mit der lernbaren Einbettungsmatrix wₑ Kind (V x D), um die Einbettungen zu erhalten. Kind (b x s x d): (1 x 20 x 512)
  3. Nächst
  4. Die resultierenden Einbettungen werden dann in die Matrizen Q, Okay und V. Q, Okay und V kopiert, die jeweils auf dem geteilt und umgestaltet werden D Dimension. Kind (b x s x d): (1 x 20 x 512)
  5. Die Matrizen für Q, Okay und V werden jeweils einer linearen Transformationsschicht gespeist, die sie mit lernbarer Gewichtsmatrizen multipliziert. (Eine Kopie für jedes der H = 8 Köpfe). Kind (b x h x s x l): (1 x 1 x 20 x 64) wobei H = 1, da dies die resultierende Kind für ist Jeder Kopf.
  6. Als nächstes berechnen wir die Aufmerksamkeit mit skalierten Punktproduktaufmerksamkeit Jeder Kopf. Kind (b x h x s x l) x (l x s x h x b) → (b x h x s x s): (1 x 1 x 20 x 20).
  7. Als nächstes gibt es einen Skalierungs- und Maskierungsschritt, den ich übersprungen habe, da dies nicht wichtig ist, um zu verstehen, was die unterschiedliche Artwork des Betrachtens von MHA ist. Additionally, als nächstes multiplizieren wir Qk mit V Für jeden Kopf. Kind (b x h x s x s) x (b x h x s x l) → (b x h x s x l): (1 x 1 x 20 x 64)
  8. Concat: Hier verkettet wir die Aufmerksamkeitsergebnisse aus allen Köpfen in der L -Dimension, um eine Kind von (b x s x d) → (1 x 20 x 512) zurückzubekommen.
  9. Diese Ausgabe wird mit einer weiteren Lerngewichtsmatrix wₒ Kind (d x d) noch einmal linear projiziert. Endgültige Kind enden wir mit (b x s x d): (1 x 20 x 512)

Multi-Head-Aufmerksamkeit neu interpretieren

Bild des Autors: Aufmerksamkeit der Mehrköpfe neu interpretieren

Lassen Sie uns nun sehen, wie das Feld der mechanistischen Interpretation dies betrachtet, und wir werden auch sehen, warum es mathematisch gleichwertig ist. Rechts im Bild oben sehen Sie das Modul, das die Aufmerksamkeit der Mehrköpfe neu interpretiert.

Anstatt die Aufmerksamkeitsausgabe zu verkettet, gehen wir mit der Multiplikation fort „innen“ Die Köpfe selbst, wo jetzt die Kind von Wₒ (l x d) ist und sich mit qk’v der Kind (b x h x s x l) multiplizieren, um das Ergebnis der Kind (b x s x h x d) zu erhalten: (1 x 20 x 1 x 512). Dann summieren wir die H -Dimension, um wieder mit der Kind (b x s x d) zu enden: (1 x 20 x 512).

Aus der obigen Tabelle sind die letzten beiden Schritte das, was sich ändert:

Schritt Betrieb Eingabe 1 Dims (Kind) Eingabe 2 Dims (Kind) Ausgangsdunkeln (Kind)
8 Matrixmultiplikation in jedem Kopf H = 8 Bxhxsxl
(1 x 1 x 20 x 64)
L x d
(64 x 512)
Bxsxhxd
(1 x 20 x 1 x 512)
9 Summe über Köpfen (H -Dimension) Bxsxhxd
(1 x 20 x 1 x 512)
N / A B x s x d
(1 x 20 x 512)

Randnotiz: Diese „Summierung über“ erinnert an die Summierung über verschiedene Kanäle in CNNs. In CNNs arbeitet jeder Filter auf der Eingabe, und dann wir Summe die Ausgänge über Kanäle hinweg. Gleiches gilt hier – jeder Kopf kann als Kanal gesehen werden, und das Modell lernt eine Gewichtsmatrix, um den Beitrag jedes Kopfes in den endgültigen Ausgangsraum zuzuordnen.

Aber warum ist das Projekt + Summe mathematisch äquivalent zu concat + venture? Kurz gesagt, weil die Projektionsgewichte in der mechanistischen Perspektive nur geschnittene Versionen der Gewichte in der traditionellen Sicht sind (über die geschnitten D Dimension und aufgeteilt, um jedem Kopf zu entsprechen).

Bild des Autors: Warum funktioniert das Neuaufbau funktioniert

Konzentrieren wir uns vor der Multiplikation mit Wₒ auf die H- und D -Abmessungen. Aus dem Bild oben verfügt jeder Kopf jetzt über einen Vektor der Größe 64, der mit der Gewichtsmatrix der Kind (64 x 512) multipliziert wird. Bezeichnen wir das Ergebnis von R und Kopf durch h.

Um R₁₁ zu bekommen, haben wir diese Gleichung:

R₁, ₁ = h₁, ₁ x wₒ₁, ₁ + h₁, ₂ x wₒ₂, ₁ +…. + h₁ₓ₆₄ x wₒ₆₄, ₁

Nehmen wir nun an, wir hätten die Köpfe verkettet, um eine Aufmerksamkeitsausgangsform von (1 x 512) und die Gewichtsmatrix der Kind (512, 512) zu erhalten, dann wäre die Gleichung gewesen:

R₁, ₁ = h₁, ₁ x wₒ₁, ₁ + h₁, ₂ x wₒ₂, ₁ +…. + H₁ₓ₅₁₂ x wₒ₅₁₂₁

Additionally der Teil H₁ₓ₆₅ x wₒ₆₅₁ +… + h₁ₓ₅₁₂ x wₒ₅₁₂₁ wäre hinzugefügt worden. Dieser Teil ist jedoch der Teil, der in den anderen Köpfen in Modulo 64 vorhanden ist. Anders gesagt, wenn es keine Verkettung gibt, wₒ₆₅₁ ist der Wert hinter Wₒ₁, ₁ im zweiten Kopf, Wₒ₁₂₉, ₁ ist der Wert hinter Wₒ₁, ₁ im dritten Kopf und so weiter, wenn wir uns vorstellen, dass die Werte für jeden Kopf hintereinander liegen. Daher führt der Betrieb „Summieren über die Köpfe“ auch ohne Verkettung dazu, dass die gleichen Werte hinzugefügt werden.

Zusammenfassend lässt sich sagen, dass diese Erkenntnis die Grundlage für die Betrachtung von Transformatoren als rein additive Modelle legt, da alle Operationen in einem Transformator die anfängliche Einbettung einnehmen und sie hinzufügen. Diese Ansicht eröffnet neue Möglichkeiten wie die Verfolgung von Funktionen, wie sie über gelernt werden Ergänzungen Durch die Schichten (Schaltungsverfolgung genannt), worum es bei der mechanistischen Interpretierbarkeit in meinen nächsten Artikeln angezeigt wird.


Wir haben gezeigt, dass diese Ansicht mathematisch der sehr unterschiedlichen Ansicht entspricht, dass die Aufmerksamkeit mit mehreren Kopf durch Aufteilen von Q, Okay, V parallelisiert und die Berechnung der Aufmerksamkeit optimiert. Lesen Sie mehr darüber in diesem Weblog Hier Und das tatsächliche Papier, das diese Punkte einführt, ist Hier.

[ad_2]

]]>
https://chatgpz.de/machine-learning/transformatoren-und-aufmerksamkeit-sind-nur-ausgefallene-zusatzmaschinen/feed/ 0 11026
Audiospektrogramm -Transformatoren jenseits des Labors https://chatgpz.de/machine-learning/audiospektrogramm-transformatoren-jenseits-des-labors/ https://chatgpz.de/machine-learning/audiospektrogramm-transformatoren-jenseits-des-labors/#respond Wed, 11 Jun 2025 13:59:36 +0000 https://chatgpz.de/machine-learning/audiospektrogramm-transformatoren-jenseits-des-labors/ [ad_1]

Möchten Sie wissen, was mich zur Soundscape -Analyse zieht?

Es ist ein Feld, das Wissenschaft, Kreativität und Erforschung auf eine Weise kombiniert, die nur wenige andere tun. Erstens, Ihr Labor ist wohin Ihre Füße Sie führen – Ein Waldweg, ein Stadtpark oder ein abgelegener Bergweg können alle zu Räumen für wissenschaftliche Entdeckungen und akustische Untersuchungen werden. Zweitens, Bei der Überwachung eines ausgewählten geografischen Bereichs dreht sich alles um Kreativität. Innovation ist das Herzstück der Umwelt-Audioforschung, egal ob es sich um ein benutzerdefiniertes Gerät handelt, Sensoren in Baumzudeln zu verbergen oder Solarenergie für Setups außerhalb des Netzes zu verwenden. Endlich, Das Datenvolumen ist wirklich unglaublich. Und wie wir wissen, sind in der räumlichen Analyse alle Methoden ein faires Spiel. Von den Stunden tierischer Aufrufe bis zum subtilen Summen von städtischen Maschinen können die gesammelten akustischen Daten riesig und komplex sein, und das öffnet die Tür, um alles vom tiefen Lernen bis hin zu geografischen Informationssystemen (GIS) zu verwenden, um alles zu verstehen.

Nach meinen früheren Abenteuern mit Klanglandschaftsanalyse eines der Flüsse PolensIch beschloss, die Messlatte zu erhöhen und zu entwerfen und eine Lösung zu implementieren, die Soundscapes in in der Lage ist, in Echtzeit. In diesem Weblog -Beitrag finden Sie eine Beschreibung der vorgeschlagenen Methode zusammen mit einem Code, der den gesamten Prozess anführt, hauptsächlich mit einem Audiospektrogrammtransformator (AST) für die Klassifizierung.

Geräteprototyp
Out of doors/City -Model des Sensorprototyps (Bild des Autors)

Methoden

Aufstellen

Es gibt viele Gründe, warum ich in diesem speziellen Fall eine Kombination von verwendet habe Raspberry Pi 4 und Audiomoth. Glauben Sie mir, ich habe eine breite Palette von Geräten getestet-von weniger leistungsstarken Modellen der Raspberry Pi Familie durch verschiedene Arduino -Versionen, einschließlich der PORTENTAbis zum Jetson Nano. Und das conflict nur der Anfang. Die Auswahl des richtigen Mikrofons erwies sich als noch komplizierter.

Letztendlich ging ich mit dem PI 4 B (4 GB RAM) wegen seiner soliden Leistung und des relativ geringen Stromverbrauchs (~700mah beim Ausführen meines Codes). Das Paarung mit dem Audiomoth im USB -Mikrofonmodus gab mir außerdem viel Flexibilität während des Prototyps. Audiomoth ist ein leistungsstarkes Gerät mit einer Fülle von Konfigurationsoptionen, z. B. Abtastrate von 8 kHz bis atemberaubend 384 kHz. Ich habe das starke Gefühl, dass sich dies – auf lange Sicht – als perfekte Wahl für meine Soundscape -Studien erweisen wird.

Audiomoth USB -Mikrofonkonfiguration App. Denken Sie daran, das Gerät vor dem Konfigurieren mit der richtigen Firmware zu flashen.

Klang erfassen

Das Erfassen von Audio aus einem USB -Mikrofon mit Python erwies sich als überraschend problematisch. Nachdem ich eine Weile mit verschiedenen Bibliotheken gekämpft hatte, beschloss ich, auf den guten alten Linux zurückzukehren arecord. Der gesamte Schallförderungsmechanismus wird mit dem folgenden Befehl eingekapselt:

arecord -d 1 -D plughw:0,7 -f S16_LE -r 16000 -c 1 -q /tmp/audio.wav

Ich verwende absichtlich ein Plug-in-Gerät, um die automatische Konvertierung für den Fall zu ermöglichen, dass ich Änderungen an der USB -Mikrofon Konfiguration. AST wird weitergeleitet 16 kHz Proben, so dass die Aufzeichnung und Audiomoth -Stichprobe auf diesen Wert festgelegt werden.

Achten Sie auf den Generator im Code. Es ist wichtig, dass das Gerät in den von mir angegebenen Zeitintervallen von Audio kontinuierlich erfasst. Ich wollte nur die neueste Audio -Probe auf dem Gerät speichern und nach der Klassifizierung verwerfen. Dieser Ansatz wird später in größeren Studien in städtischen Gebieten besonders nützlich sein, da er dazu beiträgt DSGVO Compliance.

import asyncio
import re
import subprocess
from tempfile import TemporaryDirectory
from typing import Any, AsyncGenerator

import librosa
import numpy as np


class AudioDevice:
    def __init__(
        self,
        title: str,
        channels: int,
        sampling_rate: int,
        format: str,
    ):
        self.title = self._match_device(title)
        self.channels = channels
        self.sampling_rate = sampling_rate
        self.format = format

    @staticmethod
    def _match_device(title: str):
        traces = subprocess.check_output(('arecord', '-l'), textual content=True).splitlines()
        units = (
            f'plughw:{m.group(1)},{m.group(2)}'
            for line in traces
            if title.decrease() in line.decrease()
            if (m := re.search(r'card (d+):.*gadget (d+):', line))
        )

        if len(units) == 0:
            increase ValueError(f'No units discovered matching `{title}`')
        if len(units) > 1:
            increase ValueError(f'A number of units discovered matching `{title}` -> {units}')
        return units(0)

    async def continuous_capture(
        self,
        sample_duration: int = 1,
        capture_delay: int = 0,
    ) -> AsyncGenerator(np.ndarray, Any):
        with TemporaryDirectory() as temp_dir:
            temp_file = f'{temp_dir}/audio.wav'
            command = (
                f'arecord '
                f'-d {sample_duration} '
                f'-D {self.title} '
                f'-f {self.format} '
                f'-r {self.sampling_rate} '
                f'-c {self.channels} '
                f'-q '
                f'{temp_file}'
            )

            whereas True:
                subprocess.check_call(command, shell=True)
                knowledge, sr = librosa.load(
                    temp_file,
                    sr=self.sampling_rate,
                )
                await asyncio.sleep(capture_delay)
                yield knowledge

Einstufung

Nun zum aufregendsten Teil.

Verwenden des Audio -Spektrogramm -Transformators (AST) und des ausgezeichneten Umarmung Ökosystem können wir Audio effizient analysieren und erkannte Segmente in über 500 Kategorien eintreffen.
Beachten Sie, dass ich das System zur Unterstützung verschiedener vorgebildeter Modelle vorbereitet habe. Standardmäßig benutze ich MIT/AST-Finetuned-ADIOSET-10–10–0.4593wie es die besten Ergebnisse liefert und intestine auf dem Raspberry Pi 4 läuft. Onnx-Group/Ast-Finetuned-ADIOSET-10–10–0.4593-ONNX ist auch es wert, erkundet zu werden – besonders seine quantisierte Modelwas weniger Speicher benötigt und die Inferenzergebnisse schneller dient.

Sie können feststellen, dass ich das Modell nicht auf ein einzelnes Klassifizierungsetikett einschränke, und das ist beabsichtigt. Anstatt davon auszugehen, dass zu einem bestimmten Zeitpunkt nur eine Klangquelle vorhanden ist, wende ich a an Sigmoidfunktion zu den Protokollen des Modells zu erhalten Unabhängige Wahrscheinlichkeiten für jede Klasse. Dadurch kann das Modell ausdrücken Vertrauen in mehrere Labels gleichzeitigwas entscheidend für Actual-World Soundscapes Wo überlappende Quellen – wie Vögel, Wind und entfernter Verkehr – häufig zusammen vorkommen. Das nehmen Prime 5 Ergebnisse stellt sicher, dass das System die wahrscheinlichsten Sound-Ereignisse in der Probe erfasst, ohne eine Entscheidung für Gewinner zu erzwingen.

from pathlib import Path
from typing import Non-obligatory

import numpy as np
import pandas as pd
import torch
from optimum.onnxruntime import ORTModelForAudioClassification
from transformers import AutoFeatureExtractor, ASTForAudioClassification


class AudioClassifier:
    def __init__(self, pretrained_ast: str, pretrained_ast_file_name: Non-obligatory(str) = None):
        if pretrained_ast_file_name and Path(pretrained_ast_file_name).suffix == '.onnx':
            self.mannequin = ORTModelForAudioClassification.from_pretrained(
                pretrained_ast,
                subfolder='onnx',
                file_name=pretrained_ast_file_name,
            )
            self.feature_extractor = AutoFeatureExtractor.from_pretrained(
                pretrained_ast,
                file_name=pretrained_ast_file_name,
            )
        else:
            self.mannequin = ASTForAudioClassification.from_pretrained(pretrained_ast)
            self.feature_extractor = AutoFeatureExtractor.from_pretrained(pretrained_ast)

        self.sampling_rate = self.feature_extractor.sampling_rate

    async def predict(
        self,
        audio: np.array,
        top_k: int = 5,
    ) -> pd.DataFrame:
        with torch.no_grad():
            inputs = self.feature_extractor(
                audio,
                sampling_rate=self.sampling_rate,
                return_tensors='pt',
            )
            logits = self.mannequin(**inputs).logits(0)
            proba = torch.sigmoid(logits)
            top_k_indices = torch.argsort(proba)(-top_k:).flip(dims=(0,)).tolist()

            return pd.DataFrame(
                {
                    'label': (self.mannequin.config.id2label(i) for i in top_k_indices),
                    'rating': proba(top_k_indices),
                }
            )

Um die ONNX -Model des Modells auszuführen, müssen Sie hinzufügen Optimum zu Ihren Abhängigkeiten.

Schalldruckpegel

Zusammen mit der Audio -Klassifizierung erfasse ich Informationen zum Klangdruckstufe. Dieser Ansatz identifiziert nicht nur Was machte den Klang, erhält aber auch Einblick in Wie stark Jeder Klang conflict vorhanden. Auf diese Weise erfasst das Modell eine reichhaltigere, realistischere Darstellung der akustischen Szene und kann schließlich verwendet werden, um Informationen zu feinkörnigeren Geräuschverschmutzung zu erfassen.

import numpy as np
from maad.spl import wav2dBSPL
from maad.util import mean_dB


async def calculate_sound_pressure_level(audio: np.ndarray, acquire=10 + 15, sensitivity=-18) -> np.ndarray:
    x = wav2dBSPL(audio, acquire=acquire, sensitivity=sensitivity, Vadc=1.25)
    return mean_dB(x, axis=0)

Die Verstärkung (Vorverstärker + AMP), Empfindlichkeit (DB/V) und VADC (V) werden hauptsächlich für Audiomoth eingestellt und experimentell bestätigt. Wenn Sie ein anderes Gerät verwenden, müssen Sie diese Werte identifizieren, indem Sie sich auf die technische Spezifikation beziehen.

Lagerung

Daten von jedem Sensor werden alle 30 Sekunden mit einer PostgreSQL -Datenbank synchronisiert. Der aktuelle städtische Soundscape Monitor -Prototyp verwendet eine Ethernet -Verbindung. Daher bin ich in Bezug auf die Netzwerkbelastung nicht eingeschränkt. Das Gerät für mehr entfernte Bereiche synchronisieren die Daten jede Stunde mit einer GSM -Verbindung.

label           rating        gadget   sync_id                                sync_time
Hum             0.43894055   yor      9531b89a-4b38-4a43-946b-43ae2f704961   2025-05-26 14:57:49.104271
Mains hum       0.3894045    yor      9531b89a-4b38-4a43-946b-43ae2f704961   2025-05-26 14:57:49.104271
Static          0.06389702   yor      9531b89a-4b38-4a43-946b-43ae2f704961   2025-05-26 14:57:49.104271
Buzz            0.047603738  yor      9531b89a-4b38-4a43-946b-43ae2f704961   2025-05-26 14:57:49.104271
White noise     0.03204195   yor      9531b89a-4b38-4a43-946b-43ae2f704961   2025-05-26 14:57:49.104271
Bee, wasp, and so on. 0.40881288   yor      8477e05c-0b52-41b2-b5e9-727a01b9ec87   2025-05-26 14:58:40.641071
Fly, housefly   0.38868183   yor      8477e05c-0b52-41b2-b5e9-727a01b9ec87   2025-05-26 14:58:40.641071
Insect          0.35616025   yor      8477e05c-0b52-41b2-b5e9-727a01b9ec87   2025-05-26 14:58:40.641071
Speech          0.23579548   yor      8477e05c-0b52-41b2-b5e9-727a01b9ec87   2025-05-26 14:58:40.641071
Buzz            0.105577625  yor      8477e05c-0b52-41b2-b5e9-727a01b9ec87   2025-05-26 14:58:40.641071

Ergebnisse

Eine separate Anwendung, die mit Verwendung erstellt wurde Straffung Und Handlunggreift auf diese Daten zu. Derzeit werden Informationen über den Standort des Geräts, die zeitliche SPL (Schalldruckstufe), identifizierte Klassenklassen und eine Reihe von Akustische Indizes.

Armaturenbrett
Streamit Analytical Dashboard (Bild vom Autor)

Und jetzt können wir loslegen. Der Plan besteht darin, das Sensornetzwerk zu erweitern und rund 20 Geräte zu erreichen, die an mehreren Stellen in meinem verstreut sind Stadt. Weitere Informationen zu einer größeren Bereitstellung eines größeren Bereichs werden in Kürze verfügbar sein.

Darüber hinaus sammle ich Daten von einem bereitgestellten Sensor und aircraft, das Datenpaket, das Dashboard und die Analyse in einem bevorstehenden Weblog -Beitrag zu teilen. Ich werde einen interessanten Ansatz verwenden, der einen tieferen Eintauchen in die Audioklassifizierung rechtfertigt. Die Hauptidee besteht darin, unterschiedliche Schalldruckpegel mit den erkannten Audioklassen anzupassen. Ich hoffe, einen besseren Weg zu finden, um die Lärmbelastung zu beschreiben. Seien Sie additionally gespannt auf einen detaillierteren Zusammenbruch.

In der Zwischenzeit können Sie die lesen Vorpapier Auf meinen Klanglandstudien (Kopfhörer sind obligatorisch).


Dieser Beitrag wurde Korrekturlesen und bearbeitet mithilfe Grammatik Grammatik und Klarheit zu verbessern.

[ad_2]

]]>
https://chatgpz.de/machine-learning/audiospektrogramm-transformatoren-jenseits-des-labors/feed/ 0 9861
Hinter der Magie: Wie Tensors Transformatoren antreiben https://chatgpz.de/artificial-intelligence/hinter-der-magie-wie-tensors-transformatoren-antreiben/ https://chatgpz.de/artificial-intelligence/hinter-der-magie-wie-tensors-transformatoren-antreiben/#respond Sat, 26 Apr 2025 00:52:04 +0000 https://chatgpz.de/artificial-intelligence/hinter-der-magie-wie-tensors-transformatoren-antreiben/ [ad_1]

Transformatoren haben die Artwork und Weise verändert, wie künstliche Intelligenz funktioniert, insbesondere beim Verständnis von Sprache und Lernen aus Daten. Im Kern dieser Modelle sind Tensoren (Eine verallgemeinerte Artwork von mathematischen Matrizen, die die Verarbeitung von Informationen helfen). Wenn sich die Daten durch die verschiedenen Teile eines Transformators bewegt, unterliegen diese Tensoren unterschiedlichen Transformationen, die dem Modell helfen, Dinge wie Sätze oder Bilder zu verstehen. Wenn Sie lernen, wie Tensoren innerhalb von Transformatoren arbeiten, können Sie verstehen, wie die intelligenten KI -Systeme von heute tatsächlich funktionieren und denken.

Was dieser Artikel abdeckt und was es nicht tut

✅ In diesem Artikel geht es um:

  • Der Tensorenfluss von Eingabe zu Ausgang innerhalb eines Transformatormodells.
  • Gewährleistung der dimensionalen Kohärenz während des gesamten Rechenprozesses.
  • Die Schritt-für-Schritt-Transformationen, die Tensoren in verschiedenen Transformatorschichten unterziehen.

❌ In diesem Artikel geht es nicht um:

  • Eine allgemeine Einführung in Transformers oder tiefes Lernen.
  • Detaillierte Architektur von Transformatormodellen.
  • Trainingsprozess oder Hyper-Parameter-Abstimmung von Transformatoren.

Wie Tensoren innerhalb von Transformatoren wirken

Ein Transformator besteht aus zwei Hauptkomponenten:

  • Encoder: Verarbeitet Eingabedaten und erfasst kontextbezogene Beziehungen, um sinnvolle Darstellungen zu erstellen.
  • Decoder: Verwendet diese Darstellungen, um eine kohärente Ausgabe zu erzeugen und jedes Factor nacheinander vorherzusagen.

Tensoren sind die grundlegenden Datenstrukturen, die diese Komponenten durchlaufen und mehrere Transformationen erleiden, die eine dimensionale Kohärenz und den richtigen Informationsfluss gewährleisten.

Bild aus Forschungsarbeit: Transformator Customary Erziktion

Eingangsbettschicht

Vor dem Eingeben des Transformators werden Roheingangs -Token (Wörter, Unterwörter oder Zeichen) durch die in dichte Vektordarstellungen konvertiert Schicht einbetten. Diese Ebene fungiert als Suchtabelle, die jeden Tokenvektor ordnet und semantische Beziehungen zu anderen Wörtern aufnimmt.

Bild des Autors: Tensoren, die durch die Einbettungsschicht gehen

Für eine Cost von fünf Sätzen mit jeweils eine Sequenzlänge von 12 Token und eine Einbettungsdimension von 768 lautet die Tensorform:

  • Tensorform: (batch_size, seq_len, embedding_dim) → (5, 12, 768)

Nach dem Einbettung, Positionscodierung wird hinzugefügt, damit sichergestellt wird, dass die Auftragsinformationen erhalten bleiben, ohne die Tensorform zu ändern.

Modifiziertes Bild aus Forschungsarbeit: State of affairs des Workflows

Multi-Head-Aufmerksamkeitsmechanismus

Eine der kritischsten Komponenten des Transformators ist die MAHA-Mechanismus mit mehreren Kopf. Es arbeitet auf drei Matrizen, die von Eingabemaschinen abgeleitet wurden:

  • Abfrage (q)
  • Schlüssel (okay)
  • Wert (v)

Diese Matrizen werden unter Verwendung von matrizen lernbaren Gewicht erzeugt:

  • WQ, WK, WV von Kind (embedding_dim, d_model) (z.B, (768, 512)).
  • Die resultierenden Q-, Okay-, V -Matrizen haben Abmessungen
    (batch_size, seq_len, d_model).
Bild vom Autor: Tabelle mit den Formen/Dimensionen von Einbettung, Q, Okay, V Tensoren

Aufteilen von Q, Okay, V in mehrere Köpfe

Für eine effektive Parallelisierung und ein verbessertes Lernen spaltet MHA Q, Okay und V in mehrere Köpfe auf. Angenommen, wir haben 8 Aufmerksamkeitsköpfe:

  • Jeder Kopf arbeitet auf einem Unterraum von d_model / head_count.
Bild des Autors: Multihead -Aufmerksamkeit
  • Die umgeformten Tensorabmessungen sind (batch_size, seq_len, head_count, d_model / head_count).
  • Beispiel: (5, 12, 8, 64) → umgeordnet zu (5, 8, 12, 64) Um sicherzustellen, dass jeder Kopf eine separate Sequenzscheibe erhält.
Bild des Autors: Umformung der Tensoren
  • So erhält jeder Kopf seinen Anteil an Qi, Ki, vi
Bild des Autors: Jeder Qi, Ki, VI an einen anderen Kopf gesendet

Aufmerksamkeitsberechnung

Jeder Kopf berechnet die Aufmerksamkeit mit der Formel:

Sobald die Aufmerksamkeit für alle Köpfe berechnet wurde, werden die Ausgänge verkettet und durch eine lineare Transformation geleitet, wodurch die anfängliche Tensorform wiederhergestellt wird.

Bild des Autors: Verkettung der Ausgabe aller Köpfe
Modifiziertes Bild aus Forschungsarbeit: State of affairs des Workflows

Restverbindung und Normalisierung

Nach dem Multi-Head-Aufmerksamkeitsmechanismus a Restverbindung wird hinzugefügt, gefolgt von Schichtnormalisierung:

  • Restverbindung: Output = Embedding Tensor + Multi-Head Consideration Output
  • Normalisierung: (Output − μ) / σ Coaching stabilisieren
  • Tensorform bleibt übrig (batch_size, seq_len, embedding_dim)
Bild vom Autor: Restverbindung

Feed-Ahead-Netzwerk (FFN)

Im Decoder, Maskierte Aufmerksamkeit mit mehreren Kopf stellt sicher, dass jedes Token nur an frühere Token teilnimmt und die Leckagen zukünftiger Informationen verhindert.

Modifiziertes Bild aus Forschungsarbeit: Maskierte Multi -Head -Aufmerksamkeit

Dies wird unter Verwendung einer niedrigeren dreieckigen Kind erreicht (seq_len, seq_len) mit -inf Werte im oberen Dreieck. Das Anwenden dieser Maske stellt sicher, dass die Softmax -Funktion zukünftige Positionen aufnimmt.

Bild vom Autor: Masks -Matrix

Übereinstimmung in der Dekodierung

Da der Decoder den Eingangssatz nicht vollständig versteht, wird er verwendet Übereinstimmung Vorhersagen verfeinern. Hier:

  • Der Decoder generiert Abfragen (QD) von seiner Eingabe ((batch_size, target_seq_len, embedding_dim)).
  • Der Encoderausgang dient als Schlüssel (Ke) und Werte (Ve).
  • Der Decoder berechnet die Aufmerksamkeit zwischen Qd Und Keextrahieren relevanter Kontext aus der Ausgabe des Encoders.
Modifiziertes Bild aus dem Forschungsarbeit: Cross Head Achtung

Abschluss

Transformatoren verwenden Tensoren um ihnen zu helfen zu lernen und kluge Entscheidungen zu treffen. Wenn sich die Daten durch das Netzwerk bewegt, gehen diese Tensoren unterschiedliche Schritte durch-wie in Zahlen, die das Modell verstehen kann (einbetten), sich auf wichtige Teile (Aufmerksamkeit) konzentrieren, ausgewogen bleiben (Normalisierung) und durch Schichten weitergegeben werden, die Muster lernen (Feed-Ahead). Diese Änderungen halten die Daten die ganze Zeit in der richtigen Kind. Wenn wir verstehen, wie sich Tensoren bewegen und verändern, können wir eine bessere Vorstellung davon bekommen, wie KI -Modelle Arbeiten und wie sie eine menschliche Sprache verstehen und schaffen können.

[ad_2]

]]>
https://chatgpz.de/artificial-intelligence/hinter-der-magie-wie-tensors-transformatoren-antreiben/feed/ 0 8775