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.

Von admin

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert