Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

Hintergrundwissen Lineare Algebra

Heinrich-Heine-Universität Düsseldorf

Im Inneren eines Neurons steckt ein Skalarprodukt, in einer Schicht eine Matrix, in der Backpropagation ein Matrixprodukt. Dieses Kapitel stellt die Begriffe bereit, auf denen der Rest des Buchs aufbaut, und legt die Schreibweisen fest.

Ein Nachschlagekapitel, kein Lehrgang: Wer aus der linearen Algebra kommt, überfliegt es. Die Eigenschaften, die unten ohne Beweis stehen, sind in zwei, drei Zeilen nachzurechnen.

Vektoren

Das hochgestellte ⊤\top ist das Transponieren: Es vertauscht Zeilen und Spalten, aus der Spalte vv wird die Zeile v⊤=(v1,…,vd)v^\top = (v_1, \dots, v_d). Die Standardbasisvektoren e1,…,ede_1, \dots, e_d haben eine 1 in einer Komponente und sonst Nullen.

Hadamard-Produkt und Skalarprodukt

Wie im Kapitel „Was ist Deep Learning?“ festgelegt, sind v⋅wv \cdot w und ⟨v,w⟩\langle v, w \rangle dasselbe; unten kommt mit v⊤wv^\top w eine dritte Schreibweise dazu.

Drei Eigenschaften benutzt das Buch, ohne sie jedes Mal zu nennen. Das Skalarprodukt ist

Die Bilinearität trägt den Konvergenzbeweis im Kapitel „Das Perzeptron trainieren“, die positive Definitheit den nächsten Abschnitt.

Länge und Normalisierung

Dass unter der Wurzel nichts Negatives steht, ist die positive Definitheit; in R2\mathbb{R}^2 ist es der Satz des Pythagoras. Es gilt ∥v∥=0\|v\| = 0 nur für den Nullvektor, und ∥λv∥=∣λ∣ ∥v∥\|\lambda v\| = |\lambda| \, \|v\| – mit Betrag, denn eine Länge ist nie negativ.

Damit zerfällt jeder Vektor in Richtung und Länge, v=∥v∥ v~v = \|v\| \, \tilde{v}, und mit ihm das Skalarprodukt:

v⋅w=∥v∥ ∥w∥  (v~⋅w~).v \cdot w = \|v\| \, \|w\| \; \bigl(\tilde{v} \cdot \tilde{w}\bigr).

Der zweite Faktor hängt nur von den Richtungen ab und bekommt im nächsten Abschnitt einen Namen. Nebenbei: Aus 1=v12+⋯+vd21 = v_1^2 + \dots + v_d^2 folgt −1≤vi≤1-1 \leq v_i \leq 1, normalisierte Embeddings liefern also gutmütige Zahlen.

Winkel

Dass der Bruch zwischen -1 und 1 liegt, also überhaupt ein Kosinus sein kann, ist die Ungleichung von Cauchy und Schwarz: ∣v⋅w∣≤∥v∥ ∥w∥|v \cdot w| \leq \|v\| \, \|w\|.

Der Kosinus misst Ähnlichkeit der Richtungen, unabhängig von den Längen. Als Kosinusähnlichkeit ist er das Standardmaß für Embeddings, etwa im Kapitel „word2vec“ und im Kapitel „Latente Räume“.

Orthogonalität

Für Vektoren ungleich null ist das der Fall cos⁡θ=0\cos \theta = 0, also ein rechter Winkel; die Standardbasisvektoren sind paarweise orthogonal. Daran hängt die Geometrie des Neurons: Der Gewichtsvektor steht senkrecht auf der Trennebene, und die Aktivierung misst den Abstand zu ihr. Ausgerechnet wird das im Kapitel „Neuron und Perzeptron“.

Matrizen

Die Angabe m×nm \times n heißt im Code Shape. Sie mitzuführen ist die halbe Miete: Die meisten Fehler beim Rechnen mit Netzen sind Shape-Fehler.

So liest man eine Schicht: In Wx+bWx + b mit W∈Rm×nW \in \mathbb{R}^{m \times n} steht in jeder Zeile der Gewichtsvektor eines Neurons, und Wx+bWx + b berechnet mm Aktivierungen auf einmal. Eine Matrix ist eine lineare Abbildung Rn→Rm\mathbb{R}^n \to \mathbb{R}^m.

Die Shape-Regel steht in der Definition: (m×n)⋅(n×k)(m \times n) \cdot (n \times k) ergibt m×km \times k, die inneren Zahlen müssen übereinstimmen und fallen weg. Passen sie nicht, ist das Produkt nicht definiert; ABAB und BABA sind verschieden, oft ist nur eines von beiden definiert. Inhaltlich ist das Produkt die Verkettung der Abbildungen: erst BB, dann AA. Daran hängt die Backpropagation, denn die Ableitung einer Verkettung ist das Produkt der Ableitungen (Kapitel „Gradientenabstieg“).

Drei Regeln, die das Buch braucht: (A⊤)⊤=A(A^\top)^\top = A; (AB)⊤=B⊤A⊤(AB)^\top = B^\top A^\top, die Reihenfolge dreht sich also um; und v⋅w=v⊤wv \cdot w = v^\top w, denn eine Zeile mal eine Spalte ist eine 1×11 \times 1-Matrix. Die zweite Regel ist der Grund, warum in der Backpropagation ständig transponierte Gewichtsmatrizen auftauchen: vorwärts WW, rückwärts W⊤W^\top.