Attention

While attention has come to be an important mechanism in deep learning, there remains limited intuition for why it works so well.

* Functional role of attention, see Predictive Brains * One considers what could come of other's forced attention, see Garden's Meet, Event Wiki

When you use a tool, you are trying to achieve something. You have a Story in mind. For example, "given all the expenses I had this year, I want to see what kind of holiday I can afford" or "given my running Emacs, I want to make sure I didn't introduce a memory bug by checking the variable sizes (otherwise I have to review my code!)". In all your stories you have some context and some result (finances -> holiday budget). A good story molds the context into a result. It does it in a way that attracts the listener attention! (See Moldable Emacs, README.org)

> Since there is so much data around us, we could be telling fabulous stories. The problem is that there is too much information to read it all! We just cannot absorb it as text (or it would take too long). We need tools that help us telling our stories! They must do so by attracting our attention on what is important.

between Synthesis and Analysis

~

Aufmerksamkeit (engl.: Attention) ist ein 2017 von einem Team um Google Brain vorgeschlagenes Konzept, um diese Verständnishierarchie von Wörtern und Sätzen gar nicht erst aufbauen zu müssen. Sie ist die Schlüsselinnovation der Transformer-Modelle und damit auch der GPT-Familie. Aufmerksamkeit ist ein sehr mächtiges Werkzeug, etwas, das—so mutmasst Karpathy im Video—den Autoren zum Zeitpunkt der Publikation wahrscheinlich gar nicht bewusst gewesen sei. post Wie funktioniert diese Aufmerksamkeit? Sie versucht automatisch statistische Zusammenhänge zwischen den verwendeten Bigrammen und ihren direkten und indirekten Vorläufersymbolen herzustellen. Um das Beispiel Karpathys aufzugreifen: Ein Vokal an der aktuellen Position könnte sich für einige der vorangegangenen Konsonanten „interessieren“. Das Ziel ist also statt alle möglichen Kombinationen der letzten Zeichen abzuspeichern, nur einen spezifischen Kommunikationskanal mit dem relevantesten vorangegangen Zustand zu öffnen, über den Informationen ausgetauscht werden. Damit wird gegenüber dem naiven, unpraktikablen Ansatz mit riesigem Speicherverbrauch nun massiv (exponentiell) weniger Speicher benötigt, aber der Rechenaufwand zur Laufzeit wächst dafür etwas (linear) an. Attention kann man auch als dynamisches Publish-Subscribe-System zwischen den verschiedenen Zeichen im Text verstehen: Das aktuelle Zeichen „fragt“ alle Vorgänger über eine Query (einen Vektor mit verschiedenen Gewichten) an und diese antworten mit einem Key (deren Information). Durch (Skalar-)Multiplikation der Vektoren entstehen verschiedene Signale und das stärkste wird herausgefiltert, die mutmasslich hilfreichste Information, und fliesst in die Auswahl des nächsten auszugebenden Zeichens ein. Auch wenn es hilfreich ist, sich diese Kommunikation wie oben beschrieben als „Vokal sucht Konsonant“ vorzustellen, diese kommunizierten Informationen haben meist keine Entsprechung im menschlichen Sprachverständnis. Dies sind einfach irgendwelche Werte, welche statistisch bessere Ausgaben zu erzeugen helfen. Erstaunlich ist, dass es trotzdem funktioniert, obwohl keine Orthografie- oder Grammatikregeln dahinter stecken! NanoGPT nutzt die Aufmerksamkeit nur über die letzten 1-8 Zeichen und trotzdem scheint der resultierende Text inzwischen deutlich mehr aus Wörtern und nicht mehr nur Zeichen zu bestehen. […]