← Nieuwste papers
🤖 machine learning

BACH: A Bayesian Admixture of Contrastive Heads for Multi-Interest Two-Tower Retrieval

BACH introduceert een Bayesian Admixture of Contrastive Heads-framework voor multi-interest two-tower retrieval dat variatieve inferentie gebruikt om gebruikersinteresses als een zachte mengeling te modelleren, waardoor routing-instorting effectief wordt gemitigeerd terwijl per-gebruiker interessegewichten worden geboden en de retrieval-prestaties over grootschalige benchmarks worden verbeterd.

Oorspronkelijke auteurs: Quoc Phong Nguyen, Paul Albert, Long Vuong, Vuong Le, Julien Monteil

Gepubliceerd 2026-07-10
📖 6 min leestijd🧠 Diepgaand

Oorspronkelijke auteurs: Quoc Phong Nguyen, Paul Albert, Long Vuong, Vuong Le, Julien Monteil

Oorspronkelijk artikel gelicentieerd onder CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Dit is een AI-gegenereerde uitleg van het onderstaande artikel. Het is niet geschreven of goedgekeurd door de auteurs. Raadpleeg het oorspronkelijke artikel voor technische nauwkeurigheid. Lees de volledige disclaimer

Stel je voor dat je door een enorme, eindeloze bibliotheek loopt met miljoenen boeken. Je hebt een zeer specifieke smaak: je houdt van sciencefiction uit de jaren '80, maar je bent ook stiekem dol op bakinstructies en de oude geschiedenis.

Ouderwetse aanbevelingssystemen zijn als een bibliothecaris die probeert al jouw interesses in één enkele persoonlijkheid te proppen. Ze proberen één enkele "jij" in hun brein te vinden. Het probleem is: als je van sciencefiction het meeste houdt, gaat de bibliothecaris ervan uit dat je alleen maar sciencefiction wilt. Ze duwen de bakboeken en geschiedenisboeken naar de achterkant van de kast omdat ze niet in het enkele "sciencefiction"-label passen. Dit is wat het artikel de "single-vector"-aanpak noemt, en het laat veel van jouw interesses op de plank liggen.

Toen probeerden sommige slimmere bibliothecarissen een nieuwe truc: Multi-Interest. In plaats van één persoonlijkheid, gaven ze je kk verschillende "koppen" (of avatars) in hun brein. Eén kop is de Sciencefiction-fan, één is de Bakker, en één is de Historicus. Wanneer je om een boek vraagt, controleert de bibliothecaris alle kk koppen en kiest degene die er het beste bij past.

Maar hier is de glitch die het artikel vond:
De oude manier om deze bibliothecarissen te trainen was als een "winner-take-all"-spel. Wanneer je een sciencefictionboek koos, gaf de bibliothecaris alleen een high-five aan de Sciencefiction-Kop. De Bakker-kop en de Historicus-kop werden genegeerd. Na verloop van tijd werd de Sciencefiction-Kop supersterk, terwijl de anderen lui werden, stopten met leren en uiteindelijk gewoon de Sciencefiction-Kop begonnen na te bootsen. Dit wordt "routing collapse" genoemd. De bibliothecaris eindigt met kk koppen, maar ze gedragen zich allemaal als dezelfde persoon. Bovendien had de bibliothecaris geen idee hoeveel je eigenlijk van bakken versus geschiedenis hield; ze gokten het maar gewoon.

De Oplossing: BACH (Bayesian Admixture of Contrastive Heads)

De auteurs, een team van Amazon, bouwden een nieuw systeem genaamd BACH. Denk aan BACH als een bibliothecaris die niet alleen één kop kiest om mee te praten; ze creëren een op maat gemaakte cocktail van jouw interesses voor elke aanvraag.

Zo werkt BACH, gebruikmakend van de werkelijke mechanismen uit het artikel:

1. De Soft Mixture (Geen "Winner-Take-All" meer)
In plaats van slechts één kop het werk te laten doen, vraagt BACH: "Welke rol heeft de Sciencefiction-Kop gespeeld? Hoeveel heeft de Bakker-Kop gespeeld?"

  • De Oude Manier: "Sciencefiction-Kop wint! Iedereen anders krijgt nul punten."
  • BACH's Manier: "Sciencefiction-Kop krijgt 70% van de eer, de Bakker 20%, en de Historicus 10%."
    Dit wordt een soft mixture genoemd. Omdat elke kop telkens een beetje krediet (een "gradient") krijgt wanneer je met elk item interacteert, wordt geen enkele kop ooit lui. Ze blijven allemaal leren en scherp.

2. De Gepersonaliseerde Weging (De "Admixture")
BACH raadt niet alleen je interesses; het berekent een specifieke weging (πu\pi_u) voor jou.

  • Voor jou is de weging misschien: 70% Sciencefiction, om 20% Bakken, en 10% Geschiedenis.
  • Voor je vriend is het misschien: 10% Sciencefiction, 80% Bakken, en 10% Geschiedenis.
    Het artikel laat zien dat deze gewichten worden geleerd met een methode genaamd variational inference. Het is alsof de bibliothecaris constant een draaiknop voor elke gebruiker aanpast om precies te bepalen hoeveel massa aan elk belang moet worden toegekend. Deze weging wordt vervolgens gebruikt tijdens zowel de training als wanneer je daadwerkelijk aanbevelingen krijgt, zodat het systeem consistent blijft.

3. De "Global Codebook" Optie
Het artikel vond ook een slimme truc. Je kunt de "Sciencefiction"- en "Bakken"-koppen delen over iedereen (een globale lijst van onderwerpen), terwijl alleen de wegingen per persoon veranderen.

  • Waarom dit cool is: De bibliothecaris kan de "Sciencefiction-boeklijst" en de "Bakken-boeklijst" één keer berekenen en opslaan. Wanneer jij binnenloopt, mengen ze simpelweg die vooraf gemaakte lijsten samen op basis van jouw persoonlijke gewichten. Dit gaat super snel en werkt erg goed, zelfs voor nieuwe gebruikers die nog niets gelezen hebben (het "cold start"-probleem).

Wat het Artikel Daadwerkelijk Bewezen Heeft (en Wat Niet)

De auteurs hebben niet alleen gegokt; ze hebben getest op drie enorme echte datasets: MovieLens-20M (20 miljoen filmbeoordelingen), Taobao (een enorme Chinese webshop) en Netflix.

  • De Resultaten: Op alle drie de datasets versloeg BACH de oude "winner-take-all" multi-interest modellen en de single-personality modellen.
    • Op MovieLens-20M bereikte de beste versie van BACH (met 32 koppen) een AUPRC van 0,069, waarmee het de op één na beste model (0,067) versloeg.
    • Op Taobao verbeterde BACH de resultaten aan de top van de lijst met ongeveer 3% tot 5% vergeleken met de beste vorige methode.
    • Op Netflix was de verbetering nog scherper, waarbij BACH de concurrentie met 12,7% versloeg in AUPRC bij 32 koppen.
  • De "Routing" Ontdekking: Het artikel sluit de oude manier van trainen uit, waarbij het systeem alleen de "winnende" kop bijwerkt (genaamd "pos-multihead"). Ze vonden dat trainen met de "alleen de winnaar"-regel eigenlijk slechter is dan trainen waarbij elke kandidaat wordt gescoord door de beste kop. Sterker nog, het artikel toonde aan dat de oude "winner-take-all"-training zorgde voor een enorme daling in prestaties (tot wel 41% slechter op de top-ranglijsten) vergeleken met de nieuwe "all-candidate" scoring.
  • De "Concentration" Verrassing: Het artikel argumenteerde tegen de noodzaak van complexe "priors" (vooraf ingestelde regels) om het systeem stabiel te houden. Ze ontdekten dat het systeem zelfregulerend is. De "concentratie" (hoe scherp of vaag een belang is) blijft van nature binnen een gezonde marge (rond de 17 tot 30 voor hun specifieke wiskunde) zonder dat er extra regels nodig zijn om dit af te dwingen.

De Kern van het Verhaal

Het artikel suggereert dat door een gebruiksinteresses te behandelen als een flexibele, gewogen mengeling in plaats van een enkele keuze of een rigide set winnaars, we aanbevelingssystemen kunnen bouwen die nauwkeuriger zijn, minder gevoelig zijn voor "instorting" en sneller werken.

Ze testten dit met 32 koppen (interesses) en vonden dat dit het beste werkte, maar ze lieten ook zien dat het werkt met 8, 16, 128 en 256 koppen. Het systeem is robuust, en de twee verschillende wiskundige versies die ze probeerden (genaamd p-BACH en v-BACH) presteerden vrijwel identiek, wat suggereert dat het idee van de mengeling het belangrijkste is, niet de specifieke wiskundige smaak.

Dus, als je een nieuwsgierige tiener bent met een miljoen verschillende hobby's, dan is BACH de bibliothecaris die eindelijk stopt met proberen je in één hokje te duwen en in plaats daarvan een op maat gemaakte, perfecte plank voor je bouwt.

Verdrinkt u in papers in uw vakgebied?

Ontvang dagelijkse digests van de nieuwste papers die bij uw onderzoekswoorden passen — met technische samenvattingen, in uw taal.

Probeer Digest →