kunstig intelligens
Slik bruker Airbnb «deep learning» til å optimalisere søk
Da prestasjonen til søkealgoritmen deres stagnerte, tittet Airbnb på «deep learning». Og siden har de ikke sett seg tilbake.
Når man som Airbnb samler overnattinger av alle typer, til alle tider og alle steder, krever dette en søkealgoritme utenom det vanlige.
Bedriften selv ser søking som den største suksessen for maskinlæring, og i en ny forskningsartikkel gir Airbnb for første gang et grundig innblikk i det arbeidet med deep learning – eller «dyp læring» på norsk – som ligger bak søkeresultatene.
Dyp læring er det tredje kapittelet for Airbnbs modell for søkerangering, skriver en rekke av bedriftens utviklere i artikkelen.
«The very first implementation of search ranking was a manually crafted scoring function. Replacing the manual scoring function with a gradient boosted decision tree (GBDT) model gave one of the largest step improvements in homes bookings in Airbnb’s history, with many successful iterations to follow,» skriver de.
Men over tid begynte de forbedringene som utviklerne kunne lage til det forbedrede beslutningstreet å flate ut, og derfor tok de tak i dyp læring – med både stor suksess og store utfordringer som resultat.
«Deep learning was steep learning for us,» skriver utviklerne.
Fra iglo til takleilighet
Rangering av søk – «search ranking» – er én av modellene i et økosystem av modeller som blant annet skal forutsi om en husvert aksepterer brukerens booking og om brukeren vil kvittere med fem stjerner. Search ranking-modellen spesifikt er den mest komplekse delen av det puslespillet, og har bare som formål å vise brukeren de mulighetene som han eller hun med størst sannsynlighet vil bestille.
Og det er selvsagt komplisert når man har oppslag om vidt forskjellige ting – fra igloer til loftsleiligheter og tømmerhytter. I tillegg kommer det som Airbnb selv kaller et twist; at hvert tilbud bare kan bookes én gang per natt – og deretter får man ikke mer data på det oppslaget, siden det ikke dukker opp i flere søk.
Resultatet er en fordeling som denne over antallet av oppslag overfor antallet av impressions (for eksempel klikk) per oppslag.
«The task of deciphering guest preference has an equally fascinating side,» skriver programvareingeniør Malay Haldar, som er en av forfatterne til artikkelen, i en blogg.
«One guest may end up booking a bargain private room, while another a lavish penthouse, but both may start by searching for a place for 2 in Rome. To effectively personalize the search experience, we need to process a huge volume of data in realtime,» skriver han, og fortsetter:
«The large number of dimensions and the relative sparsity of data on both guest and host side creates the perfect storm where quite a few of the known optimization techniques break down.»
Svaret på disse utfordringene er altså dype nevrale nettverk, skriver Haldar.
Vær ikke en helt – til å begynne med
Ikke prøv å være en helt, har Teslas AI-boss ved flere anledninger understreket når det kommer til dyp læring. Med andre ord: ikke bygg opp din egen arkitektur, og hent heller fram en allerede trent modell og finjuster den etter behov.
Hos Airbnb begynte utviklerne med spørsmålet «Hvorfor ikke være en helt?». De bygget opp sin egen arkitektur og endte med å bli overveldet av kompleksiteten i denne oppgaven, skriver Haldar et. al.
Til slutt gikk gruppen online med et enkelt nevralt nettverk med ett enkelt skjult lag.
«Not being a hero got us off to a start, but not very far. In time we would adapt Karpathy’s advice to: don’t be a hero, in the beginning,» skriver utviklerne.
Det enkle nevrale nettet ga ikke noen særlig forbedring i search rank; noe som utfordret utviklernes optimistiske tro på store forbedringer rett ut av boksen.
«A lot of initial discussions centered around keeping everything else invariant and replacing the current model with a neural network to see what gains we could get,» forklarer utviklergruppen.
«This set us up for a plunge into the valley of despair, when initially none of those gains materialized.»
Svimlende kompleksitet
De første forbedringene kunne gruppen se ved å optimere nettverket med Lamdarank, som er en rangeringsalgoritme fra 2006.
Deretter prøvde Airbnb seg med en kombinert modell, med resultatet fra «gradient boosted beslutningstrær», samt resultatet fra en «factorization machine» som egenskaper i det nevrale nettverket.
«The complexity of the model at this point was staggering,» forteller utviklerne.
«In our final leap, we were able to deprecate all that complexity by simply scaling the training data 10x and moving to a DNN (deep neural network red.) with 2 hidden layers.»
Det dype nevrale nettverket forbedret igjen modellen, selv om Airbnb-utviklerne påpeker at det er vanskelig å definere ytelse i forhold til hva et menneske kan prestere, slik man ofte gjør i forbindelse med bilde- og språkoppgaver. I dette tilfellet er det sannsynligvis ikke mulig å utføre for et menneske, skriver utviklerne.
Helhjertet anbefaling
Selv om GBDT-modellen fremdeles kan være å foretrekke på mindre prosjekter, kan Airbnb allerede nå helhjertet anbefale dyp læring.
«And it’s not only because of the strong gains in the online performance of the model. Part of it has to do with how deep learning has transformed our roadmap ahead,» skriver utviklerne.
«Earlier the focus was largely on feature engineering, but after the move to deep learning, trying to do better math on the features manually has lost its luster.»
Den gamle GBDT-modellen krevde omfattende feature engineering akkumulert over en årrekke. Men det var uklart for utviklerne hvorvidt øvelsene overhodet var optimert eller passet til denne dynamiske markedsplassen.
«A big attraction of NNs was to bring in feature automation, feeding raw data and letting the feature engineering happen in the hidden units of the NN driven by data,» skriver utviklerne.
«This has freed us up to investigate problems at a higher level, like how can we improve our optimization objective, and are we accurately representing all our users? Two years after taking the first steps towards applying neural networks to search ranking, we feel we are just getting started.»
Artikkelen har tidligere vært publisert på Datatech. Datatech tilhører Teknologiens Mediehus.