Alex Milde

Alex Milde

Software engineer, Architect – Fullstack developer. I do nerd things.

Wie funktioniert AI?

Anhand eines Farbfilters versuche ich für Laien zu erklären wie AI funktioniert.


Wann ist eine Farbe ähnlich?

Sagen wir es gibt folgende RGB Farben. Wie finden wir das ähnlichste Rot?

let redOriginal = [255, 0, 0]
let red1 = [235, 0, 0]
let red2 = [245, 5, 20]
let red3 = [240, 10, 15] 
Wir können die Differenz jedes einzelnen Kanals ermitteln und aufsummieren.
Die kleinste Zahl sollte die ähnlichste Farbe sein.
let redOriginal = [255, 0, 0]
let red1Diff = [20, 0, 0] // Sum: 20
let red2 = [10, 5, 20] // Sum : 35
let red3 = [15, 10, 15] // Sum: 40
Das kannst du hier testen

Wir denken in Pfeilen

Jetzt stellen wir uns ein 3D Koordinatensystem vor. Mit X,Y,Z.
Eine Farbe könnte nun ein Pfeil sein.
Es gibt nun verschiedene Methoden um zu vergleichen wie "ähnlich" diese Pfeile sind. z.b. vergleicht die Kosinus Similarität die Richtung der Pfeile, aber nicht die Länge.

// Kosinus Similarität
let orig = [123, 231, 64]
let color1 = [122, 230, 63] // Sehr ähnlich
let color2 = [12, 23, 6] // Auch sehr ähnlich weil r,g,b geteilt durch 10
Das kannst du hier testen

Unendliche Weiten! Und Dimensionen

Der Clou ist nun: Das funktioniert für beliebige Dimensionen, nicht nur 3. So können Texte verglichen werden. Zum Beispiel sind sich die Worte mountains und nature ähnlicher als mountains und ocean.
Das kannst du hier testen
Hier werden Texte in Embeddings [0.12321,0.231212,0.123124....] verwandelt. Das Gleiche geschieht mit der Eingabe. Anschließend werden die Embeddings / Vektoren verglichen.
Wichtig: Das ganze Thema hab ich hier bewusst sehr sehr stark vereinfacht.

Fertig! Ich hoffe das Ganze war halbwegs verständlich.
Natürlich war das nur die "Spitze des Eisberges."

Details

  • Langchain — LangChain is a framework for developing applications powered by language models.
  • Huggingface — Modelle und Datensets