Hiljuti ilmus , mis nĂ€itab ĂŒsna hĂ€sti viimaste aastate masinĂ”ppe suundi. LĂŒhidalt: masinĂ”ppe startupide arv on viimase kahe aasta jooksul jĂ€rsult vĂ€henenud.

Noh. RÀÀgime, kas âmull on lĂ”hkenudâ, âkuidas edasi eladaâ ja arutame, kust see ĂŒldse selline olukord tekkis.
Alustame sellest, mis oli selle kĂ”veriku tĂ”ukeks. Kust see tekkis. Kindlasti meenuvad kĂ”ik masinĂ”ppes 2012. aastal ImageNeti konkursil. See oli ju esimene globaalne sĂŒndmus! Kuid reaalsus pole selline. Ja tĂ”usu kĂ”ver hakkab pĂ”himĂ”tteliselt mĂ”ni aeg varem. Jagaksin selle mitmeks hetkeks.
- 2008. aasta on termin âsuured andmedâ. Reaalsed tooted hakkasid alates 2010. aastast. Suured andmed on tihedalt seotud masinĂ”ppega. Ilma suurte andmeteta ei saa algoritmid, mis toona olemas olid, stabiilselt töötada. Ja need pole isegi nĂ€rvivĂ”rgud. Enne 2012. aastat olid nĂ€rvivĂ”rgud marginaalse vĂ€hemuse pĂ€rusmaa. KĂŒll aga hakkasid tööle hoopis teised algoritmid, mis olid olemas juba aastaid vĂ”i isegi aastakĂŒmneid: (1963,1993 aastad), (1995), (2003),⊠selle ajastu idufirmad on peamiselt seotud struktureeritud andmete automaatse töötlemisega: kassad, kasutajad, reklaam ja palju muud.
Selle esialgse laine jÀrgud on raamistikud nagu XGBoost, CatBoost, LightGBM jne.
- 2011-2012 aastal vĂ”itsid mitmeid konkursse piltide tuvastamise alal. Nende tegelik kasutamine venis mĂ”nevĂ”rra. Ătleksin, et massiliselt mĂ”istetavad idufirmad ja lahendused hakkasid ilmuma 2014. aastal. Kaks aastat kulus selleks, et seedida, et neuronid tĂ”epoolest töötavad, luua mugavad raamistikud, mida oli vĂ”imalik paigaldada ja kĂ€ivitada mĂ”istliku aja jooksul, ning vĂ€lja töötada meetodid, mis stabiliseeriksid ja kiirendaksid konvergentsi aega.
Konvolutsioonilised vĂ”rgud vĂ”imaldasid lahendada masinĂ”ppe nĂ€gemisĂŒlesandeid: piltide ja pildil olevate objektide klassifitseerimine, objektide ja inimeste tuvastamine, piltide parandamine jne.
- 2015â2017. Algoritmide ja projektide buum, mis pĂ”hines rekursiivsetel vĂ”rkudel vĂ”i nende analoogidel (LSTM, GRU, TransformerNet jne). Tekkisid hĂ€sti töötavad "kĂ”ne-tekstiks" algoritmid ja masintĂ”lke sĂŒsteemid. Osaliselt pĂ”hinevad need konvolutsioonivĂ”rkudel, et eristada pĂ”hiomadusi, ja osaliselt sellel, et oleme Ă”ppinud koguma tĂ”eliselt suuri ja kvaliteetseid andmestikke.

"Mull lĂ”hkes? Hype on ĂŒle kuumenenud? Kas nad on surnud nagu plokiahel?"
KĂŒll! Homme lĂ”petab teie telefonis Siri töötamise, ja ĂŒlehomme ei saa Tesla eristada pööramist kengurust.
NeuraalvĂ”rgud töötavad juba. Need on kĂŒmnetes seadmetes. Need vĂ”imaldavad tĂ”eliselt teenida, muutes turgu ja ĂŒmbritsevat maailma. HĂŒpe nĂ€eb vĂ€lja pisut erinev:

Lihtsalt neuraalvÔrgud ei ole enam midagi uut. Jah, paljude inimeste ootused on liiga kÔrged. Kuid suur hulk ettevÔtteid on Ôppinud neid rakendama ja tegema nende pÔhjal tooteid. NeuraalvÔrgud pakuvad uusi funktsioone, vÔimaldavad vÀhendada töökohti ja alandada teenuste hindu:
- TootmisettevĂ”tted integreerivad algoritme defektide analĂŒĂŒsimiseks tootmisliinil.
- Loomakasvatustalud ostavad sĂŒsteeme lehmade jĂ€lgimiseks.
- Automaatilised kombainid.
- Automatiseeritud kÔnekeskused.
- Filtrid SnapChat'is. (kuid vÀhemalt midagi kasulikku!)
Aga kĂ”ige olulisem ja mitte kĂ”ige ilmsem: âUusi ideid pole enam, vĂ”i nad ei tooda kohest kapitali.â Neuraalsed vĂ”rgud on lahendanud kĂŒmneid probleeme. Ja lahendavad veelgi rohkem. KĂ”ik ilmsed ideed, mis olid â on tootnud hulgaliselt idufirmasid. Kuid kĂ”ik, mis oli pinnal â on juba Ă€ra koristatud. Viimase kahe aasta jooksul ma ei ole kohanud ĂŒhtegi uut ideed neuraalsete vĂ”rkude rakendamiseks. Ăhtegi uut lĂ€henemist (noh, okei, seal on natuke GAN-idega probleeme).
Ja iga jÀrgmine idufirma muutub aina keerulisemaks. See ei nÔua enam kahte kutti, kes koolitavad neuraalvÔrku avatud andmetega. See nÔuab programmeerijaid, serverit, mÀrgistamismeeskonda, keerulist tuge jne.
Tulemuseks on â idufirmade arv vĂ€heneb. Kuid tootmine suureneb. Kas on vaja autode numbrite tuvastamist? Turul on sadu spetsialiste, kellel on asjakohane kogemus. Saate palgata ja paarikuuga teie töötaja loob sĂŒsteemi. VĂ”i osta valmis lahendus. Aga teha uut idufirmat?.. Hullumeelsus!
KĂŒlastajate jĂ€lgimise sĂŒsteem on vajalik â miks maksta hunnikute litsentse, kui oma sĂŒsteemi saab 3-4 kuuga luua ja kohandada oma ettevĂ”tte jaoks.
Praegu lĂ€bivad nĂ€rvivĂ”rgud sama teed, mida on lĂ€binud kĂŒmned teised tehnoloogiad.
Kas mĂ€letate, kuidas 1995. aastast alates on muutunud mĂ”isted "veebiarendaja"? Turg ei ole tĂ€is spetsialiste. Professionaale on vĂ€ga vĂ€he. Kuid ma julgen vĂ€ita, et 5-10 aasta pĂ€rast ei ole suurt vahet Java programmeerija ja nĂ€rvivĂ”rkude arendaja vahel. Nii ĂŒhte kui teist spetsialisti on turul piisavalt.
Klass ĂŒlesandeid, mille jaoks nĂ€rvivĂ”rgud töötavad, tuleb lihtsalt. Kui tekib probleem â palgate spetsialisti.
âAga mis edasi? Kus on lubatud tehisintellekt?â
Siin on vÀike, kuid huvitav segadus :)
Oluline tehnoloogia, mis meil tÀna on, ei vii meid ilmselt tehisintellekti. Ideed ja nende uuenduslikkus on suurel mÀÀral ammendunud. RÀÀgime sellest, mis hoiab praegust arengutaset.
Piirangud
Alustame isesĂ”itvate autodega. Tundub, et tĂ€isautonoomsete autode valmistamine kaasaegsete tehnoloogiate abil on vĂ”imalik. Kuid kui palju aastaid selle saavutamiseks kulub, on ebaselge. Tesla usub, et see juhtub paari aasta pĂ€rast â

On palju teisi , kes hindavad seda viis kuni kĂŒmme aastat.
TĂ”enĂ€oliselt, minu arvates, muutub linna infrastruktuur umbes 15 aasta pĂ€rast nii, et isesĂ”itvate autode ilmumine muutub vĂ€ltimatuks ja saab selle jĂ€tkuks. Kuid seda ei saa pidada intelligentsuseks. Kaasaegne Tesla on vĂ€ga keeruline andmete filtreerimise, otsimise ja ĂŒmberkoolitamise konveier. Need on reeglid-reeglid-reeglid, andmete kogumine ning filtrid ĂŒle nende (siin olen sellest lĂ€hemalt kirjutanud, vĂ”i vaata mĂ€rgist).
Esimene probleem
Ja just siin nĂ€eme esimest fundamentaalset probleemi. Suured andmed. See on just see, mis on pĂ”hjustanud praeguse laine neuronvĂ”rkude ja masinĂ”ppe arengus. Praegu, et midagi keerulist ja automaatset teha, on vaja palju andmeid. Mitte lihtsalt palju, vaid vĂ€ga-vĂ€ga palju. On vajalikud automatiseeritud algoritmid nende kogumiseks, sildi panemiseks ja kasutamiseks. Kui soovime, et masin nĂ€eks kaupa pĂ€ikese vastu â peame esmalt koguma piisavalt andmeid. Kui soovime, et masin ei lĂ€heks segi jalgrattaga, mis on kinnitatud pagasiruumi â vajame rohkem proove.
Lisaks ei piisa ĂŒhest nĂ€itest. Sadu? Tuhandeid?

Teine probleem
Teine probleem â visualiseerimine sellest, mida meie neuronvĂ”rk mĂ”istis. See on vĂ€ga keeruline ĂŒlesanne. Siiani mĂ”istab seda vaid vĂ€hesed. Need artiklid on ĂŒsna vĂ€rsked, see on vaid mĂ”ned nĂ€ited, isegi kui nad on kaugel:
tekstuuridele keskendumine. NÀitab hÀsti, millele neuronvÔrk kipub keskenduma + mida ta tajub alginfouna.

tÀhelepanu . TÔelist tÀhelepanu saab sageli kasutada selleks, et nÀidata, mis pÔhjustas sellise reaktsiooni vÔrgus. Olen selliseid asju kohanud nii silumiseks kui ka tootelahendustes. Sellel teemal on palju artikleid. Kuid mida keerulisemad andmed, seda keerulisem on mÔista, kuidas saavutada stabiilne visualiseerimine.

Ja jah, vana hea komplekt, mis sisaldab "vaata, mis on vÔrgu sees, ". Need pildid olid populaarsed umbes 3-4 aastat tagasi, kuid kÔik mÔistsid kiiresti, et need on ilusad, kuid nende sisus pole palju mÔtet.

Ma ei maininud kĂŒmneid teisi naljakate tööriistu, meetodeid, hĂ€kke, uuringute tulemusi, kuidas vĂ”rgu sisemisi aspekte visualiseerida. Kas need tööriistad töötavad? Kas need aitavad kiiresti mĂ”ista, milles probleem on ja vĂ”rku siluda?.. Viimased protsendid kĂ€tte saada? Noh, umbkaudne jĂ€rgnevalt:

VĂ”ite vaadata ĂŒkskĂ”ik millist Kaggle'i konkursi. Ja kirjeldust, kuidas inimesed teevad lĂ”plikke lahendusi. Olime kogunud 100-500-800 miljonit mudelit ja see hakkas tööle!
Ma muidugi liialdan. Kuid need lÀhenemised ei paku kiireid ja otseseid vastuseid.
Olles piisavalt kogemusi, erinevaid variante katsetades on vĂ”imalik jĂ”uda jĂ€reldusele, miks teie sĂŒsteem nii otsustas. Kuid sĂŒsteemi kĂ€itumise parandamine on keeruline. Tuleb rakendada ajutine lahendus, tĂ”sta kĂŒnnist, lisada andmeset ja valida teine tagala.
Kolmas probleem
Kolmas fundamentaalne probleem â vĂ”rgud ei Ă”peta loogikat, vaid statistikat. Statistiliselt see :

Loogiliselt ei tundu see eriti sarnane. NeurovĂ”rgud ei Ă”pi midagi keerulist, kui neid ei sunnita. Nad Ă”pivad alati maksimaalset lihtsust. On silmad, nina, pea? Siis on see nĂ€gu! Tuleb tuua nĂ€ide, kus silmad ei tĂ€henda nĂ€gu. Ja taas â miljoneid nĂ€iteid.
All on palju ruumi
Ătleksin, et just need kolm globaalset probleemi piiravad seni neurovĂ”rkude ja masinĂ”ppe arengut. Ja seal, kus need probleemid ei piiranud â on juba aktiivselt kasutusel.
Kas see on lÔpp? NeurovÔrgud on peatunud?
Ei ole teada. Kuid kindlasti loodavad kÔik, et ei ole.
On olemas palju lĂ€henemisviise ja suundi nende fundamentaalsete probleemide lahendamiseks, millest ma ĂŒlal rÀÀkisin. Siiski ei ole ĂŒkski neist lĂ€henemistest seni suutnud tuua midagi tĂ”eliselt uut, lahendada midagi, mis on olnud lahendamata. Praegu pĂ”hinevad kĂ”ik fundamentaalsed projektid stabiilsetel lĂ€henemisviisidel (Tesla) vĂ”i jÀÀvad institutsioonide vĂ”i ettevĂ”tete (Google Brain, OpenAI) katseprojektideks.
Rohkem öeldes on peamine suund sissetulevate andmete mĂ”ningate kĂ”rgema taseme esitlemiste loomine. Teatud mĂ”ttes nagu "mĂ€lu". Lihtsaim nĂ€ide mĂ€lust on erinevad "Embedding" â pildiesitlused. NĂ€iteks kĂ”ik nĂ€otuvastussĂŒsteemid. VĂ”rgustik Ă”pib, kuidas saada nĂ€ost stabiilne esitus, mis ei sĂ”ltu pöörlemisest, valgustusest, eraldusvĂ”imest. Sisuliselt minimeerib vĂ”rk mÔÔdikut "erinevad nĂ€od â kaugel" ja "sarnased â lĂ€hedal".

Selliseks Ă”ppimiseks on vajalik kĂŒmneid ja sadu tuhandeid nĂ€iteid. Sellegipoolest kannab tulemus endas teatud elemendi "One-shot Learning". NĂŒĂŒd ei ole meil vaja sadu nĂ€gusid, et inimest meelde jĂ€tta. Ainult ĂŒks nĂ€gu, ja kĂ”ik â me !
Kuid on ĂŒks probleem⊠VĂ”rk suudab Ă”ppida ainult piisavalt lihtsaid objekte. Kui proovida eristada mitte nĂ€gusid, vaid nĂ€iteks "inimesi nende riiete jĂ€rgi" (ĂŒlesanne ) â kvaliteet langeb mitu korda. Ja vĂ”rk ei suuda enam Ă”ppida piisavalt ilmselgeid vaatenurga muutusi.
Ja Ă”ppida miljonite nĂ€idete pealt â see on ka kuidagi nii ja naa.
On uurimistöid, mis aitavad oluliselt vĂ€hendada valikute arvu. NĂ€iteks vĂ”ib kohe meenutada ĂŒhte esimest tööd OneShot Learning :

Selliseid töid on palju, nÀiteks vÔi vÔi .
Miinus on see, et tavaliselt Ă”pe töötab hĂ€sti mĂ”ne lihtsa, "MNIST'i tĂŒĂŒpi nĂ€ite" pealt. Aga keeruliste ĂŒlesannete korral on vaja suurt andmebaasi, objekti mudelit vĂ”i mingit maagiat.
Ăldiselt on One-Shot Ă”ppimise uurimistööd vĂ€ga huvitav teema. Leiad palju ideid. Kuid enamasti segavad Ă”ppimist kaks probleem, mille ma vĂ€lja tĂ”in (enne Ă”petamine tohutu andmebaasi pealt / ebastabiilsus keerulistel andmetel).
Teiselt poolt sobivad Embedding'i teemaga GAN â generatiivsed vastandsĂŒsteemid. Olete tĂ”enĂ€oliselt lugenud Habras palju artikleid selle kohta. (, ,)
GANi omadus on teatud sisemise olekuruumi loomine (sisuliselt sama kui Embedding), mis vÔimaldab luua pilti. Need vÔivad olla , need vÔivad olla .

GANi probleem on see, et mida keerulisem on genereeritud objekt, seda keerulisem on seda kirjeldada "generaatoreidiskriminaator" loogikas. Tulemuseks on see, et reaalsetes rakendustes, mis on tuntud - ainult DeepFake, mis jÀllegi manipuleerib nÀo esindustega (kelle jaoks on olemas tohutu andmebaas).
Teisi kasulikke rakendusi olen kokku puutunud vÀga harva. Reeglina on need mingid mÀngulised asjad piltide lisamisega.
Ja jÀlle, keegi ei tea, kuidas see aitab meid liikuda helgele tulevikule. NeuraalvÔrgus loogika/esinduse esitlemine on hea. Kuid vajame tohutut arvu nÀiteid, me ei saa aru, kuidas neuronid selle endas esindavad, me ei saa aru, kuidas sundida neuronit meelde jÀtma mÔnda tÔeliselt keerulist esindust.
Tugevdamise Ă”ppimine â see on tĂ”eline lĂ€henemine. Kindlasti mĂ€letate, kuidas Google kĂ”igist ette jĂ”udis Go mĂ€ngus. Viimased vĂ”idud Starcraftis ja Dotas. Kuid siin ei ole asjad sugugi nii roosilised ja lootustandvad. KĂ”ige paremini rÀÀgib RL-i ja selle keerukustest .
KokkuvÔtlikult, mida autor on kirjutanud:
- Karbist vÀlja pakutavad mudelid ei sobi / töötavad enamasti halvasti
- Praktiliste probleemide lahendamine on lihtsam muude meetoditega. Boston Dynamics ei kasuta RL-i selle keerukuse / ettearvamatu iseloomu / arvutuskeerdkÀikude tÔttu
- Et RL töötaks â on vajalik keeruline funktsioon. Sageli on selle loomine / kirjutamine keeruline
- Mudeleid on keeruline koolitada. Peab kulutama hulganisti aega, et neid vĂ€lja raputada ja kohalikke optimeeringuid ĂŒletada
- SeetÔttu on raske mudelit korrata, mudel on ebastabiilne vÀhimatki muutuste korral
- Tihti toimub ĂŒleĂ”pe mingite valede korrapĂ€rasuste peale, kuni juhuslike numbrite generaatorini
Peamine probleem on see, et RL ei tööta veel tootmiskeskkonnas. Google'il on mĂ”ned eksperimentaalsed projektid ( , ). Aga ma ei ole nĂ€inud ĂŒhtegi toote sĂŒsteemi.
MĂ€lu. KĂ”ik ĂŒlaltoodud puudused â struktuuritus. Ăks lĂ€henemisviise, kuidas ĂŒritatakse seda korrastada, on anda nĂ€rvivĂ”rgule juurdepÀÀs eraldi mĂ€lule. Nii saab see sinna oma samme salvestada ja ĂŒle kirjutada. Sel juhul saab nĂ€rvivĂ”rk mÀÀratleda hetke mĂ€lu seisundi. See sarnaneb vĂ€ga klassikaliste protsessorite ja arvutitega.
KĂ”ige tuntum ja populaarsem â DeepMindi poolt:

Kas see ongi vĂ”ti intelligentsuse mĂ”istmiseks? TĂ”enĂ€oliselt mitte. SĂŒsteem vajab ikkagi tohutut andmekogumit treenimiseks. Ja see töötab peamiselt struktureeritud tabelandmetega. Samal ajal, kui Facebook sarnase probleemi, otsustasid nad, et "unustame mĂ€lu, teeme lihtsalt keerukama nĂ€rvivĂ”rgu ja toome rohkem nĂ€iteid â ning see Ă”pib iseseisvalt."
Eraldamine. Teine viis luua tĂ€henduslik mĂ€lu on vĂ”tta samad embedid, kuid treenimise kĂ€igus lisada tĂ€iendavad kriteeriumid, mis aitaksid eristada âmĂ”tteidâ. NĂ€iteks soovime Ă”petada nĂ€rvivĂ”rku tuvastama inimese kĂ€itumist poes. Kui me jĂ€rgiksime standardset lĂ€henemist, peaksime looma kĂŒmneid erinevaid vĂ”rke. Ăks otsib inimest, teine mÀÀrab, mida ta teeb, kolmas tema vanuse, neljas â soo. Eraldi loogika jĂ€lgib, millises poepooles ta on vĂ”i Ă”ppimas. Kolmas mÀÀrab tema trajektoori jne.
VĂ”i, kui andmeid oleks lĂ”putult, saaks ĂŒhte vĂ”rku Ă”petada kĂ”ikvĂ”imalike vĂ€ljundite jaoks (ilmne, et sellist andmemassiivi ei oleks vĂ”imalik koguda).
Dizaintegmenti lĂ€henemine ĂŒtleb meile, et koolitame vĂ”rku nii, et ta suudab iseseisvalt eristada mĂ”isted. Et ta videost looks embeding'i, kus ĂŒks ala mÀÀratleks tegevuse, teine â positsiooni maa peal ajas, kolmas â inimese pikkuse ja veel ĂŒks â tema soo. Koolitamise kĂ€igus sooviksin, et vĂ”rku ei tuleks peaaegu mitte ĂŒldse juhendada selliste vĂ”tmemĂ”istetega, vaid et ta ise eristaks ja grupeeriks alasid. Taolisi artikleid on suhteliselt vĂ€he (mĂ”ned neist , , ) ja ĂŒldiselt on need ĂŒsna teoreetilised.
Kuid see suund, vÀhemalt teoreetiliselt, peaks lahendama loetletud algprobleeme.

Pildi jaotamine parameetrite jĂ€rgi âseina vĂ€rv / maa vĂ€rv / objekti kuju / objekti vĂ€rv / jneâ

NĂ€o jaotamine parameetrite jĂ€rgi âsuurus, kulmud, orientatsioon, nahatooni vĂ€rv jneâ
Muud
On palju teisi mitte nii globaalseid suundi, mis vÔimaldavad vÀhendada andmebaase, töötada mitmekesisemate andmetega jne.
Attention. TĂ”enĂ€oliselt pole mĂ”tet seda eraldi meetodina vĂ€lja tuua. Lihtsalt lĂ€henemine, mis tugevdab teisi. Talle on pĂŒhendatud palju artikleid (,,). TĂ€hendus Attentionist on see, et tugevdada vĂ”rgu reaktsiooni just oluliste objektide suhtes koolitamise kĂ€igus. Sageli toimub see mingi vĂ€list suunamise vĂ”i vĂ€ikese vĂ€limise vĂ”rgu kaudu.
3D-simulaator. Kui luua hea 3D-mootor, siis suudab see sageli katma 90% koolitusandmest (olen isegi nÀinud nÀidet, kus peaaegu 99% andmetest katab hea mootori). On palju ideid ja nippe, kuidas sundida vÔrku, mis on koolitatud 3D-mootoril, töötama reaalse andmete peal (Fine tuning, style transfer jne). Kuid sageli on hea mootori loomine mitu korda keerulisem kui andmete kogumine. NÀiteid mootori loomise kohta:
Robotite koolitus (, )
Koolitus kaupade jaoks poes (aga kahes projektis, mida me tegime â saime sellest rahulikult mööda).
Koolitus Tesla's (taas see video, mis oli ĂŒleval).
JĂ€reldused
Kogu artikkel on mingil mÀÀral kokkuvĂ”te. Ilmselt on peamine sĂ”num, mida ma tahtsin edastada â âtasuta lĂ”pp, neuronvĂ”rgud ei paku enam lihtsaid lahendusiâ. NĂŒĂŒd tuleb vaeva nĂ€ha, ehitades keerulisemaid lahendusi. VĂ”i teha keerulisi teadusuuringute uuringuid.
Aga ĂŒldiselt on teema arutamiseks. VĂ”ib-olla on lugejatel huvitavamaid nĂ€iteid?
Allikas: habr.com
