Að nota djúpt nám við raunveruleg vandamál

3 kennslustundir af starfi okkar hjá Merantix

Uppgangur gervigreindar undanfarin ár byggir á velgengni djúps náms. Þrír helstu ökumenn ollu bylting (djúps) taugakerfisnetanna: framboð á miklu magni af þjálfunargögnum, öflugum tölvuvirkjum innviðum og framförum í fræðimönnum. Þar með byrja djúpt námskerfi ekki aðeins betri en klassískar aðferðir, heldur einnig mannleg viðmið í ýmsum verkefnum eins og myndaflokkun eða andlitsþekking. Þetta skapar möguleika margra truflandi nýrra fyrirtækja sem nýta sér djúpt nám til að leysa raunveruleg vandamál.

Hjá Merantix, sem byggir á Berlín, vinnum við þessi nýju viðskiptatilfelli í ýmsum atvinnugreinum (nú bifreiða-, heilsu-, fjármála- og auglýsingagerð).

Fræðimaður er oft frábrugðinn hinum raunverulega heimi (heimild: mimiandeunice.com).

Það er auðveldara en nokkru sinni áður að þjálfa taugakerfi. Hins vegar er það sjaldan þannig að þú getur bara tekið kóða úr kennsluforritum og látið það virka beint fyrir umsókn þína. Athyglisvert er að mörg mikilvægustu klipin eru varla rædd í fræðiritum en um leið brýnt að framleiða vöruna þína.

Það getur verið sóðalegt að nota djúpt nám í raunverulegum vandamálum (heimild: pinsdaddy.com).

Þess vegna hélt ég að það væri gagnlegt fyrir annað fólk sem hyggst nota djúpt nám í viðskiptum sínum til að skilja sum þessara klipa og bragða.

Í þessari bloggfærslu vil ég deila þremur lykilnámum, sem hjálpuðu okkur hjá Merantix þegar við notuðum djúpt nám í raunverulegum vandamálum:

  • Nám I: gildi forþjálfunar
  • Nám II: varnir við dreifingu raunverulegra merkja
  • Nám III: skilning á svörtum kassamódelum

Smá fyrirvari:

  • Þetta er ekki tæmandi listi og það eru mörg önnur mikilvæg klip.
  • Flestar þessir lærdómar eiga ekki aðeins við um djúpt nám heldur einnig aðrar reiknirit á vélanámi.
  • Allar fræðslur eru iðnaðarsinnar.
  • Flestar hugmyndir í færslunni vísa til námserfiðleika undir eftirliti.

Þessi færsla er byggð á ræðum mínum sem ég hélt 10. maí á Berlin.AI fundinum (glærurnar eru hér).

Nám I: gildi forþjálfunar

Í fræðilegum heimi vélanáms er lítil áhersla lögð á að afla gagnapakka. Í staðinn er það jafnvel hið gagnstæða: til að bera saman djúpt námstækni við aðrar aðferðir og tryggja að ein aðferð gangi betur en aðrar, er staðlað aðferðin að mæla árangur á stöðluðu gagnapakka með sömu matsaðferðum. Í raunverulegum atburðarásum snýst það hins vegar minna um að sýna að nýja reikniritinn þinn kreistir 1% aukningu í afköstum miðað við aðra aðferð. Í staðinn snýst þetta um að byggja upp öflugt kerfi sem leysir nauðsynleg verkefni með nægilegri nákvæmni. Eins og fyrir öll vélanámskerfi þarf þetta merkt þjálfun sem reikniritið getur lært af.

Fyrir mörg vandamál í heiminum er því miður frekar dýrt að fá vel merkt þjálfunargögn. Til að útfæra þetta mál skulum við skoða tvö mál:

  1. Læknisjón: Ef við viljum byggja upp kerfi sem finnur eitla í mannslíkamanum í tölvusneiðmyndum (CT), þurfum við athugasemdir þar sem eitlar eru merktir. Þetta er frekar tímafrekt verkefni þar sem myndirnar eru í þrívídd og það þarf að þekkja mjög lítil mannvirki. Miðað við að geislalæknir þénar 100 $ / klst. Og getur vandlega skýrt 4 myndir á klukkustund þýðir það að við erum með 25 $ á mynd eða 250.000 $ fyrir 10000 merktar myndir. Með hliðsjón af því að við krefjumst þess að nokkrir læknar merki sömu mynd til að tryggja nálægt 100% réttmæti greiningar, að fá gagnapakka fyrir tiltekið læknisverkefni myndi auðveldlega fara yfir þær 250.000 $.
  2. Lánshæfiseinkunn: Ef við viljum byggja upp kerfi sem tekur ákvarðanir um lánstraust, verðum við að vita hverjir eru líklegir til að vanræksla svo við getum þjálfað vélanámskerfi til að þekkja þær fyrirfram. Því miður, þú veist aðeins með vissu hvort einhver vanskil þegar það gerist. Þannig væri barnaleg stefna að veita lán að segja 10k $ til allra. Hins vegar þýðir þetta að hver einstaklingur sem vanskil kostar okkur 10k $. Þetta setur mjög dýra verðmiða á hvert merkt datapoint.

Augljóslega eru til bragðarefur til að lækka þennan kostnað, en skilaboðin í heild eru þau að það getur verið dýrt að fá merkt gögn fyrir raunveruleg vandamál.

Hvernig getum við sigrast á þessum vanda?

Forþjálfun

Forþjálfun hjálpar (heimild: massivejoes.com).

Grunnhugmyndin við forþjálfun er sú að við þjálfum fyrst taugakerfi (eða annan vélalærdómsrit) á ódýru og stóru gagnasafni á skyldu léni eða hávaðasömum gögnum á sama léni. Jafnvel þó að þetta leysi ekki upprunalega vandamálið beint mun það gefa taugakerfinu grófa hugmynd um hvernig spávandamál þitt lítur út. Nú, í öðru skrefi, eru færibreytur taugakerfisins fínstilltar enn frekar á miklu minni og dýrari gagnapakka um vandamálið sem þú ert að reyna að leysa. Þessi tveggja þrepa aðferð er sýnd á myndinni hér að neðan.

Þegar erfitt er að fá þjálfunargögn: fyrst að þjálfa taugakerfið á stóru og ódýru gagnapakka á skyldu léni; í öðru lagi, fínstilla það á dýru vel merktu gagnapakka. Þetta mun leiða til frammistöðuaukningar miðað við bara þjálfun á litla gagnapakkanum.

Við fínstillingu gæti fjöldi flokka breyst: fólk forþjálfar oft taugakerfi á gagnapakka eins og ImageNet með 1000 flokkum og síðan fínstilla það að sérstökum vanda þeirra sem líklega hefur mismunandi fjölda flokka. Þetta þýðir að endurtaka þarf síðasta lagið. Þá er námshraðinn oft stilltur aðeins hærra á síðasta laginu þar sem það þarf að læra frá grunni en fyrri lögin eru þjálfuð með lægra námshlutfall. Fyrir suma gagnapakka eins og ImageNet eru aðgerðirnar (síðasta fullkomlega tengda lagið) sem lært er svo samheitalyf að hægt er að taka þær úr hillunni og nota þær beint við annað vandamál varðandi tölvusjón.

Hvernig fáum við gögn fyrir forþjálfun?

Heimildir gagna fyrir forþjálfun

  1. Forþjálfaðir gerðir: það er til fullt af þjálfuðum gerðum á vefnum. Fyrsta leiðin til að benda á eru svokölluð Model Zoos. Þetta eru vefsíður sem innihalda safn af ýmsum þjálfuðum gerðum af fræðimönnum, fyrirtækjum og áhugamönnum um djúpt nám. Sjáðu hér, hér eða hér.
  2. Opinber gagnasöfn: það eru til mörg gagnapakkar á netinu. Svo ekki eyða tíma í að safna gagnapakkanum sjálfum, heldur athugaðu frekar hvort það sé þegar til eitthvað sem er til staðar sem gæti hjálpað til við að leysa tiltekna vandamálið sem þú ert að vinna í. Sjáðu hér, hér eða hér.
  3. Gagnaskrið: ef það er hvorki til opinber fyrirfram þjálfuð líkan né gagnapakkur gæti verið ósvífinn leið til að búa til gagnapakka án þess að merkja það með höndunum. Þú getur smíðað svokallaðan skrið sem safnar þeim sjálfkrafa frá tilteknum vefsíðum. Þannig býrðu til nýtt gagnapakk.
Heimildir gagna fyrir forþjálfun.

Veikt merkt gögn

Þegar við fínstilla nákvæmlega merkt gögn er mögulegt að forþjálfa svokölluð veikmerkt gögn. Með þessu er átt við gögn sem merkimiðar eru ekki í öllum tilvikum réttir (þ.e. 90% merkimiðanna gætu verið réttir og 10% rangir). Kosturinn er sá að oft er hægt að fá gögn af þessu tagi án þess að nokkur maður taki þátt í merkingum en sjálfkrafa. Þetta gerir þessi gögn tiltölulega ódýr miðað við gögn þar sem maður þarf að merkja hverja einustu mynd. Til að gefa dæmi: á doktorsprófi mínu skreið ég gagnapakka með 500k andlitsmyndum frá Wikipedia og IMDb. Við sameinum fæðingardag einstaklings á prófílnum og hvaða vísbending sem er í myndatexta myndanna þegar hún var tekin. Þannig getum við úthlutað áætlaðri aldri til hverrar myndar. Athugaðu að í sumum tilvikum gæti árið í myndatexta hér að neðan myndin hafa verið röng eða á myndinni gæti sýnt nokkra einstaklinga og andlitsskynjari valið rangt andlit. Þannig getum við ekki ábyrgst að aldursmerkið sé í öllum tilvikum rétt. Engu að síður sýndum við að forþjálfun á þessu illa merktu gagnapakka hjálpaði til við að bæta árangur á móti bara þjálfun á nákvæmlega merktu smærri gagnapakka.

Svipaða röksemdafærslu er hægt að beita á læknisfræðilega sjónvandamálið þar sem þess er krafist að nokkrir læknar hafi sjálfstætt merkt sömu mynd til að vera nálægt 100% vissir um að merkingin sé rétt. Þetta er gagnapakkinn til að fínstilla. Að auki er hægt að safna stærra gagnapakka með veikum merkimiðum sem aðeins einn einstaklingur hafði athugasemdir við. Þar með getum við dregið úr heildarkostnaði við merkingar og samt gengið úr skugga um að taugakerfið hefur verið þjálfað í fjölbreyttu myndasafni.

Í stuttu máli þýðir að auka frammistöðu þýðir ekki endilega að þú þurfir merkingar á mönnum sem eru oft dýrar en þú gætir verið fær um að fá merkt gagnapakka ókeypis eða með verulega lægri kostnaði.

Nám II: varnir við dreifingu raunverulegra merkja

Dreifingar frá raunverulegum heimi (heimild: r4risk.com.au).

Nú þegar við höfum aflað gagna bæði fyrir for- og fínstillingu getum við haldið áfram og byrjað að þjálfa taugakerfi okkar. Hér kemur annar stór munur milli fræðimanna og raunveruleikans.

Í fræðimönnum eru gagnapakkarnir að mestu í jafnvægi. Það þýðir að fyrir flokka vandamál eru yfirleitt jafn mörg sýni í hverjum flokki. Hér að neðan finnur þú tvö dæmi: MNIST er mjög þekkt gagnasafn handskrifaðra tölustafa sem innihalda um það bil jafn mörg sýnishorn af hverjum tölustaf. Matur 101 er annað dæmi um fræðilegan gagnapakka sem inniheldur nákvæmlega 1000 myndir af hverjum 101 matarflokki.

MNIST og Food101 eru bæði í jafnvægi gagnapakka.

Ójafnvægis dreifing merkimiða

Aftur vil ég myndskreyta vandamálið með því að leggja áherslu á tvö raunveruleg dæmi:

  1. Læknisjón: þjálfunargögn fyrir læknisfræðilega myndgreiningu eru mjög skekkt. Meirihluti sjúklinganna er heilbrigður en aðeins lítið brot sjúklinganna þjáist af ákveðnum sjúkdómi.
  2. Lánshæfiseinkunn: reyndar skilar meirihluti viðskiptavina láni á meðan aðeins 1-2% fólks eru vanskil.
Ójafnvægi raunverulegan merkimiða dreifingu.

Eins og sést hér að ofan er dreifing merkimiða mjög skekkt í þessum tveimur tilvikum. Þetta er dæmigert fyrir flest raunveruleg forrit. Reyndar er það mjög sjaldgæft að það séu jafn mörg sýnishorn af hverjum flokki.

Ójafnvægi kostnaður við ranga flokkun

Því miður verður það enn verra: í fræðilegum gagnapökkum er kostnaðurinn við ranga flokkun venjulega sá sami fyrir hvern flokk. Þetta er aftur mjög mismunandi í mörgum raunverulegum heimum:

  1. Læknisjón: að greina einhvern sem veikan sem er heilbrigður er ekki slæmt ef læknirinn tvisvar athugar og gerir sér þá grein fyrir því að viðkomandi er í raun heilbrigður. Hins vegar er mjög hættulegt að bera kennsl á sjúkling sem er veikur og sleppa honum síðan án meðferðar.
  2. Lánshæfiseinkunn: hafna láni fyrir einhvern sem hefði greitt til baka er ekki slæmt, þar sem það þýðir að þú myndir aðeins missa vextina. Það er hins vegar mjög dýrt að gefa einhverjum sem vanskil er lán þar sem þú verður að standa straum af kostnaði fyrir allt lánið.

Þetta er myndskreytt á myndinni hér að neðan.

Ójafnvægi kostnaður við ranga flokkun fyrir raunverulegan heim.

Hvernig á að takast á við þetta mál?

Eftir að hafa gert okkur grein fyrir því að flokkarnir eru oft ekki í jafnvægi og kostnaðurinn við misflokkun er hvorugt, verðum við að koma með tækni til að takast á við það. Bókmenntirnar sem fjalla um þetta efni eru frekar takmarkaðar og manni finnst aðallega bloggfærslur og Stack Overflow spurningar snerta nokkrar af hugmyndunum.

Athugaðu að bæði ójafnvægi flokkarnir og kostnaðurinn við misflokkun eru mjög skyldir, þar sem það þýðir að fyrir sum sýnanna höfum við ekki aðeins litla þjálfunargögn, heldur er það enn dýrara að gera mistök.

Ég flokkaði aðferðirnar sem hjálpa til við að gera líkan okkar sérstaklega góð í að flokka þessi fágætu dæmi í fjóra flokka:

1. Fleiri gögn

Augljós nálgun er að reyna að safna fleiri gögnum frá sjaldgæfum flokkum. Að því er varðar læknisýnidæmið þýðir þetta að við reynum að einbeita okkur að því að safna myndum af sjúklingum sem eru með ákveðinn sjúkdóm sem við reynum að greina. Ef það er ekki mögulegt vegna þess að það er of dýrt, gætu verið aðrar leiðir til að afla þjálfunargagna, eins og getið er um í fyrri hlutanum. Athugaðu að þú verður að vera varkár þegar þú stillir dreifingu þjálfunarmerkja, þar sem þetta hefur áhrif á það hvernig líkanið spáir í ályktun: ef þú fjölgar veikum sjúklingum í þjálfunarsettinu mun líkanið einnig spá fyrir um veikindi meira oft.

Söfnun fleiri gagna um sjaldgæfa flokka. Verið varkár þegar dreifing merkimiða við æfingar og ályktanir passar ekki saman.

2. Breyta merkingum

Ef þú getur ekki fengið fleiri gögn um sjaldgæfa flokka er önnur aðferð að endurskoða flokkunarfræði. Fyrir hagnýta notkun gæti ekki verið þörf á að greina á milli sjúkdóms A eða B svo framarlega sem þú viðurkennir að það er annar hvor tveggja. Í því tilfelli geturðu bara tekið þátt í tveimur flokkum. Annaðhvort þegar á æfingu til að einfalda þjálfunarferlið, eða við ályktun, sem þýðir að þú refsar ekki ef sjúkdómur A eða B ruglast.

Sameining tveggja eða fleiri flokka við þjálfun eða mat getur einfaldað vandamálið.

3. Sýnataka

Ef þú getur hvorki fengið fleiri gögn né breytt merkingum þýðir þetta að þú þarft að vinna með frumgögnin. Hvernig geturðu samt tryggt að líkanið verði sérstaklega gott í fágætu flokkunum? Þú breytir bara því hvernig reikniritið sér dæmin við þjálfun. Venjulega eru sýni bara sýni einsleit. Þetta þýðir að reikniritið sér hvert dæmið jafn líklegt við þjálfun.

Það eru nokkrar mismunandi sýnatökuaðferðir sem hjálpa til við að bæta afköst merkisins fyrir einhvern sjaldgæfan flokk.

  • Hunsa. Að hunsa nokkur sýnishorn af tíðari bekknum er líklega einfaldasta aðferðin. Þetta er hægt að gera allt að því stigi þar sem (u.þ.b.) eru jafn mörg sýnishorn úr hverjum flokki.
  • Of- eða undirprentun. Yfirsýnataka þýðir að sýni úr sjaldgæfum flokki eru sýnd reiknirit með hærri tíðni en undirsýnataka vísar til hins gagnstæða: sýnin úr tíðari flokknum eru sýnd minna. Frá sjónarhóli reikniritsins leiða báðar aðferðirnar til sömu niðurstaðna. Kosturinn við þessa tækni miðað við fyrri er að engin sýni eru hunsuð.
  • Neikvæð námuvinnsla. Þriðji hópur sýnatökuaðferða er aðeins flóknari en örugglega sá öflugasti. Í staðinn fyrir of- eða undirprófun veljum við sýnin viljandi. Þó að við höfum miklu fleiri sýni úr tíðum bekknum er okkur mest umhugað um erfiðustu sýnin, þ.e. sýnin sem eru misflokkuð með mestu líkurnar. Þannig getum við metið líkanið reglulega meðan á æfingu stendur og kannað sýnin til að bera kennsl á þau sem eru misflokkuð líklegri. Þetta gerir okkur kleift að velja skynsamlega sýnin sem sýnd eru reikniritinu oftar.

4. Vega tapið

Með því að beita aðferðum 1–3 sem lýst er í þessum kafla höfum við gert allt að gögnum okkar hvað varðar að bæta bekkjardreifingu. Þess vegna getum við nú beint áherslum í átt að reikniritinu sjálfu. Til allrar hamingju eru til aðferðir sem hægt er að beita á æfingum til að vekja meiri athygli á sjaldgæfum flokkum. Mjög bein leið er að auka þyngd tap á sýnum úr sjaldgæfum flokkum.

Tap af sjaldgæfum flokkunum er vegið meira.

Nám III: skilning á svörtum kassamódelum

Svartur kassi (heimild: The Simpsons).

Eins og áður segir í kaflanum um forþjálfun er mikilvægasta markmið akademíunnar að ná eða bera árangur af nýjustu listum, sama hvernig líkanið er. Þegar þú vinnur að raunverulegum forritum er það oft ekki nóg að hanna bara líkan sem skilar góðum árangri.

Þess í stað er mikilvægt að geta það

  • skilja hvers vegna og hvernig líkan getur gert rangar spár,
  • gefðu innsæi hvers vegna líkan okkar getur skilað betri árangri en nokkur fyrri lausn,
  • vertu viss um að ekki sé hægt að plata líkanið.

Áður en djúpt taugakerfi rann upp voru tiltölulega auðvelt að rökstyðja flestar gerðir. Hugleiddu eftirfarandi:

  • Línulíkön: línuleg flokkun eða aðhvarf veita verðmæt bein tengsl milli hverrar aðgerðar og spá. Þetta gerir það tiltölulega einfalt að rökræða um ákvörðunarferli líkansins.
  • Ákvörðunartré: fegurðin við ákvörðunartré liggur í því að maður getur bara fylgt eftir trénu til að skilja hvernig ákvörðunin var mynduð. Almennt þekja efstu hnúður mikilvægustu aðgerðirnar. Það verður aðeins erfiðara þegar talað er um tilviljanakennda ákvörðunarskóga, engu að síður gerir trjábyggingin tiltölulega góð rök.

Því miður er miklu erfiðara að skilja ákvörðunarferli djúps taugakerfa. Þau eru mjög ólínuleg og geta auðveldlega haft meira en 100 milljónir breytur. Þetta gerir það að verkum að erfitt er að koma með einfalda skýringu á því hvernig ákvörðun er mótuð.

Samanburður á klassískum vélanámsaðferðum samanborið við djúpt nám.

Þetta verður mikilvæg áskorun í raunverulegum heimi þar sem djúpt taugakerfi fer hratt inn á mörg svið lífs okkar: sjálfstæðan akstur, læknisfræðilega greiningu, fjárhagslega ákvarðanatöku og margt fleira. Flest þessara forrita leiða beint til niðurstaðna sem hafa veruleg áhrif á líf okkar, eignir eða viðkvæmar upplýsingar. Þess vegna geta rangar ákvarðanir með reiknirit skaðað fólk eða valdið fjárhagslegu tjóni.

Tesla slysið (til vinstri) og grein um AI að snúa kynþáttahatara (til hægri).

Því miður gátu þessi mistök ekki aðeins gerst fyrir slysni heldur einnig verið af völdum árásarmanna. Til að sýna fram á mikilvægi þessa efnis hafa rannsóknir sýnt að með því að bæta einfaldlega handahófi við venjulega mynd er hægt að breyta niðurstöðu flokkunar djúps taugakerfis (vinstri mynd) á meðan myndin virðist vera óbreytt gagnvart hvaða manneskju sem er. Eins er mögulegt að passa alveg gerviljósmyndir og samt fá mjög örugga spá (rétt mynd).

Að bæta litla handahófi við mynd (vinstri) eða jafnvel alveg gervilegar myndir (til hægri) getur auðveldlega blekkt taugakerfi.

Í raunveruleikanum, almennt, viltu skilja ástæðuna fyrir því að kerfið þitt hegðar sér ekki eins og það ætti að gera.

Við hjá Merantix tökum við þessum vandamálum mjög alvarlega og teljum að þau muni verða enn mikilvægari í framtíðinni þar sem dýpri námskerfi verða notuð í mikilvægum raunverulegum heimi.

Nýlega opnum við okkur djúpan lærdóm til að koma fram sjón sem kallast Picasso (Medium Post, Github). Þegar við vinnum með margs konar taugakerfisarkitektúr, þróuðum við Picasso til að gera það auðvelt að sjá staðlaða myndrænni sýnishorn af öllum gerðum okkar í ýmsum lóðréttum okkar: þar með talin forrit í bifreiðum, td til að skilja hvenær vegsniði eða hlutgreining mistakast; auglýsingu, svo sem að skilja hvers vegna ákveðin auglýsing fær hærra smellihlutfall; og læknisfræðileg myndgreining, svo sem að greina hvaða svæði í CT eða röntgenmynd innihalda óreglu. Hér að neðan hef ég tekið með kynningu á opnum uppsprettu Picasso myndritara.

Kynningu Picasso visualizer.

Niðurstaða

Í þessari bloggfærslu deildi ég þremur lærdómum sem eru mikilvægar hjá Merantix þegar við notum djúpt nám í raunverulegum vandamálum. Ég vona að þessar hugmyndir séu gagnlegar fyrir annað fólk sem hyggst nota djúpt nám í viðskiptum sínum. Eins og minnst var á í byrjun eru margir fleiri klip, brellur og lærdómur (stigmótandi líkön, snjall aukning, skynsamlegar matsmælingar, byggja endurnýtanlegar þjálfunarleiðslur, skilvirkar ályktanir og draga úr líkanastærð o.s.frv.) Þegar unnið er með djúpt nám fyrir raunverulegan heim umsóknir. Vinsamlegast ekki hika við ef þú vilt ræða nokkrar klip eða sérstaka notkun djúps náms.

Viðurkenningar

  • Jonas fyrir að hjálpa til við myndskreytingarnar.
  • Hanns, Bosse, Matthias, Jonas, Stefan, Katja og Adrian fyrir að fara yfir og fjalla um þessa grein.