Modelensemble: hoe meerdere AI-modellen samen beter presteren dan één
Stel je voor dat je een moeilijke schatting moet maken, bijvoorbeeld hoeveel knikkers er in een grote pot zitten. Vraag je één willekeurige voorbijganger, dan kan het antwoord flink misgaan. Vraag je honderd mensen en neem je het gemiddelde van hun schattingen, dan blijkt die groepsschatting vaak verrassend dicht bij de waarheid te liggen. Dit verschijnsel, bekend als de "wijsheid van de menigte", is precies het principe achter een modelensemble.
Een modelensemble is een verzameling van meerdere voorspellende modellen die samen één antwoord geven, in plaats van te vertrouwen op de uitkomst van één enkel model. In plaats van honderd mensen zijn het bijvoorbeeld tien of honderd computerprogramma's die elk zelfstandig een voorspelling doen, waarna hun antwoorden worden gecombineerd tot een eindoordeel. Deze aanpak wordt op grote schaal gebruikt in machine learning, van weersvoorspellingen tot medische diagnostiek en aanbevelingssystemen van streamingdiensten.
Wat is het precies?
Bij ensemble learning train je niet één model op een dataset, maar meerdere. Elk model kijkt op een net iets andere manier naar dezelfde data, en juist door die verschillen (diversiteit) worden hun fouten deels gecompenseerd. Als het ene model een bepaald patroon mist, pikt een ander model dat misschien wel op. Er bestaan drie hoofdstrategieën om dit te organiseren.
De eerste heet bagging, een samentrekking van "bootstrap aggregating". Hierbij train je veel versies van hetzelfde soort model, elk op een iets andere, willekeurig samengestelde deelverzameling van de trainingsdata. Het bekendste voorbeeld is het Random Forest-algoritme: een "bos" van honderden beslisbomen (simpele regels als "als inkomen boven X, ga dan naar links"), waarbij elke boom een eigen stem uitbrengt en de meerderheid wint.
De tweede strategie is boosting. Hier worden modellen niet onafhankelijk van elkaar getraind, maar juist na elkaar: elk nieuw model probeert specifiek de fouten van de vorige modellen te corrigeren. Bekende voorbeelden zijn XGBoost, LightGBM en CatBoost, drie populaire varianten van zogeheten "gradient boosting". Deze methode is bijzonder effectief bij data in tabelvorm, zoals klantenbestanden of financiële cijfers.
De derde strategie, stacking (ook wel blending genoemd), gaat een stap verder: de voorspellingen van meerdere, vaak heel verschillende modellen worden zelf weer als input gebruikt voor een laatste, overkoepelend model dat leert hoe het de deelvoorspellingen het beste kan combineren.
Belangrijk is het onderscheid met een verwant maar ander begrip: mixture of experts, dat vooral bij grote taalmodellen wordt gebruikt. Bij een echt ensemble leveren doorgaans alle modellen een bijdrage aan elk antwoord. Bij mixture of experts bestaat het systeem weliswaar ook uit meerdere deelmodellen ("experts"), maar wordt per vraag slechts een klein deel daarvan daadwerkelijk geactiveerd. Dat scheelt rekenkracht, maar het is strikt genomen geen ensemble: er wordt niet gestemd, er wordt gekozen.
Wat wil men ermee bereiken?
Het belangrijkste doel is nauwkeurigheid: gemiddeld genomen presteert een goed samengesteld ensemble vaak beter dan het beste individuele model erin. Daarnaast levert het meer robuustheid op. Een enkel model kan toevallig slecht presteren op bepaalde soorten data; door meerdere modellen te combineren wordt de kans kleiner dat zo'n zwakke plek de doorslag geeft.
Ensembles helpen ook tegen overfitting, het probleem waarbij een model de trainingsdata te letterlijk uit het hoofd leert, inclusief toevallige ruis, waardoor het slecht presteert op nieuwe, ongeziene data. Doordat verschillende modellen op net iets andere data of met net iets andere aannames zijn getraind, middelt hun combinatie dergelijke toevallige fouten grotendeels uit.
Een minder bekend maar praktisch belangrijk voordeel is dat ensembles vaak betere onzekerheidsschattingen geven. Als tien modellen het onderling sterk oneens zijn over een voorspelling, is dat een signaal dat de uitkomst onzeker is, iets wat één enkel model niet kan laten zien.
Voorbeelden uit de praktijk
De Netflix Prize (2006-2009) is een klassiek voorbeeld. Netflix loofde een miljoen dollar uit voor wie het beste filmaanbevelingen kon voorspellen. Het winnende team, BellKor's Pragmatic Chaos, won niet met één briljant algoritme, maar met een blending van tientallen uiteenlopende modellen, elk met eigen sterktes.
Het Random Forest-algoritme, geïntroduceerd door statisticus Leo Breiman in 2001, is inmiddels een standaardtechniek in de gereedschapskist van elke data-analist, gebruikt voor alles van kredietbeoordeling tot ecologisch onderzoek.
Op het wedstrijdplatform Kaggle, waar duizenden data-analisten strijden om de beste voorspelmodellen, winnen sinds ongeveer 2014-2016 vrijwel altijd ensembles van boosting-algoritmes als XGBoost, LightGBM (ontwikkeld door Microsoft) en CatBoost (ontwikkeld door het Russische techbedrijf Yandex), zeker bij data in tabelvorm.
In de weersvoorspelling is ensemblewerk al veel ouder. Het European Centre for Medium-Range Weather Forecasts (ECMWF) in Reading, Engeland, draait sinds 1992 een "ensemble prediction system": tientallen simulaties van hetzelfde weermodel, elk gestart met licht verschillende beginwaarden. Omdat het weer chaotisch gedrag vertoont, leiden kleine verschillen in de begintoestand tot uiteenlopende uitkomsten, en die spreiding geeft meteorologen een directe maat voor hoe zeker een voorspelling is.
Ook AlphaFold, het eiwitvouwingsmodel van DeepMind dat in 2020 een doorbraak betekende voor de biologie, gebruikt meerdere modelvarianten waarvan de voorspellingen worden gemiddeld, om betrouwbaardere structuurvoorspellingen te krijgen.
Hoe ver is de techniek?
Ensemble learning is geen nieuwe hype, maar een volwassen en breed beproefde techniek. De wiskundige basis van boosting werd al in de jaren negentig gelegd door onderzoekers als Robert Schapire en Yoav Freund, en sindsdien is de methode alleen maar verder verfijnd en praktischer gemaakt.
In de klassieke machine learning, met gestructureerde data zoals spreadsheets, zijn ensembles vandaag de dag vaak nog steeds het beste gereedschap, en ze verslaan op dat soort taken regelmatig ook modernere deep-learning-modellen.
Bij grote taalmodellen en andere vormen van deep learning ligt dat anders. Het trainen en draaien van meerdere volledige neurale netwerken tegelijk is rekenkundig kostbaar: elk model vergt eigen geheugen en rekentijd, en bij inference (het moment waarop het model daadwerkelijk een antwoord genereert) moeten in een streng ensemble alle modellen apart draaien voordat je hun uitkomsten kunt combineren. Dat is een van de redenen waarom mixture-of-experts-architecturen, waarbij per vraag maar een deel van het netwerk wordt geactiveerd, populairder zijn geworden bij grote taalmodellen: ze bieden een deel van de voordelen van meerdere gespecialiseerde submodellen, tegen lagere rekenkosten.
Belangrijke obstakels blijven de rekenkosten en het opslaggebruik van meerdere modellen, de vertraging die dat oplevert bij toepassingen die snel moeten reageren, en de verminderde uitlegbaarheid: het is vaak lastiger te begrijpen waarom een ensemble van tien modellen tot een bepaalde uitkomst komt dan bij één enkel, overzichtelijk model.
Wie werken eraan?
De academische wortels liggen bij statistici als Leo Breiman (Random Forest) en Robert Schapire en Yoav Freund (boosting), die in de jaren negentig het theoretische fundament legden. Hun werk vormt nog steeds de basis van de meest gebruikte implementaties.
Op bedrijfsniveau ontwikkelt en onderhoudt Microsoft Research het populaire LightGBM, terwijl het Russische Yandex verantwoordelijk is voor CatBoost. Beide zijn open source en worden wereldwijd gebruikt. Google DeepMind past ensembletechnieken toe binnen onderzoeksprojecten als AlphaFold. Het Europese ECMWF, gefinancierd door tientallen Europese lidstaten, is al decennialang toonaangevend in het toepassen van ensemblemethoden voor weersvoorspelling.
Daarnaast is de gemeenschap rond het wedstrijdplatform Kaggle, met deelnemers over de hele wereld, een belangrijke drijvende kracht achter de praktische verfijning van ensembletechnieken: veel verbeteringen in boosting-algoritmes zijn direct voortgekomen uit de zoektocht naar net dat beetje extra nauwkeurigheid in wedstrijden.