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: 40Das 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 10Das 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