Kas masinõppemull on lõhkenud või on see uue koidiku algus?

Hiljuti vabastatud artikkel, mis näitab viimaste aastate head trendi masinõppes. Lühidalt: masinõppega alustavate ettevõtete arv on viimase kahe aasta jooksul järsult langenud.

Kas masinõppemull on lõhkenud või on see uue koidiku algus?
Noh. Vaatame teemasid "kas mull on lõhkenud", "kuidas edasi elada" ja räägime sellest, kust see vingerpuss üldse tuleb.

Kõigepealt räägime sellest, mis oli selle kõvera võimendaja. Kust ta tuli? Tõenäoliselt mäletavad nad kõike võit masinõpe 2012. aastal ImageNeti konkursil. Lõppude lõpuks on see esimene ülemaailmne sündmus! Kuid tegelikkuses see nii ei ole. Ja kõvera kasv algab veidi varem. Jagaksin selle mitmeks punktiks.

  1. 2008. aastal tekkis mõiste "suured andmed". Päris tooted algasid ilmuma aastast 2010. Suurandmed on otseselt seotud masinõppega. Ilma suurandmeteta on tol ajal eksisteerinud algoritmide stabiilne töö võimatu. Ja need ei ole närvivõrgud. Kuni 2012. aastani olid närvivõrgud marginaalse vähemuse pärusmaa. Kuid siis hakkasid tööle täiesti erinevad algoritmid, mis olid eksisteerinud aastaid või isegi aastakümneid: SVM(1963,1993, XNUMX), Juhuslik mets (1995) AdaBoost (2003),... Nende aastate startupid on seotud eelkõige struktureeritud andmete automaatse töötlemisega: kassaaparaadid, kasutajad, reklaam, palju muud.

    Selle esimese laine tuletis on raamistike komplekt, nagu XGBoost, CatBoost, LightGBM jne.

  2. Aastatel 2011-2012 konvolutsioonilised närvivõrgud võitis mitmeid pildituvastusvõistlusi. Nende tegelik kasutamine viibis mõnevõrra. Ma ütleks, et massiliselt sisukad startupid ja lahendused hakkasid tekkima 2014. aastal. Kulus kaks aastat, et seedida, et neuronid endiselt töötavad, luua mugavad raamistikud, mida saaks mõistliku aja jooksul paigaldada ja käivitada, töötada välja meetodid, mis stabiliseerivad ja kiirendavad lähenemisaega.

    Konvolutsioonivõrgud võimaldasid lahendada arvutinägemisprobleeme: kujutiste ja objektide klassifitseerimine pildil, objektide tuvastamine, objektide ja inimeste tuvastamine, pildi parandamine jne jne.

  3. 2015-2017. Korduvatel võrkudel või nende analoogidel (LSTM, GRU, TransformerNet jne) põhinevate algoritmide ja projektide buum. Ilmunud on hästitoimivad kõne tekstiks algoritmid ja masintõlkesüsteemid. Need põhinevad põhifunktsioonide eraldamiseks osaliselt konvolutsioonivõrkudel. Osaliselt tänu sellele, et õppisime koguma tõeliselt suuri ja häid andmekogusid.

Kas masinõppemull on lõhkenud või on see uue koidiku algus?

„Kas mull on lõhkenud? Kas hüpe on ülekuumenenud? Kas nad surid plokiahelana?”
Muidu! Homme lõpetab Siri teie telefoniga töötamise ja ülehomme Tesla ei tea, mis vahe on pöördel ja kängurul.

Närvivõrgud juba töötavad. Neid on kümnetes seadmetes. Need võimaldavad teil tõesti raha teenida, muuta turgu ja ümbritsevat maailma. Hype näeb välja veidi teistsugune:

Kas masinõppemull on lõhkenud või on see uue koidiku algus?

Lihtsalt närvivõrgud pole enam midagi uut. Jah, paljudel inimestel on suured ootused. Kuid suur osa ettevõtteid on õppinud neuroneid kasutama ja nende põhjal tooteid valmistama. Neuronid pakuvad uusi funktsioone, võimaldavad teil vähendada töökohti ja vähendada teenuste hinda:

  • Tootmisettevõtted integreerivad tootmisliini defektide analüüsimiseks algoritme.
  • Loomafarmid ostavad süsteeme lehmade kontrollimiseks.
  • Automaatsed kombainid.
  • Automatiseeritud kõnekeskused.
  • Filtrid SnapChatis. (noh, vähemalt midagi kasulikku!)

Kuid peamine ja mitte kõige ilmsem: "Uusi ideid enam pole või need ei too kohe kapitali." Närvivõrgud on lahendanud kümneid probleeme. Ja nad otsustavad veelgi rohkem. Kõik ilmselged ideed, mis eksisteerisid, andsid alust paljudele idufirmadele. Aga kõik, mis pinnal oli, oli juba kokku korjatud. Viimase kahe aasta jooksul ei ole mul tulnud ühtegi uut ideed närvivõrkude kasutamiseks. Mitte ühtegi uut lähenemist (noh, ok, GAN-idega on mõned probleemid).

Ja iga järgnev käivitamine on üha keerulisem. See ei nõua enam kahte meest, kes treenivad neuronit avatud andmete abil. See nõuab programmeerijaid, serverit, markerite meeskonda, kompleksset tuge jne.

Tänu sellele on idufirmasid vähem. Tootmist on aga rohkem. Kas on vaja lisada numbrituvastus? Turul on sadu vastava kogemusega spetsialiste. Võite kellegi palgata ja paari kuu pärast teeb teie töötaja süsteemi. Või osta valmis. Aga teha uut startupi?.. Hull!

Peate looma külastajate jälgimise süsteemi – milleks maksta hunniku litsentside eest, kui saate 3-4 kuuga ise teha, teritage seda oma ettevõtte jaoks.

Nüüd läbivad närvivõrgud sama teed, mida on läbinud kümned teised tehnoloogiad.

Kas mäletate, kuidas veebisaidi arendaja mõiste on alates 1995. aastast muutunud? Turg ei ole veel spetsialistidest küllastunud. Professionaale on väga vähe. Aga võin kihla vedada, et 5-10 aasta pärast pole Java programmeerija ja närvivõrgu arendaja vahel suurt vahet. Mõlemast spetsialistist jätkub turule.

Seal on lihtsalt probleemide klass, mida neuronid saavad lahendada. Tekkis ülesanne - palgake spetsialist.

"Mis järgmiseks? Kus on lubatud tehisintellekt?”

Aga siin on väike, kuid huvitav arusaamatus :)

Ilmselt täna olemasolev tehnoloogiapakk meid tehisintellekti juurde ei vii. Ideed ja nende uudsus on end suuresti ammendanud. Räägime sellest, mis hoiab praegust arengutaset.

Piirangud

Alustame isejuhtivate autodega. Näib selge, et tänapäeva tehnoloogiaga on võimalik teha täielikult autonoomseid autosid. Kuid mitme aasta pärast see juhtub, pole selge. Tesla usub, et see juhtub paari aasta pärast -


On palju teisigi spetsialistid, kes hindavad selleks 5-10 aastat.

Tõenäoliselt muutub minu arvates 15 aasta pärast linnade infrastruktuur ise selliselt, et autonoomsete autode tekkimine muutub vältimatuks ja saab selle jätkuks. Kuid seda ei saa pidada intelligentsuseks. Kaasaegne Tesla on andmete filtreerimise, otsimise ja ümberõppe väga keeruline torustik. Need on reeglid-reeglid-reeglid, andmete kogumine ja nende kohal olevad filtrid (siin siin Kirjutasin sellest veidi lähemalt või vaatasin see märgid).

Esimene probleem

Ja see on koht, kus me näeme esimene põhiprobleem. Suured andmed. Just sellest sai alguse praegune närvivõrkude ja masinõppe laine. Tänapäeval on millegi keeruka ja automaatse tegemiseks vaja palju andmeid. Mitte ainult palju, vaid väga-väga palju. Vajame nende kogumiseks, märgistamiseks ja kasutamiseks automatiseeritud algoritme. Soovime, et auto näeks veokeid päikese poole – esmalt tuleb neid piisaval hulgal kokku korjata. Tahame, et auto ei läheks hulluks pagasiruumi poltidega kinnitatud jalgrattaga - rohkem näidiseid.

Pealegi ei piisa ühest näitest. sadu? Tuhanded?

Kas masinõppemull on lõhkenud või on see uue koidiku algus?

Teine probleem

Teine probleem — visualiseerimine sellest, mida meie närvivõrk on aru saanud. See on väga mittetriviaalne ülesanne. Siiani on vähesed inimesed aru saanud, kuidas seda visualiseerida. Need artiklid on väga hiljutised, need on vaid mõned näited, isegi kui need on kauged:
Visualiseerimine kinnisidee tekstuuridega. See näitab hästi, millele neuron kipub kinni pidama + mida ta tajub lähteinfona.

Kas masinõppemull on lõhkenud või on see uue koidiku algus?
Visualiseerimine Tähelepanu kl tõlked. Tegelikult saab külgetõmmet sageli kasutada just selleks, et näidata, mis sellise võrgureaktsiooni põhjustas. Olen selliseid asju näinud nii silumise kui ka tootelahenduste puhul. Sellel teemal on palju artikleid. Kuid mida keerulisemad on andmed, seda raskem on aru saada, kuidas saavutada robustne visualiseerimine.

Kas masinõppemull on lõhkenud või on see uue koidiku algus?

Noh, jah, vana hea komplekt "vaata, mis võrgu sees on filtrid" Need pildid olid populaarsed 3-4 aastat tagasi, kuid kõik said kiiresti aru, et pildid on ilusad, kuid neil polnud erilist tähendust.

Kas masinõppemull on lõhkenud või on see uue koidiku algus?

Ma ei maininud kümneid muid vidinaid, meetodeid, häkkimisi ega uuringuid võrgu sisemuse kuvamise kohta. Kas need tööriistad töötavad? Kas need aitavad teil kiiresti aru saada, milles probleem on ja võrku siluda?... Kas saada viimasest protsendist? Noh, see on umbes sama:

Kas masinõppemull on lõhkenud või on see uue koidiku algus?

Kaggle'is saate vaadata kõiki võistlusi. Ja kirjeldus, kuidas inimesed lõplikke otsuseid teevad. Ladusime 100-500-800 ühikut mudeleid ja see toimis!

Ma muidugi liialdan. Kuid need lähenemisviisid ei anna kiireid ja otseseid vastuseid.

Omades piisavalt kogemusi ja uurinud erinevaid võimalusi, saate anda hinnangu, miks teie süsteem sellise otsuse tegi. Kuid süsteemi käitumist on raske parandada. Paigaldage kark, liigutage läve, lisage andmestik, võtke teine ​​taustvõrk.

Kolmas probleem

Kolmas põhiprobleem — ruudud õpetavad statistikat, mitte loogikat. Statistiliselt see nägu:

Kas masinõppemull on lõhkenud või on see uue koidiku algus?

Loogiliselt võttes pole see väga sarnane. Närvivõrgud ei õpi midagi keerulist, kui nad pole selleks sunnitud. Nad õpetavad alati võimalikult lihtsaid märke. Kas sul on silmad, nina, pea? Nii et see on nägu! Või too näide, kus silmad ei tähenda nägu. Ja jälle – miljonid näited.

Allosas on palju ruumi

Ütleksin, et just need kolm globaalset probleemi piiravad praegu närvivõrkude ja masinõppe arengut. Ja seal, kus need probleemid ei piiranud, kasutatakse seda juba aktiivselt.

See on lõpp? Kas närvivõrgud on üleval?

Tundmatu. Aga muidugi kõik loodavad, et mitte.

Eespool esile tõstetud põhiprobleemide lahendamiseks on palju lähenemisviise ja suundi. Kuid siiani pole ükski neist lähenemistest võimaldanud teha midagi põhimõtteliselt uut, lahendada midagi, mida pole veel lahendatud. Seni on kõik põhiprojektid tehtud stabiilsete lähenemisviiside alusel (Tesla) või jäävad instituutide või ettevõtete testprojektideks (Google Brain, OpenAI).

Jämedalt öeldes on peamine suund sisendandmete kõrgetasemelise esituse loomine. Teatud mõttes "mälu". Lihtsaim näide mälust on mitmesugused "kinnitus" - kujutise esitused. No näiteks kõik näotuvastussüsteemid. Võrk õpib saama näolt stabiilse kujutise, mis ei sõltu pöörlemisest, valgustusest ega eraldusvõimest. Põhimõtteliselt minimeerib võrk mõõdiku "erinevad näod on kaugel" ja "identsed näod on lähedal".

Kas masinõppemull on lõhkenud või on see uue koidiku algus?

Sellise koolituse jaoks on vaja kümneid ja sadu tuhandeid näiteid. Kuid tulemus kannab mõningaid "Ühekordse õppimise" alge. Nüüd pole inimese meelespidamiseks vaja sadu nägusid. Ainult üks nägu ja see on kõik, mida me oleme uurime välja!
On ainult üks probleem... Ruudustik suudab õppida vaid üsna lihtsaid objekte. Püüdes eristada mitte nägusid, vaid näiteks “inimesi riiete järgi” (ülesanne Taastuvastus) – kvaliteet langeb mitme suurusjärgu võrra. Ja võrk ei suuda enam õppida üsna ilmseid nurkade muutusi.

Ja miljonitest näidetest õppimine on ka omamoodi lõbus.

Tööd on selleks, et valimisi oluliselt vähendada. Näiteks võib kohe meenutada üht esimestest töödest OneShot õpe Google'ilt:

Kas masinõppemull on lõhkenud või on see uue koidiku algus?

Selliseid töid on näiteks palju 1 või 2 või 3.

On üks miinus - tavaliselt töötab treenimine mõne lihtsa MNIST-i näite puhul hästi. Ja kui liikuda edasi keerukate ülesannete juurde, on vaja suurt andmebaasi, objektide mudelit või mingit maagiat.
Üldiselt on One-Shot koolituse kallal töötamine väga huvitav teema. Leiad palju ideid. Kuid enamasti segavad kaks minu loetletud probleemi (suure andmestiku eelkoolitus / keeruliste andmete ebastabiilsus) õppimist suuresti.

Teisest küljest lähenevad GAN-id – generatiivsed võistlevad võrgustikud – manustamise teemale. Tõenäoliselt olete sellel teemal lugenud Habré kohta palju artikleid. (1, 2,3)
GAN-i eripäraks on mingi sisemise olekuruumi moodustamine (sisuliselt seesama Embeding), mis võimaldab joonistada pilti. See võib olla näod, võib olla tegevus.

Kas masinõppemull on lõhkenud või on see uue koidiku algus?

GAN-i probleem seisneb selles, et mida keerulisem on loodud objekt, seda keerulisem on seda "generaator-diskriminaator" loogikas kirjeldada. Selle tulemusel on GAN-i ainsad reaalsed rakendused, millest kuulda on, DeepFake, mis jällegi manipuleerib näokujutistega (mille jaoks on olemas tohutu baas).

Olen näinud väga vähe muid kasulikke kasutusviise. Tavaliselt mingi trikk, mis hõlmab piltide jooniste viimistlemist.

Ja jälle. Kellelgi pole aimugi, kuidas see võimaldab meil liikuda helgemasse tulevikku. Loogika/ruumi kujutamine närvivõrgus on hea. Kuid me vajame tohutul hulgal näiteid, me ei mõista, kuidas neuron seda iseenesest esindab, me ei mõista, kuidas panna neuron mäletama mõnda tõeliselt keerulist ideed.

Tugevdusõpe - see on lähenemine täiesti teisest suunast. Kindlasti mäletate, kuidas Google võitis Go's kõiki. Hiljutised võidud Starcraftis ja Dotas. Kuid siin pole kõik kaugeltki nii roosiline ja paljutõotav. Ta räägib kõige paremini RL-ist ja selle keerukusest see artikkel.

Lühidalt kokkuvõtteks, mida autor kirjutas:

  • Karbist välja võetud mudelid enamikul juhtudel ei sobi / töötavad halvasti
  • Praktilisi probleeme on lihtsam lahendada muul viisil. Boston Dynamics ei kasuta RL-i selle keerukuse / ettearvamatuse / arvutusliku keerukuse tõttu
  • RL toimimiseks vajate keerukat funktsiooni. Sageli on seda raske luua/kirjutada
  • Raske mudeleid koolitada. Peate kulutama palju aega, et end üles laadida ja kohalikust optimaalsest olukorrast välja tulla
  • Seetõttu on mudelit raske korrata, mudel on vähimategi muudatustega ebastabiilne
  • Tihti sobib üle mingisuguseid vasakpoolseid mustreid, kuni juhuslike arvude generaatorini välja

Võtmepunkt on see, et RL ei tööta veel tootmises. Google'il on mõned katsed ( 1, 2 ). Kuid ma pole näinud ühtegi tootesüsteemi.

Mälu. Kõige ülalkirjeldatud negatiivne külg on struktuuri puudumine. Üks viise, kuidas seda kõike korda teha, on tagada närvivõrgule juurdepääs eraldi mälule. Et ta saaks seal oma sammude tulemused salvestada ja ümber kirjutada. Siis saab närvivõrgu määrata praeguse mälu oleku järgi. See on väga sarnane klassikaliste protsessorite ja arvutitega.

Kõige kuulsam ja populaarsem artikkel - DeepMindist:

Kas masinõppemull on lõhkenud või on see uue koidiku algus?

Tundub, et see on intelligentsuse mõistmise võti? Aga ilmselt mitte. Süsteem nõuab treenimiseks endiselt tohutul hulgal andmeid. Ja see töötab peamiselt struktureeritud tabeliandmetega. Veelgi enam, kui Facebook otsustanud sarnase probleemiga, siis valisid nad tee "keerake mälu, muuda neuron lihtsalt keerulisemaks ja saate rohkem näiteid - ja see õpib ise."

Lahtiharutamine. Teine võimalus tähendusrikka mälu loomiseks on võtta samad kinnistused, kuid koolituse käigus juurutada lisakriteeriume, mis võimaldaksid neis “tähendusi” esile tõsta. Näiteks tahame õpetada närvivõrku eristama inimeste käitumist poes. Kui järgiksime standardset rada, peaksime tegema kümmekond võrku. Üks otsib inimest, teine ​​määrab, mida ta teeb, kolmas on tema vanus, neljas on tema sugu. Eraldi loogika vaatleb poe seda osa, kus seda tehakse/koolitatakse seda tegema. Kolmas määrab selle trajektoori jne.

Või kui andmeid oleks lõputult palju, siis oleks võimalik treenida ühte võrku kõigi võimalike tulemuste jaoks (sellist andmemassiivi ei saa muidugi koguda).

Lahutamise lähenemine ütleb meile – treenime võrgustikku nii, et see ise suudaks mõisteid eristada. Et see moodustaks video põhjal kinnise, kus üks ala määraks tegevuse, määraks õigeaegselt asendi põrandal, määraks inimese pikkuse ja määraks inimese soo. Samas tahaksin treenides võrgustikku selliste võtmemõistetega peaaegu mitte õhutada, vaid pigem valdkondi esile tõsta ja rühmitada. Selliseid artikleid on üsna palju (mõned neist 1, 2, 3) ja üldiselt on need üsna teoreetilised.

Aga see suund peaks vähemalt teoreetiliselt katma alguses loetletud probleemid.

Kas masinõppemull on lõhkenud või on see uue koidiku algus?

Kujutise lagunemine vastavalt parameetritele "seina värv / põranda värv / objekti kuju / objekti värv / jne".

Kas masinõppemull on lõhkenud või on see uue koidiku algus?

Näo lagunemine parameetrite "suurus, kulmud, orientatsioon, nahavärv jne" järgi.

Muu

On palju muid, mitte nii globaalseid valdkondi, mis võimaldavad andmebaasi kuidagi vähendada, töötada heterogeensemate andmetega jne.

Tähelepanu. Tõenäoliselt pole mõtet seda eraldi meetodina eraldada. Lihtsalt lähenemine, mis täiustab teisi. Temale on pühendatud palju artikleid (1,2,3). Tähelepanu eesmärk on tõhustada võrgu reageerimist konkreetselt olulistele objektidele koolituse ajal. Sageli mõne välise sihtmärgi määramise või väikese välisvõrgu kaudu.

3D simulatsioon. Kui teha hea 3D mootor, siis sellega saab tihtipeale katta 90% treeningandmetest (nägin isegi näidet, kus ligi 99% andmetest oli kaetud hea mootoriga). Ideid ja häkke, kuidas 3D-mootoril treenitud võrk pärisandmeid kasutades (peenhäälestus, stiiliülekanne jne) tööle panna, on palju. Kuid sageli on hea mootori tegemine mitu suurusjärku keerulisem kui andmete kogumine. Näited mootorite valmistamisest:
Robotiõpe (google, ajuaed)
koolitus äratundmine kaup poes (aga kahes projektis, mille tegime, saime hõlpsasti hakkama ka ilma).
Koolitus Teslas (jällegi ülaltoodud video).

Järeldused

Kogu artikkel on teatud mõttes järeldused. Tõenäoliselt oli peamine sõnum, mille ma tahtsin teha, "tasuta pakkumised on läbi, neuronid ei paku enam lihtsaid lahendusi." Nüüd peame keeruliste otsuste tegemiseks kõvasti tööd tegema. Või tehke rasket tööd keerukate teadusuuringutega.

Üldiselt on teema vaieldav. Ehk on lugejatel huvitavamaid näiteid?

Allikas: www.habr.com

Lisa kommentaar