AI EducademyAIEducademy
🌳

AI-Fundamenten

🌱
AI Seeds

Begin bij nul

🌿
AI Sprouts

Bouw een fundament

🌳
AI Branches

Pas toe in de praktijk

🏕️
AI Canopy

Ga de diepte in

🌲
AI Forest

Beheers AI

🔨

AI-Meesterschap

✏️
AI Sketch

Begin bij nul

🪨
AI Chisel

Bouw een fundament

⚒️
AI Craft

Pas toe in de praktijk

💎
AI Polish

Ga de diepte in

🏆
AI Masterpiece

Beheers AI

🚀

Carrière Klaar

🚀
Interview Startplatform

Start je reis

🌟
Gedragsinterview Meesterschap

Beheers soft skills

💻
Technische Interviews

Slaag voor de codeerronde

🤖
AI- & ML-interviews

ML-interview meesterschap

🏆
Aanbod & verder

Bemachtig het beste aanbod

Alle programma's bekijken→

Lab

7 experimenten geladen
🧠Neuraal netwerk speeltuin🤖AI of mens?💬Prompt lab🎨Beeldgenerator😊Sentimentanalyse💡Chatbot bouwer⚖️Ethiek simulator
🎯Proef-sollicitatieGa naar het lab→
nav.journeyBlog
🎯
Over ons

AI-onderwijs toegankelijk maken voor iedereen, overal

❓
nav.faq

Common questions answered

✉️
Contact

Get in touch with us

⭐
Open Source

Openbaar gebouwd op GitHub

Begin met leren, het is gratis
AI EducademyAIEducademy

MIT-licentie. Open source

Leren

  • Opleidingen
  • Lessen
  • Lab

Community

  • GitHub
  • Bijdragen
  • Gedragscode
  • Over ons
  • FAQ

Ondersteuning

  • Koop een koffie voor me ☕
  • footer.terms
  • footer.privacy
  • footer.contact
AI & Engineering Opleidingen›🌿 AI Sprouts›Lessen›Embeddings en vectordatabases
🧭
AI Sprouts • Gemiddeld⏱️ 16 min leestijd

Embeddings en vectordatabases

Embeddings - Hoe AI Betekenis Begrijpt

Na tokenisatie is elk token slechts een getal - een index in een vocabulaire. Maar index 4.821 vertelt het model niets over betekenis. Hoe weet AI dat "koning" en "koningin" verwant zijn, of dat "bank" zowel een zitmeubel als een financiële instelling kan betekenen? Het antwoord is embeddings.

Het Probleem met One-Hot Encoding

De naïeve aanpak representeert elk woord als een vector met één 1 en duizenden 0-en. "Kat" zou [0, 0, 1, 0, ..., 0] kunnen zijn en "hond" [0, 0, 0, 1, ..., 0].

Dit heeft twee fatale gebreken:

  • Geen gelijkenis: "Kat" en "hond" liggen even ver van elkaar als "kat" en "democratie." De codering bevat nul semantische informatie.
  • Enorme omvang: Met een vocabulaire van 50.000 woorden heeft elk woord een vector van 50.000 dimensies nodig. Enorm inefficiënt.

Woordembeddings - Betekenis als Meetkunde

Een embedding koppelt elk token aan een dichte vector van bijvoorbeeld 256 of 768 dimensies. In tegenstelling tot one-hot vectoren worden deze dimensies geleerd tijdens het trainen en coderen ze betekenis.

Woorden die in vergelijkbare contexten worden gebruikt, komen dicht bij elkaar in deze ruimte. "Puppy" landt dicht bij "kitten." "Londen" landt dicht bij "Parijs." De meetkunde van de ruimte is de betekenis.

Een 2D-projectie van woordembeddings met clusters: dieren (kat, hond, vis) gegroepeerd, steden (Londen, Parijs, Tokio) gegroepeerd, en de beroemde koning-koningin-analogie als vectorberekening
In de embeddingsruimte wordt betekenis meetkunde. Vergelijkbare concepten clusteren samen.

Word2Vec - Koning − Man + Vrouw = Koningin

Het Word2Vec-artikel uit 2013 toonde iets opmerkelijks aan. Getraind op grote tekstcorpora vertonen de geleerde vectoren rekenkundige relaties:

vector("koning") − vector("man") + vector("vrouw") ≈ vector("koningin")

De richting van "man" naar "vrouw" vangt het concept van geslacht. Het toevoegen ervan aan "koning" leidt naar "koningin." Dit is niet geprogrammeerd - het ontstaat uit patronen in taal.

Les 9 van 160% voltooid
←Tokenisatie

Discussion

Sign in to join the discussion

lessons.suggestEdit

Andere voorbeelden: Parijs − Frankrijk + Italië ≈ Rome, groter − groot + klein ≈ kleiner.

🤯

Word2Vec werd in 2013 gecreëerd door Tomáš Mikolov bij Google. Het artikel heeft meer dan 40.000 citaties en wordt beschouwd als een van de meest invloedrijke NLP-artikelen ooit. Het toonde aan dat eenvoudige neurale netwerken die op ruwe tekst werden getraind, verbazingwekkende semantische relaties konden leren.

Embeddingdimensies

Moderne modellen gebruiken verschillende embeddingsgroottes:

| Model | Embeddingdimensies | |-------|-------------------| | Word2Vec | 100–300 | | BERT | 768 | | GPT-3 | 12.288 | | OpenAI text-embedding-3-large | 3.072 |

Meer dimensies vangen fijnere onderscheidingen, maar vereisen meer geheugen en rekenkracht. Zie het als het beschrijven van een persoon: 3 dimensies (lengte, gewicht, leeftijd) geven een ruwe schets; 768 dimensies schetsen een gedetailleerd portret.

🧠Snelle check

Wat demonstreert de beroemde vergelijking 'koning − man + vrouw ≈ koningin'?

Van Woorden naar Zinnen

Woordembeddings representeren individuele woorden, maar we moeten vaak hele zinnen of documenten vergelijken. Zinsembeddings (van modellen zoals Sentence-BERT of de embedding-API van OpenAI) comprimeren een hele passage tot één enkele vector.

"Hoe reset ik mijn wachtwoord?" en "Ik ben mijn inloggegevens vergeten" zouden zeer vergelijkbare zinsembeddings hebben, ook al delen ze bijna geen woorden. De embedding vangt de intentie, niet alleen het vocabulaire.

Gelijkenis Meten - Cosinus-Gelijkenis

Om twee embeddings te vergelijken, gebruiken we cosinus-gelijkenis - de cosinus van de hoek tussen twee vectoren. Het varieert van −1 (tegenovergesteld) tot +1 (identieke richting).

  • "Blij" en "vrolijk": cosinus ≈ 0,85 (zeer vergelijkbaar).
  • "Blij" en "tafel": cosinus ≈ 0,10 (niet gerelateerd).
  • "Liefde" en "haat": cosinus zou ongeveer ≈ 0,40 kunnen zijn (gerelateerd maar tegengesteld).

Cosinus-gelijkenis negeert de grootte van de vector en richt zich puur op de richting - en daar zit de betekenis.

🤔
Think about it:

"Liefde" en "haat" zijn tegengestelden in betekenis, maar hebben mogelijk een matige cosinus-gelijkenis omdat ze in vergelijkbare contexten voorkomen (emoties, relaties). Wat zegt dit over de beperkingen van embeddings die puur op woordco-occurrentie zijn getraind?

Vectordatabases - Zoeken op Betekenis

Een vectordatabase slaat miljoenen embeddings op en haalt de meest vergelijkbare razendsnel op. In plaats van zoeken op trefwoorden ("vind documenten met 'machine learning'"), zoek je op betekenis ("vind documenten over AI-onderwijs").

Populaire vectordatabases zijn onder andere:

  • Pinecone - volledig beheerd, schaalt moeiteloos.
  • Weaviate - open-source met hybride zoeken (vectoren + trefwoorden).
  • ChromaDB - lichtgewicht, ideaal voor prototyping.
  • pgvector - voegt vectorzoeken toe aan PostgreSQL.

Deze databases gebruiken algoritmen zoals HNSW (Hierarchical Navigable Small World) om miljarden vectoren in milliseconden te doorzoeken.

🧠Snelle check

Welk voordeel heeft vectorzoeken ten opzichte van traditioneel zoeken op trefwoorden?

RAG - Retrieval-Augmented Generation

RAG is een van de belangrijkste patronen in moderne AI. Het combineert vectorzoeken met taalmodellen:

  1. Embed je documenten en sla ze op in een vectordatabase.
  2. Wanneer een gebruiker een vraag stelt, embed de zoekopdracht.
  3. Haal op de meest vergelijkbare documentfragmenten via vectorzoeken.
  4. Voer die fragmenten als context in bij het taalmodel.
  5. Het model genereert een antwoord dat is gegrond in jouw data.

RAG stelt taalmodellen in staat om vragen te beantwoorden over jouw specifieke data - bedrijfsdocumenten, productcatalogi, onderzoeksartikelen - zonder hertraining. Het vermindert hallucinaties drastisch omdat het model echte bronnen heeft om naar te verwijzen.

🧠Snelle check

Welke rol speelt de vectordatabase in een RAG-systeem?

Praktische Toepassingen

Embeddings vormen de basis van talloze systemen in de praktijk:

  • Semantisch zoeken - vind relevante resultaten ongeacht de exacte bewoordingen.
  • Aanbevelingen - "gebruikers die dit leuk vonden, vonden ook..." via embedding-gelijkenis.
  • Clustering - groepeer automatisch vergelijkbare supporttickets, reviews of documenten.
  • Anomaliedetectie - spot uitschieters die ver van elk cluster liggen.
  • Duplicaatdetectie - vind bijna-identieke inhoud in grote corpora.
🤯

Spotify gebruikt audio-embeddings om nummers aan te bevelen. Elk nummer wordt geëmbed op basis van zijn akoestische eigenschappen, en aanbevelingen komen van het vinden van nabijgelegen vectoren - nummers die "vergelijkbaar klinken" in de embeddingsruimte.

🤔
Think about it:

Als je elk product in een webwinkel zou embedden, hoe zou je dan een aanbevelingssysteem kunnen bouwen dat zegt "klanten die dit item bekeken, vonden misschien ook..." zonder afhankelijk te zijn van aankoopgeschiedenis?

Belangrijkste Punten

  • Embeddings zijn dichte vectorrepresentaties waarbij betekenis meetkunde wordt.
  • Vergelijkbare concepten clusteren samen; relaties verschijnen als richtingen.
  • Cosinus-gelijkenis meet hoe dicht twee betekenissen bij elkaar liggen.
  • Vectordatabases maken zoeken op betekenis mogelijk op enorme schaal.
  • RAG combineert vectorzoeken met taalmodellen om vragen te beantwoorden op basis van je eigen data.

📚 Verder Lezen

  • Jay Alammar - The Illustrated Word2Vec - Visuele, intuïtieve uitleg van hoe woordembeddings werken
  • Pinecone Learning Centre - What Are Embeddings? - Praktische gids over embeddings en vectorzoeken
  • OpenAI Embeddings Guide - Hoe je embeddings genereert en gebruikt met de OpenAI API