Vi introduserer Fortuna: Et bibliotek for usikkerhetskvantifisering PlatoBlockchain Data Intelligence. Vertikalt søk. Ai.

Vi introduserer Fortuna: Et bibliotek for kvantifisering av usikkerhet

Riktig estimering av prediktiv usikkerhet er grunnleggende i applikasjoner som involverer kritiske beslutninger. Usikkerhet kan brukes til å vurdere påliteligheten til modellspådommer, utløse menneskelig intervensjon eller bestemme om en modell trygt kan utplasseres i naturen.

Vi introduserer Formue, et åpen kildekode-bibliotek for kvantifisering av usikkerhet. Fortuna tilbyr kalibreringsmetoder, for eksempel konform prediksjon, som kan brukes på alle trente nevrale nettverk for å oppnå kalibrerte usikkerhetsestimater. Biblioteket støtter videre en rekke Bayesianske inferensmetoder som kan brukes på dype nevrale nettverk skrevet i Flax. Biblioteket gjør det enkelt å kjøre benchmarks og vil gjøre det mulig for utøvere å bygge robuste og pålitelige AI-løsninger ved å dra nytte av avanserte usikkerhetskvantifiseringsteknikker.

Problemet med overtillit til dyp læring

Hvis du noen gang har sett på klassesannsynligheter returnert av en trenet dypnevrale nettverksklassifiserer, har du kanskje observert at sannsynligheten for en klasse var mye større enn de andre. Noe sånt som dette, for eksempel:

p = [0.0001, 0.0002, …, 0.9991, 0.0003, …, 0.0001]

Hvis dette er tilfellet for de fleste spådommene, kan modellen din være overmodig. For å evaluere gyldigheten av sannsynlighetene som returneres av klassifikatoren, kan vi sammenligne dem med den faktiske nøyaktigheten oppnådd over et holdout-datasett. Det er faktisk naturlig å anta at andelen korrekt klassifiserte datapunkter omtrentlig skal samsvare med den estimerte sannsynligheten for den predikerte klassen. Dette konseptet er kjent som kalibrering [Guo C. et al., 2017].

Dessverre er mange trente dype nevrale nettverk feilkalibrert, noe som betyr at den estimerte sannsynligheten for den predikerte klassen er mye høyere enn andelen korrekt klassifiserte inngangsdatapunkter. Klassifisereren er med andre ord overmodig.

Å være selvsikker kan være problematisk i praksis. En lege kan ikke bestille relevante tilleggstester, som et resultat av en oversikker sunn diagnose produsert av en AI. En selvkjørende bil kan bestemme seg for ikke å bremse fordi den trygt vurderte at objektet foran ikke var en person. En guvernør kan bestemme seg for å evakuere en by fordi sannsynligheten for en eminent naturkatastrofe estimert av en AI er for høy. I disse og mange andre applikasjoner er kalibrerte usikkerhetsestimater avgjørende for å vurdere påliteligheten til modellprediksjoner, falle tilbake til en menneskelig beslutningstaker eller bestemme om en modell kan distribueres trygt.

Fortuna: Et bibliotek for kvantifisering av usikkerhet

Det er mange publiserte teknikker for å enten estimere eller kalibrere usikkerheten til spådommer, for eksempel Bayesiansk slutning [Wilson AG, 2020], temperaturskalering [Guo C. et al., 2017], og konform prediksjon [Angelopoulos AN et al., 2022] metoder. Eksisterende verktøy og biblioteker for kvantifisering av usikkerhet har imidlertid et smalt omfang og tilbyr ikke en bredde av teknikker på ett enkelt sted. Dette resulterer i en betydelig overhead, som hindrer innføringen av usikkerhet i produksjonssystemer.

For å fylle dette gapet lanserer vi Fortuna, et bibliotek for usikkerhetskvantifisering som samler fremtredende metoder på tvers av litteraturen og gjør dem tilgjengelige for brukere med et standardisert og intuitivt grensesnitt.

Anta for eksempel at du har trenings-, kalibrerings- og testdatalastere tensorflow.Tensor format, nemlig train_data_loader, calib_data_loader og test_data_loader. Videre har du en dyp læringsmodell skrevet inn Flax, nemlig modell. Deretter kan du bruke Fortuna til å:

  1. passe en bakre fordeling;
  2. kalibrer modellutgangene;
  3. lage kalibrerte spådommer;
  4. estimerte usikkerhetsestimater;
  5. beregne evalueringsberegninger.

Følgende kode gjør alt dette for deg.

from fortuna.data import DataLoader
from fortuna.prob_model.classification import ProbClassifier
from fortuna.metric.classification import expected_calibration_error

# convert data loaders
train_data_loader = DataLoader.from_tensorflow_data_loader(train_data_loader)
calib_data_loader = DataLoader.from_tensorflow_data_loader(calib_data_loader)
test_data_loader = DataLoader.from_tensorflow_data_loader(test_data_loader)

# define and train a probabilistic model
prob_model = ProbClassifier(model=model)
train_status = prob_model.train(train_data_loader=train_data_loader, calib_data_loader=calib_data_loader)

# make predictions and estimate uncertainty
test_inputs_loader = test_data_loader.to_inputs_loader()
test_means = prob_model.predictive.mean(inputs_loader=test_inputs_loader)
test_modes = prob_model.predictive.mode(inputs_loader=test_inputs_loader, means=test_means)

# compute the expected calibration error and plot a reliability diagram
test_targets = test_data_loader.to_array_targets()
ece = expected_calibration_error(preds=test_modes, probs=test_means, targets=test_targets)

Koden ovenfor bruker flere standardvalg, inkludert SWAG [Maddox WJ et al., 2019] som en bakre inferensmetode, temperaturskalering [Guo C. et al., 2017] å kalibrere modellutgangene, og en standard Gaussisk tidligere distribusjon, samt konfigurasjonen av den bakre tilpasningen og kalibreringsprosessene. Du kan enkelt konfigurere alle disse komponentene, og du oppfordres sterkt til å gjøre det hvis du ser etter en spesifikk konfigurasjon eller hvis du vil sammenligne flere.

Bruksmodus

Fortuna tilbyr tre bruksmoduser: 1/ Starter fra Flax-modeller, 2 / Starter fra modellutganger, og 3/ Med utgangspunkt i usikkerhetsestimater. Rørledningene deres er avbildet i følgende figur, som hver starter fra et av de grønne panelene. Kodebiten ovenfor er et eksempel på bruk av Fortuna med utgangspunkt i Flax-modeller, som gjør det mulig å trene en modell ved å bruke Bayesianske slutningsprosedyrer. Alternativt kan du starte enten med modellutdata eller direkte fra dine egne usikkerhetsestimater. Begge disse sistnevnte modusene er rammeuavhengig og hjelpe deg med å få kalibrerte usikkerhetsestimater fra en trent modell.

1/ Med utgangspunkt i usikkerhetsestimater

Å starte fra usikkerhetsestimater har minimale kompatibilitetskrav, og det er det raskeste nivået av interaksjon med biblioteket. Denne bruksmodusen tilbyr konforme prediksjonsmetoder for både klassifisering og regresjon. Disse tar inn usikkerhetsestimater numpy.ndarray formatere og returnere strenge sett med spådommer som beholder et brukergitt sannsynlighetsnivå. I endimensjonale regresjonsoppgaver kan konforme sett betraktes som kalibrerte versjoner av konfidens eller troverdige intervaller.

Vær oppmerksom på at hvis usikkerhetsestimatene du oppgir i input er unøyaktige, kan konforme sett være store og ubrukelige. Av denne grunn, hvis søknaden din tillater det, bør du vurdere Starter fra modellutganger og Starter fra Flax-modeller bruksmodi beskrevet nedenfor.

2/ Starter fra modellutganger

Denne modusen forutsetter at du allerede har trent en modell i et eller annet rammeverk og kommer til Fortuna med modellutganger i numpy.ndarray format for hvert inndatapunkt. Denne bruksmodusen lar deg kalibrere modellutdataene dine, estimere usikkerhet, beregne beregninger og få konforme sett.

Sammenlignet med Med utgangspunkt i usikkerhetsestimater bruksmodus, Starter fra modellutganger gir bedre kontroll, siden den kan sørge for at usikkerhetsestimater er riktig kalibrert. Imidlertid, hvis modellen hadde blitt trent med klassiske metoder, kan den resulterende kvantifiseringen av modell (også kjent som epistemisk) usikkerhet være dårlig. For å dempe dette problemet, bør du vurdere Starter fra Flax-modeller bruksmodus.

3/ Starter fra Flax-modeller

Starter fra Flax-modeller har høyere kompatibilitetskrav enn Med utgangspunkt i usikkerhetsestimater og Starter fra modellutganger bruksmoduser, da det krever dyplæringsmodeller skrevet inn Flax. Det lar deg imidlertid erstatte standard modelltrening med skalerbare Bayesianske slutningsprosedyrer, som kan forbedre kvantifiseringen av prediktiv usikkerhet betydelig.

Bayesianske metoder fungerer ved å representere usikkerhet over hvilken løsning som er riktig, gitt begrenset informasjon, gjennom usikkerhet over modellparametere. Denne typen usikkerhet kalles "epistemisk" usikkerhet. Fordi nevrale nettverk kan representere mange forskjellige løsninger, som tilsvarer forskjellige innstillinger for deres parametere, kan Bayesianske metoder være spesielt effektive i dyp læring. Vi tilbyr mange skalerbare Bayesianske inferensprosedyrer, som ofte kan brukes til å gi usikkerhetsestimater, samt forbedret nøyaktighet og kalibrering, med praktisk talt ingen treningstidskostnader.

konklusjonen

Vi annonserte den generelle tilgjengeligheten av Fortuna, et bibliotek for usikkerhetskvantifisering i dyp læring. Fortuna samler fremtredende metoder på tvers av litteraturen, f.eks. konforme metoder, temperaturskalering og Bayesiansk inferens, og gjør dem tilgjengelige for brukere med et standardisert og intuitivt grensesnitt. For å komme i gang med Fortuna kan du konsultere følgende ressurser:

Prøv Fortuna ut, og fortell oss hva du synes! Du oppfordres til å bidra til biblioteket eller legge igjen forslag og bidrag – bare lag en utstedelse eller åpne en trekk forespørsel. På vår side vil vi fortsette å forbedre Fortuna, øke dekningen av kvantifiseringsmetoder for usikkerhet og legge til flere eksempler som viser nytten i flere scenarier.


Om forfatterne

Vi introduserer Fortuna: Et bibliotek for usikkerhetskvantifisering PlatoBlockchain Data Intelligence. Vertikalt søk. Ai.

 

Gianluca Detommaso er en Applied Scientist ved AWS. Han jobber for tiden med usikkerhetskvantifisering i dyp læring. På fritiden liker Gianluca å trene sport, spise god mat og lære nye ferdigheter.

Vi introduserer Fortuna: Et bibliotek for usikkerhetskvantifisering PlatoBlockchain Data Intelligence. Vertikalt søk. Ai.Alberto Gasparin er en Applied Scientist i Amazon Community Shopping siden juli 2021. Hans interesser inkluderer naturlig språkbehandling, informasjonsinnhenting og usikkerhetskvantifisering. Han er en mat- og vinentusiast.

Vi introduserer Fortuna: Et bibliotek for usikkerhetskvantifisering PlatoBlockchain Data Intelligence. Vertikalt søk. Ai.Michele Donini er en Sr Applied Scientist ved AWS. Han leder et team av forskere som jobber med ansvarlig kunstig intelligens, og hans forskningsinteresser er Algoritmisk rettferdighet og forklarlig maskinlæring.

Vi introduserer Fortuna: Et bibliotek for usikkerhetskvantifisering PlatoBlockchain Data Intelligence. Vertikalt søk. Ai.Matthias Seeger er Principal Applied Scientist ved AWS.

Vi introduserer Fortuna: Et bibliotek for usikkerhetskvantifisering PlatoBlockchain Data Intelligence. Vertikalt søk. Ai.Cedric Archambeau er hovedforsker ved AWS og stipendiat ved European Lab for Learning and Intelligent Systems.

Vi introduserer Fortuna: Et bibliotek for usikkerhetskvantifisering PlatoBlockchain Data Intelligence. Vertikalt søk. Ai.Andrew Gordon Wilson er førsteamanuensis ved Courant Institute of Mathematical Sciences og Center for Data Science ved New York University, og Amazon Visiting Academic ved AWS. Han er spesielt engasjert i å bygge metoder for Bayesiansk og probabilistisk dyp læring, skalerbare Gaussiske prosesser, Bayesiansk optimalisering og fysikkinspirert maskinlæring.

Tidstempel:

Mer fra AWS maskinlæring