Esittelyssä Fortuna: Kirjasto epävarmuuden kvantifiointiin PlatoBlockchain Data Intelligence. Pystysuuntainen haku. Ai.

Esittelyssä Fortuna: Kirjasto epävarmuuden kvantifiointiin

Ennakoivan epävarmuuden asianmukainen arviointi on olennaista sovelluksissa, joihin liittyy kriittisiä päätöksiä. Epävarmuuden avulla voidaan arvioida malliennusteiden luotettavuutta, laukaista ihmisen puuttuminen tai päättää, voidaanko mallia turvallisesti ottaa käyttöön luonnossa.

Esittelemme Fortuna, avoimen lähdekoodin kirjasto epävarmuuden kvantifiointiin. Fortuna tarjoaa kalibrointimenetelmiä, kuten konformisen ennusteen, jota voidaan soveltaa mihin tahansa koulutettuun hermoverkkoon kalibroitujen epävarmuusestimaattien saamiseksi. Kirjasto tukee lisäksi useita Bayesin päättelymenetelmiä, joita voidaan soveltaa syvälle kirjoitettuihin hermoverkkoihin Pellava. Kirjasto tekee vertailuarvojen suorittamisesta helppoa ja antaa ammattilaisille mahdollisuuden rakentaa kestäviä ja luotettavia tekoälyratkaisuja hyödyntämällä kehittyneitä epävarmuuden kvantifiointitekniikoita.

Syväoppimisen liiallisen itseluottamuksen ongelma

Jos olet joskus tarkastellut koulutetun syvän neuroverkkoluokittajan palauttamia luokkatodennäköisyyksiä, olet saattanut huomata, että yhden luokan todennäköisyys oli paljon suurempi kuin muiden. Jotain tällaista esimerkiksi:

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

Jos näin on useimmissa ennusteissa, mallisi saattaa olla liian itsevarma. Luokittajan palauttamien todennäköisyyksien validiteetin arvioimiseksi voimme verrata niitä todelliseen tarkkuuteen, joka saavutetaan pidätystietojoukossa. Itse asiassa on luonnollista olettaa, että oikein luokiteltujen datapisteiden osuuden tulee suunnilleen vastata ennustetun luokan arvioitua todennäköisyyttä. Tämä käsite tunnetaan nimellä kalibrointi [Guo C. et ai., 2017].

Valitettavasti monet koulutetut syvät neuroverkot ovat väärin kalibroituja, mikä tarkoittaa, että ennustetun luokan arvioitu todennäköisyys on paljon suurempi kuin oikein luokiteltujen syötetietopisteiden osuus. Toisin sanoen luokittelija on liian itsevarma.

Liiallinen itseluottamus voi olla ongelmallista käytännössä. Lääkäri ei voi määrätä tarvittavia lisätutkimuksia tekoälyn tuottaman liian itsevarman terveen diagnoosin seurauksena. Itseajava auto voi päättää olla jarruttamatta, koska se arvioi varmuudella, ettei edessä ollut esine ollut henkilö. Kuvernööri voi päättää evakuoida kaupungin, koska tekoälyn arvioiman huomattavan luonnonkatastrofin todennäköisyys on liian korkea. Näissä ja monissa muissa sovelluksissa kalibroidut epävarmuusestimaatit ovat kriittisiä arvioitaessa malliennusteiden luotettavuutta, palata ihmisen päätöksentekijän käsiin tai päätettäessä, voidaanko malli ottaa käyttöön turvallisesti.

Fortuna: Kirjasto epävarmuuden kvantifiointiin

On olemassa monia julkaistuja tekniikoita ennusteiden epävarmuuden arvioimiseksi tai kalibroimiseksi, esim. Bayesin päättely [Wilson AG, 2020], lämpötilan skaalaus [Guo C. et ai., 2017], ja konforminen ennuste [Angelopoulos AN et al., 2022] menetelmiä. Nykyiset työkalut ja kirjastot epävarmuuden kvantifiointiin ovat kuitenkin kapeat, eivätkä ne tarjoa laajaa tekniikkaa yhdessä paikassa. Tästä aiheutuu merkittävä yleiskustannus, joka estää epävarmuuden omaksumisen tuotantojärjestelmiin.

Täyttääksemme tämän aukon lanseeraamme Fortunan, epävarmuuden kvantifiointikirjaston, joka kokoaa yhteen kirjallisuuden näkyvät menetelmät ja tuo ne käyttäjien saataville standardoidulla ja intuitiivisella käyttöliittymällä.

Oletetaan esimerkiksi, että sinulla on koulutus-, kalibrointi- ja testidatalataajia tensorflow.Tensor muodossa, nimittäin train_data_loader, calib_data_loader ja test_data_loader. Lisäksi sinulla on syvä oppimismalli kirjoitettuna Pellava, nimittäin malli. Sitten voit käyttää Fortunaa:

  1. sovi takajakaumaan;
  2. kalibroi mallin lähdöt;
  3. tehdä kalibroituja ennusteita;
  4. arvioida epävarmuusarviot;
  5. laskea arviointimittareita.

Seuraava koodi tekee kaiken tämän puolestasi.

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)

Yllä oleva koodi käyttää useita oletusvaihtoehtoja, mukaan lukien SWAG [Maddox WJ ym., 2019] posteriorisena päättelymenetelmänä lämpötilaskaalaus [Guo C. et ai., 2017] kalibroida mallin ulostulot ja standardi Gaussin ennakkojakauma sekä takaosan sovitus- ja kalibrointiprosessien konfiguraatio. Voit määrittää kaikki nämä komponentit helposti, ja sinua rohkaistaan ​​tekemään niin, jos etsit tiettyä kokoonpanoa tai jos haluat verrata useita.

Käyttötavat

Fortuna tarjoaa kolme käyttötilaa: 1/ Pellavamalleista alkaen, 2 / Alkaen mallin lähdöistäja 3/ Epävarmuusarvioista alkaen. Niiden putkistot on kuvattu seuraavassa kuvassa, kukin alkaen yhdestä vihreästä paneelista. Yllä oleva koodinpätkä on esimerkki Fortunan käyttämisestä Flax-malleista alkaen, mikä mahdollistaa mallin harjoittamisen Bayesin päättelymenetelmillä. Vaihtoehtoisesti voit aloittaa joko mallin tuloksista tai suoraan omista epävarmuusarvioistasi. Molemmat jälkimmäiset tilat ovat kehyksestä riippumaton ja auttaa sinua saamaan kalibroituja epävarmuusestimaatteja alkaen a koulutettu malli.

1/ Epävarmuusarvioista alkaen

Epävarmuusarvioista lähtöisin on minimaaliset yhteensopivuusvaatimukset, ja se on nopein vuorovaikutustaso kirjaston kanssa. Tämä käyttötila tarjoaa konformisia ennustusmenetelmiä sekä luokittelua että regressiota varten. Näissä otetaan huomioon epävarmuusarviot numpy.ndarray muotoa ja palauttaa tiukat ennustesarjat, jotka säilyttävät käyttäjän määrittämän todennäköisyystason. Yksiulotteisissa regressiotehtävissä konformisia joukkoja voidaan pitää luotettavuuden tai uskottavien intervallien kalibroituina versioina.

Muista, että jos syötteissä antamasi epävarmuusarviot ovat epätarkkoja, yhdenmukaiset joukot voivat olla suuria ja käyttökelvottomia. Tästä syystä, jos hakemuksesi sallii sen, harkitse Alkaen mallin lähdöistä ja Pellavamalleista alkaen alla kuvatut käyttötavat.

2/ Alkaen mallin lähdöistä

Tämä tila olettaa, että olet jo kouluttanut mallin jossain kehyksessä ja saavut Fortunaan mallitulosteiden kanssa numpy.ndarray muotoa kullekin tulodatapisteelle. Tämän käyttötilan avulla voit kalibroida mallin lähtöjä, arvioida epävarmuutta, laskea mittareita ja hankkia yhdenmukaisia ​​joukkoja.

Verrattuna Epävarmuusarvioista alkaen käyttötila, Alkaen mallin lähdöistä tarjoaa paremman hallinnan, koska se voi varmistaa, että epävarmuusarviot on kalibroitu asianmukaisesti. Jos mallia olisi kuitenkin koulutettu klassisilla menetelmillä, mallin (alias episteemisen) epävarmuuden kvantifiointi voi olla huono. Voit lieventää tätä ongelmaa harkitsemalla Pellavamalleista alkaen käyttötila.

3/ Pellavamalleista alkaen

Pellavamalleilla on korkeammat yhteensopivuusvaatimukset kuin mallilla Epävarmuusarvioista alkaen ja Alkaen mallin lähdöistä käyttötilat, koska se vaatii syvällisiä oppimismalleja Pellava. Sen avulla voit kuitenkin korvata vakiomallikoulutuksen skaalautuvilla Bayesin päättelymenetelmillä, mikä voi parantaa merkittävästi ennakoivan epävarmuuden kvantifiointia.

Bayesin menetelmät toimivat edustamalla epävarmuutta siitä, mikä ratkaisu on oikea, rajoitetun tiedon perusteella mallin parametrien epävarmuuden kautta. Tällaista epävarmuutta kutsutaan "episteemiseksi" epävarmaksi. Koska neuroverkot voivat edustaa monia erilaisia ​​ratkaisuja, jotka vastaavat niiden parametrien eri asetuksia, Bayesin menetelmät voivat olla erityisen tehokkaita syväoppimisessa. Tarjoamme monia skaalautuvia Bayesin päättelymenetelmiä, joita voidaan usein käyttää epävarmuusestimaattien sekä parannetun tarkkuuden ja kalibroinnin tuottamiseen käytännössä ilman koulutusaikaa.

Yhteenveto

Ilmoitimme Fortunan, syvän oppimisen epävarmuuden kvantifiointikirjaston, yleisestä saatavuudesta. Fortuna kokoaa yhteen kirjallisuudessa näkyvät menetelmät, kuten konformiset menetelmät, lämpötilaskaalauksen ja Bayesin päättelyn, ja tuo ne käyttäjien saataville standardoidulla ja intuitiivisella käyttöliittymällä. Voit aloittaa Fortunan käytön tutustumalla seuraaviin resursseihin:

Kokeile Fortunaa ja kerro meille mielipiteesi! Sinua kannustetaan osallistumaan kirjastoon tai jättämään ehdotuksiasi ja lahjoituksiasi – luo vain kysymys tai avaa a vedä pyyntö. Puolellamme jatkamme Fortunan parantamista, lisäämme sen kattavuutta epävarmuuden kvantifiointimenetelmissä ja lisäämme lisää esimerkkejä, jotka osoittavat sen hyödyllisyyden useissa skenaarioissa.


Tietoja kirjoittajista

Esittelyssä Fortuna: Kirjasto epävarmuuden kvantifiointiin PlatoBlockchain Data Intelligence. Pystysuuntainen haku. Ai.

 

Gianluca Detommaso on AWS:n soveltava tutkija. Tällä hetkellä hän työskentelee syväoppimisen epävarmuuden kvantifioinnin parissa. Vapaa-ajallaan Gianluca harrastaa urheilua, syö hyvää ruokaa ja oppii uusia taitoja.

Esittelyssä Fortuna: Kirjasto epävarmuuden kvantifiointiin PlatoBlockchain Data Intelligence. Pystysuuntainen haku. Ai.Alberto Gasparin on sovellustutkija Amazon Community Shoppingissa heinäkuusta 2021 lähtien. Hänen kiinnostuksen kohteitaan ovat luonnollisen kielen käsittely, tiedonhaku ja epävarmuuden kvantifiointi. Hän on ruoan ja viinin ystävä.

Esittelyssä Fortuna: Kirjasto epävarmuuden kvantifiointiin PlatoBlockchain Data Intelligence. Pystysuuntainen haku. Ai.Michele Donini on Sr Applied Scientist AWS:ssä. Hän johtaa vastuullisen tekoälyn parissa työskentelevää tutkijaryhmää, ja hänen tutkimusalueitaan ovat Algorithmic Fairness ja Explainable Machine Learning.

Esittelyssä Fortuna: Kirjasto epävarmuuden kvantifiointiin PlatoBlockchain Data Intelligence. Pystysuuntainen haku. Ai.Matthias Seeger on johtava sovellettu tutkija AWS:ssä.

Esittelyssä Fortuna: Kirjasto epävarmuuden kvantifiointiin PlatoBlockchain Data Intelligence. Pystysuuntainen haku. Ai.Cedric Archambeau on johtava soveltava tutkija AWS:ssä ja European Lab for Learning and Intelligent Systems -tutkija.

Esittelyssä Fortuna: Kirjasto epävarmuuden kvantifiointiin PlatoBlockchain Data Intelligence. Pystysuuntainen haku. Ai.Andrew Gordon Wilson on apulaisprofessori Courant Institute of Mathematical Sciences -instituutissa ja Data Science Centerissä New Yorkin yliopistossa ja Amazonin vieraileva akateemikko AWS:ssä. Hän on erityisen sitoutunut rakentamaan menetelmiä Bayesin ja todennäköisyyspohjaiseen syväoppimiseen, skaalautuviin Gaussin prosesseihin, Bayesin optimointiin ja fysiikan inspiroimaan koneoppimiseen.

Aikaleima:

Lisää aiheesta AWS-koneoppiminen