Wat zijn inbeddingen in machine learning?


Wat zijn inbeddingen in Machine Learning?

Inbeddingen in machine learning zijn een krachtige techniek om discrete, vaak hoog-dimensionale gegevens, zoals individuele woorden, productcategorieën of zelfs verschillende gebruikers en items, om te zetten in dichte, continue vectorrepresentaties binnen een meer beheersbare, lager-dimensionale ruimte.

Poging om onbewerkte tekst rechtstreeks in een wiskundig model in te voeren. Nou, dat zou simpelweg niet werken. Inbeddingen bieden een cruciale brug. Ze gedragen zich als een uitgekiende "opzoektabel" of woordenlijst waarbij aan elk uniek item een unieke lijst met echte getallen wordt toegewezen, waardoor de vector wordt gevormd.

IA & Machine learning OVHcloud

De ware tovenarij van inbeddingen op het gebied van AI ligt in het feit dat deze representaties niet willekeurig zijn; ze worden geleerd van de gegevens zelf tijdens het trainingsproces van een model. Dit proces is bedoeld om de onderliggende semantische koppelingen of inherente kenmerken van de items vast te leggen.

Als gevolg hiervan worden items die contextueel of semantisch vergelijkbaar zijn in de oorspronkelijke gegevensset toegewezen aan vectoren die zich in deze nieuw gemaakte ruimte dicht bij elkaar bevinden. Zo zouden woorden als "koning" en "koningin" bijvoorbeeld kunnen eindigen met gelijkaardige voorstellingen, die hun verwante betekenissen weerspiegelen.

Waarom hebben we inbeddingen nodig?

Machine learning heeft vaak moeite om rauwe, discrete gegevens, zoals individuele woorden of productcategorieën, direct te interpreteren.

Pogingen om dergelijke gegevens in te voeren in een wiskundig model in de oorspronkelijke vorm werken niet, omdat modellen numerieke invoer vereisen. Hier worden inbeddingen essentieel. Ze bieden een cruciale brug, die werkt als een geavanceerde "opzoektabel" die elk uniek item vertaalt naar een lijst van reële getallen - de vectorweergave - waardoor de gegevens verteerbaar worden voor algoritmen.

De ware kracht en noodzaak van inbeddingen, echter, vloeien voort uit hoe deze vectoren worden gemaakt. Het zijn niet zomaar willekeurige toewijzingen. Deze vectorrepresentaties worden geleerd van de gegevens zelf tijdens de training van een model.

Deze training is specifiek ontworpen om de onderliggende semantische relaties of inherente kenmerken van de items vast te leggen en de MLOps-stappen te ondersteunen.

Voordelen van inbeddingen in machine learning

Inbeddingen bieden significante en veelzijdige voordelen in machine-learningalgoritmen. Ze transformeren op een fundamentele manier de manier waarop modellen complexe, vaak hoog-dimensionale gegevens kunnen interpreteren, ervan kunnen leren en ze kunnen gebruiken.

Verbeterd semantisch begrip

Insluitingen blinken uit in het vastleggen van de onderliggende betekenis, context en genuanceerde relaties tussen afzonderlijke items, zoals woorden, producten of zelfs gebruikers. Door semantisch vergelijkbare items weer te geven met vectoren die geografisch dicht bij elkaar liggen in de geleerde insluitruimte, krijgen deze een veel dieper begrip van de gegevens.
 

Een inbedding kan bijvoorbeeld helpen begrijpen dat "koning" en "koningin" een koninklijke context delen en verwant zijn aan "monarch", terwijl ze verschillen van "boer".
 

Dit gaat verder dan overeenkomsten op oppervlakteniveau; de geometrische relaties in de inbeddingsruimte (zoals vectorverschuivingen) kunnen zelfs analogieën vastleggen, zoals "koning - man + vrouw = koningin." Dit verfijnde begrip van semantiek is van onschatbare waarde voor taken als vertaling (het behoud van betekenis in alle talen), gevoelsanalyse (het detecteren van subtiele emotionele tonen) en het bouwen van intelligente aanbevelingssystemen die echt relevante zaken kunnen suggereren.

Verbeterde efficiëntie en prestaties

Traditionele methoden voor het weergeven van discrete gegevens creëren vaak extreem hoog-dimensionale en sparse vectoren (meestal nullen met een enkele).
 

Naarmate het aantal unieke items toeneemt, neemt ook deze dimensionaliteit toe, wat leidt tot de "vloek van dimensionaliteit"—waar gegevens te schaars worden, modellen computationeel duur worden om te trainen, grote hoeveelheden geheugen nodig hebben en moeite hebben om goed te generaliseren.
 

Inbeddingen bieden een directe oplossing door dichte, minder-dimensionale weergaven te bieden. Deze compactheid vermindert de belasting door berekeningen aanzienlijk, waardoor modellen sneller kunnen worden getraind en minder opslagruimte nodig is.
 

Belangrijker nog is dat deze dichte vectoren, door essentiële informatie vast te leggen, relevante patronen effectiever helpen identificeren, wat leidt tot een betere generalisatie van onzichtbare gegevens en uiteindelijk een hogere nauwkeurigheid en betere algehele prestaties bij downstream-taken oplevert.

Effectieve verwerking van categorische gegevens

Machine learning-pipeline-modellen komen vaak categorische gegevens tegen, die kunnen variëren van enkele verschillende klassen tot duizenden of zelfs miljoenen (kenmerken met een hoge kardinaliteit, zoals gebruikers-id's of productcodes).
 

Het is een uitdaging om dergelijke gegevens numeriek weer te geven op een manier die modellen effectief kunnen gebruiken. Eenvoudige codering van gehele getallen legt een kunstmatige rangtelrelatie op, terwijl one-hot-codering onpraktisch wordt voor veel categorieën.
 

Inbeddingen bieden een veel meer verfijnde aanpak door het leren van een unieke vectorweergave voor elke categorie.
 

Dit proces converteert niet alleen categorieën naar een bruikbare numerieke indeling, maar positioneert ook categorieën met vergelijkbare effecten of gedrag dichter in de insluitruimte, waardoor latente functies en relaties binnen de categorische gegevens zelf worden blootgelegd. Hierdoor kan het model deze aangeleerde overeenkomsten benutten, wat leidt tot robuustere en inzichtelijkere voorspellingen.

Kennisoverdracht met voorgetrainde inbeddingen

Een van de krachtigste praktische voordelen van inbeddingen is de mogelijkheid om kennis over te dragen met vooraf opgeleide modellen.
 

Onderzoekers en organisaties investeren veel in het trainen van inbeddingen in enorme datasets - bijvoorbeeld ingebedde woorden zoals Word2Vec, GloVe of woorden die zijn afgeleid van grote taalmodellen (LLM's) worden getraind op terabytes aan tekstgegevens, terwijl e-commercegiganten artikelinbeddingen kunnen trainen op miljarden gebruikersinteracties. Deze voorgetrainde insluitingen leggen een grote hoeveelheid algemene kennis vast over de taalstructuur of de artikelrelaties.
 

Ontwikkelaars kunnen dan gemakkelijk verkrijgbare inbeddingen gebruiken en deze in hun eigen modellen integreren, zelfs als hun specifieke taak beperkte trainingsgegevens bevat. Deze methode, die bekend staat als transfer learning, kan de ontwikkeling aanzienlijk versnellen, sterke basisniveaus voor prestaties leveren en de creatie van krachtige tools mogelijk maken zonder de noodzaak voor uitgebreide rekenresources of grote geheel nieuwe bedrijfseigen datasets.

Hoe insluiten werkt

Begrijpen wat inbeddingen zijn en waarom ze goed zijn, is één ding; begrijpen hoe ze werkelijk tot stand komen en functioneren is de sleutel tot het waarderen van hun kracht.

In deze sectie wordt ingegaan op de mechanica achter inbeddingen en wordt uitgelegd hoe afzonderlijke stukjes informatie worden getransformeerd tot rijke, numerieke vectoren die machine-learningmodellen effectief kunnen gebruiken. We zullen het proces onderzoeken dat deze vectoren betekenis geeft en ze in staat stelt om complexe koppelingen in gegevens vast te leggen.

Toewijzing aan vectoren: Het basisconcept

In het hart van een ingesloten afbeelding wordt een toewijzing gemaakt van een afzonderlijke set items (zoals woorden, product-id's of gebruikersprofielen) naar een lijst met reële getallen, ook wel een vector genoemd. Elk uniek item in uw woordenschat of set krijgt zijn eigen unieke vector toegewezen. In eerste instantie kunnen deze vectorwaarden willekeurig zijn of volgens een eenvoudige strategie zijn geïnitialiseerd.

Het cruciale deel is dat deze niet statisch zijn; het zijn parameters die het machinemodel tijdens het proces zal leren en aanpassen.

De dimensionaliteit hiervan (d.w.z. hoeveel getallen er in elke lijst staan) is een hyperparameter die u kiest - deze is doorgaans veel kleiner dan het totale aantal unieke items, maar groot genoeg om complexe koppelingen vast te leggen.

Leren via neurale netwerken

De meest gebruikelijke manier waarop inbeddingen worden geleerd is via neurale netwerken. Vaak is een dedicated insluitingslaag de eerste laag in een netwerk die categorische of tekstuele invoer verwerkt.

Wanneer een item (bijvoorbeeld een woord dat wordt vertegenwoordigd door een index met gehele getallen) in deze laag wordt ingevoerd, zoekt de laag eenvoudigweg de corresponderende vector op in een interne "inbeddingsmatrix" (waarbij rijen artikelindexen zijn en kolommen de vectordimensies). Deze vector wordt vervolgens de invoer voor de volgende lagen in het netwerk.

Tijdens de trainingsfase van het netwerk, wanneer het werkt om de voorspellingsfout bij een bepaalde taak te minimaliseren, worden de foutsignalen terugverspreid via het netwerk, en worden de waarden binnen de inbeddende vectoren zelf bijgewerkt naast andere modelgewichten.

De rol van de doelstellingsfunctie

Inbeddingen leren geen betekenisvolle voorstellingen in een vacuüm. Ze worden getraind als onderdeel van een groter model dat ontworpen is om een specifiek doel te bereiken, dat gedefinieerd wordt door een objectieve functie (of verliesfunctie). Bijvoorbeeld:

  • In de natuurlijke taalverwerking wordt het insluiten van woorden (zoals Word2Vec of GloVe) vaak geleerd door het te trainen om een woord te voorspellen op basis van de omringende context woorden (of vice versa). Het model past de woordvectoren aan om beter te worden in deze voorspellingstaak.
     
  • In aanbevelingssystemen kan het insluiten van items of gebruikers geleerd worden door een model te trainen om gebruikersbeoordelingen voor items te voorspellen of door te bepalen of een gebruiker met een item zal communiceren.
     
  • Bij classificatietaken met categorische invoer, een veelvoorkomend probleem bij gecontroleerd leren, worden inbeddingen geleerd om beter onderscheid te maken tussen de verschillende klassen op basis van gelabelde voorbeelden.

De inbeddingen zijn geoptimaliseerd om de informatie te bevatten die het meest relevant is voor het bereiken van de doelstelling.

Het resultaat? Een betekenisvolle vectorruimte

Door dit trainingsproces, aangedreven door de objectieve functie, leert de inbeddingslaag de vectoren in de inbeddingsruimte zo te rangschikken dat items die semantisch vergelijkbaar zijn of zich op dezelfde manier gedragen in de context van de taak dichter bij elkaar worden geplaatst.

Soortgelijke items zullen verder uit elkaar liggen. Deze geometrische relatie in de vectorruimte is wat inbeddingen zo krachtig maakt. Het betekent dat de vectoren niet zomaar willekeurige getallen zijn; ze coderen geleerde links en kenmerken van de originele items, waardoor het model kan generaliseren, genuanceerde voorspellingen kan maken en zelfs verborgen patronen in de gegevens kan blootleggen.

Wat zijn modellen insluiten?

Een embedding model is een machine learning model dat specifiek is ontworpen om te leren en betekenisvolle vector representaties van discrete of hoog-dimensionale gegevens te genereren.

Hoewel veel complexe machinesystemen een inbeddingslaag kunnen gebruiken als onderdeel van hun architectuur, verwijst een "inbeddingsmodel" specifiek naar het systeem of proces dat gericht is op het produceren van deze betekenisvolle, dichte vectorrepresentaties.

Deze nemen onbewerkte gegevens, zoals woorden, zinnen, afbeeldingen of gebruikers-/item-id's, en transformeren deze in een lager-dimensionale ruimte waar semantische koppelingen zijn gecodeerd in de geometrie van de vectoren.

De uitvoer, de inbeddingen zelf, kan dan direct worden gebruikt voor taken zoals zoeken naar overeenkomsten, visualisatie of als functie-invoer voor andere modellen van downstream-machines

Het proces van het maken van deze inbeddingen impliceert doorgaans het trainen van een neuraal netwerk in een specifieke taak, die vaak onder eigen toezicht wordt uitgevoerd.

Een Word-insluitmodel kan bijvoorbeeld worden getraind om een doelwoord te voorspellen op basis van de omringende contextwoorden (of omgekeerd). Als het model leert deze taak nauwkeurig uit te voeren, worden de gewichten in de insluitlaag aangepast, waardoor de geleerde inbedding effectief wordt.