GrundlÃĶggende AI

Hvad er Federated Learning?

mm
FÃļj Unite.AI til dine foretrukne kilder pÃĨ Google

Hvad er Federated Learning?

Den traditionelle metode til at trÃĶne AI-modeller indebÃĶrer at oprette servere, hvor modellerne trÃĶnes pÃĨ data, ofte gennem brug af en cloud-baseret computing-platform. Men over de seneste fÃĨ ÃĨr er der opstÃĨet en alternativ form for modeloprettelse, kaldet federated learning. Federated learning bringer maskinlÃĶringsmodeller til datakilden, snarere end at bringe data til modellen. Federated learning forbinder multiple beregningsenheder i et decentraliseret system, der tillader de enkelte enheder, der indsamler data, at bidrage til at trÃĶne modellen.

I et federated learning-system har de forskellige enheder, der er en del af lÃĶringsnetvÃĶrket, hver en kopi af modellen pÃĨ enheden. De forskellige enheder/klienter trÃĶner deres egen kopi af modellen ved hjÃĶlp af klientens lokale data, og derefter sendes parametrene/vÃĶgtene fra de enkelte modeller til en master-enhed eller server, der samler parametrene og opdaterer den globale model. Denne trÃĶningsproces kan derefter gentages, indtil en Ãļnsket niveau af nÃļjagtighed er opnÃĨet. Kort sagt er idÃĐen bag federated learning, at ingen af trÃĶningsdataene nogensinde overfÃļres mellem enheder eller mellem parter, kun opdateringerne relateret til modellen.

Federated learning kan deles op i tre forskellige trin eller faser. Federated learning starter typisk med en generisk model, der fungerer som en baseline og trÃĶnes pÃĨ en central server. I det fÃļrste trin sendes denne generiske model ud til applikationens klienter. Disse lokale kopier trÃĶnes derefter pÃĨ data genereret af klientsystemerne, og de lÃĶrer og forbedrer deres prÃĶstation.

I det andet trin sender klienterne alle deres lÃĶrende modelparametre til den centrale server. Dette sker periodisk, pÃĨ en fast tidsplan.

I det tredje trin samler serveren de lÃĶrende parametre, nÃĨr den modtager dem. Efter at parametrene er samlet, opdateres den centrale model og deles igen med klienterne. Den hele proces gentages derefter.

Fordelen ved at have en kopi af modellen pÃĨ de forskellige enheder er, at netvÃĶrksforsinkelser reduceres eller elimineres. Omkostningerne forbundet med at dele data med serveren elimineres ogsÃĨ. Andre fordele ved federated learning-metoder inkluderer, at federated learning-modeller er privatbeskyttede, og modelrespons er personlige for brugeren af enheden.

Eksempler pÃĨ federated learning-modeller inkluderer anbefalingsmotorer, svindelopdannelsesmodeller og medicinske modeller. Medieanbefalingsmotorer af den type, der bruges af Netflix (NFLX ) eller Amazon (AMZN ), kan trÃĶnes pÃĨ data indsamlet fra tusinder af brugere. Klientenhederne ville trÃĶne deres egne separate modeller, og den centrale model ville lÃĶre at gÃļre bedre forudsigelser, selv om de enkelte datapunkter ville vÃĶre unikke for de forskellige brugere. Lignende svindelopdannelsesmodeller, der bruges af banker, kan trÃĶnes pÃĨ mÃļnstre af aktivitet fra mange forskellige enheder, og en hÃĨndfuld forskellige banker kunne samarbejde om at trÃĶne en fÃĶlles model. I forhold til en medicinsk federated learning-model kunne flere hospitaler samarbejde om at trÃĶne en fÃĶlles model, der kunne genkende potentielle tumorer gennem medicinske scans.

Typer af Federated Learning

Federated learning-skemaer falder typisk i en af to forskellige klasser: multi-party-systemer og single-party-systemer. Single-party federated learning-systemer kaldes “single-party”, fordi kun en enkelt enhed er ansvarlig for at overvÃĨge indsamlingen og flyden af data pÃĨ tvÃĶrs af alle klientenhederne i lÃĶringsnetvÃĶrket. Modellerne, der findes pÃĨ klientenhederne, trÃĶnes pÃĨ data med samme struktur, selv om datapunkterne typisk er unikke for de forskellige brugere og enheder.

I modsÃĶtning til single-party-systemer er multi-party-systemer styret af to eller flere enheder. Disse enheder samarbejder om at trÃĶne en fÃĶlles model ved at anvende de forskellige enheder og datasÃĶt, de har adgang til. Parametrene og datastrukturerne er typisk lignende pÃĨ tvÃĶrs af enhederne tilhÃļrende de multiple enheder, men de behÃļver ikke at vÃĶre nÃļjagtigt de samme. I stedet udfÃļres forarbejdning for at standardisere input til modellen. En neutral enhed kan vÃĶre ansat til at samle vÃĶgtene, der er fastlagt af enhederne, der er unikke for de forskellige enheder.

Rammeverk for Federated Learning

PopulÃĶre rammeverk, der bruges til federated learning, inkluderer Tensorflow Federated, Federated AI Technology Enabler (FATE) og PySyft. PySyft er et open-source federated learning-bibliotek baseret pÃĨ det dybe lÃĶringsbibliotek PyTorch. PySyft er designet til at sikre privat, sikker dyb lÃĶrning pÃĨ tvÃĶrs af servere og agenter ved hjÃĶlp af krypteret beregning. Imens er Tensorflow Federated et andet open-source-rammeverk bygget pÃĨ Googles Tensorflow-platform. Ud over at enable brugere til at oprette deres egne algoritmer, tillader Tensorflow Federated brugere at simulere en rÃĶkke inkluderet federated learning-algoritmer pÃĨ deres egne modeller og data. Endelig er FATE ogsÃĨ et open-source-rammeverk designet af Webank AI, og det er designet til at give Federated AI-Ãļkosystemet et sikret beregningsrammeverk.

Federated Learning Udfordringer

Da federated learning stadig er ret nyt, er der en rÃĶkke udfordringer, der stadig mÃĨ overvindes, for at det kan opnÃĨ sin fulde potential. TrÃĶningsevnen for kanten af enheder, dataetikettering og standardisering samt modelkonvergens er potentielle vejforhindringer for federated learning-tilgange.

De beregningsmÃĶssige evner for kanten af enheder, nÃĨr det kommer til lokal trÃĶning, skal vÃĶre med i betragtning, nÃĨr der designes federated learning-tilgange. Mens de fleste smartphones, tabletter og andre IoT-kompatible enheder er i stand til at trÃĶne maskinlÃĶringsmodeller, hÃĶmmer dette typisk enhedens prÃĶstation. Kompromiser skal vÃĶre mellem modelnÃļjagtighed og enhedens prÃĶstation.

Etikettering og standardisering af data er en anden udfordring, som federated learning-systemer mÃĨ overvinde. Superviseret lÃĶringsmodeller krÃĶver trÃĶningsdata, der er tydeligt og konsekvent etiketteret, hvilket kan vÃĶre svÃĶrt at gÃļre pÃĨ tvÃĶrs af de mange klientenheder, der er en del af systemet. Derfor er det vigtigt at udvikle modeldata-rÃļrledninger, der automatisk anvender etiketter pÃĨ en standardiseret mÃĨde baseret pÃĨ begivenheder og brugerhandlinger.

Modelkonvergenstid er en anden udfordring for federated learning, da federated learning-modeller typisk tager lÃĶngere tid at konvergere end lokalt trÃĶnede modeller. Antallet af enheder, der er involveret i trÃĶningen, tilfÃļjer en element af usikkerhed til modeltrÃĶningen, da forbindelsesproblemer, uregelmÃĶssige opdateringer og selv forskellige applikationsbrugstider kan bidrage til Ãļget konvergenstid og reduceret pÃĨlidelighed. Derfor er federated learning-lÃļsninger typisk mest nyttige, nÃĨr de giver meningsfulde fordele over centralt trÃĶnede modeller, sÃĨsom tilfÃĶlde, hvor datasÃĶt er ekstremt store og distribuerede.

Foto: Jeromemetronome via Wikimedia Commons, CC By S.A. 4.0 (https://en.wikipedia.org/wiki/File:Federated_learning_process_central_case.png)

Blogger og programmÃļr med specialer i Machine Learning og Deep Learning emner. Daniel hÃĨber at hjÃĶlpe andre med at bruge AI's kraft til sociale formÃĨl.