Kas masinÔppe mull lÔhkes vÔi algas uus koidik

Hiljuti ilmus artikkel, mis annab head ĂŒlevaadet viimaste aastate masinĂ”ppe suundumustest. LĂŒhidalt: viimasel kahel aastal on masinĂ”ppe alaste idufirmade arv jĂ€rsult langenud.

Kas masinÔppe mull lÔhkes vÔi algas uus koidik
Noh, rÀÀgime "kas mull on lĂ”hkenud", "kuidas edasi elada" ja arutame, kust see ĂŒldse selline keerukus tuli.

Esmalt rÀÀkige, mis oli selle kĂ”vera tĂ”ukejĂ”ud. Kust see pĂ€rines. KĂ”ik ilmselt mĂ€letavad vĂ”itu masinĂ”ppes 2012. aastal ImageNeti vĂ”istlusel. See oli ju esimene globaalne ĂŒritus! Kuid tegelikult pole see nii. Ja kĂ”vera tĂ”us algab mĂ”nevĂ”rra varem. Jagaksin selle mitmeks hetkeks.

  1. Aasta 2008 oli suurandmete mĂ”iste tekkimise aastaks. TĂ”elised tooted hakkasid ilmuma 2010. aastast. Suurandmed on tihedalt seotud masinĂ”ppega. Ilma suurandmeteta ei ole olemasolevate algoritmide stabiilne töö vĂ”imalik. Ja see ei ole nĂ€rvivĂ”rgud. Enne 2012. aastat olid nĂ€rvivĂ”rgud marginaalse vĂ€hemuse pĂ€rusmaa. Selle asemel hakkasid tööle hoopis teised algoritmid, mis olid eksisteerinud juba aastaid, isegi aastakĂŒmneid: SVM(1963, 1993 aastad), Random Forest (1995), AdaBoost (2003),... Selleaegsed idufirmad olid peamiselt seotud struktureeritud andmete automaatse töötlemisega: kassad, kasutajad, reklaam ja palju muud.

    Selle esimesest lainest tulenev on hulk raamistikku, nagu XGBoost, CatBoost, LightGBM jne.

  2. Aastatel 2011-2012 konvolutsioonilised nĂ€rvivĂ”rgud on vĂ”itnud mitmeid pildituvastuse konkurse. Nende tegelik kasutamine viibis mĂ”nevĂ”rra. Ütleksin, et massiliselt ettevaatlikud idufirmad ja lahendused hakkasid ilmuma alates 2014. aastast. Kahe aasta jooksul Ă”piti, et nĂ€rvivĂ”rgud tĂ”eliselt töötavad, loodi mugavad raamistikud, mida oli vĂ”imalik paigaldada ja kĂ€ivitada mĂ”istliku ajaga ning töötati vĂ€lja meetodeid, mis stabiliseeriksid ja kiirendaksid konvergentsi aega.

    Konvolutsioonid vĂ”imaldasid lahendada masinĂ”ppe ĂŒlesandeid: piltide ja objektide klassifitseerimine pildis, objektide tuvastamine, objektide ja inimestega tutvumine, piltide parandamine jne.

  3. 2015–2017. Algoritmide ja projektides, mis on seotud korduvate vĂ”rkude vĂ”i nende analoogidega (LSTM, GRU, TransformerNet jne), toimus tĂ”eline buum. Ilmusid hĂ€sti töötavad „kĂ”ne-tekstiks” algoritmid ja masintĂ”lkesĂŒsteemid. Osa neist pĂ”hines konvolutsioonivĂ”rkudel, et tuvastada pĂ”hiomadusi. Osaliselt on need loodud suurtest ja kvaliteetsetest andmestikest.

Kas masinÔppe mull lÔhkes vÔi algas uus koidik

„Mull lĂ”hkes? Hype on ĂŒlekuumenenud? Kas nad on surnud nagu plokiahel?”
Just nimelt! Homme lakkab teie telefonis Siri töötamast ja ĂŒlehomme ei suuda Tesla eristada pöördeid kengurust.

NeuraalvĂ”rgud töötavad juba praegu. Need on kĂŒmnetes seadmetes, nad vĂ”imaldavad tĂ”eliselt teenida raha, muutes turgu ja ĂŒmbritsevat maailma. Hype nĂ€eb vĂ€lja veidi teistsugune:

Kas masinÔppe mull lÔhkes vÔi algas uus koidik

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 looma nende alusel tooteid. NeuraalvÔrgud pakuvad uut funktsionaalsust, vÔimaldavad vÀhendada töötajate arvu ja langetada teenuste hindu:

  • TootmisettevĂ”tted integreerivad algoritme defektide analĂŒĂŒsiks liinil.
  • Loomakasvatustalud ostavad sĂŒsteeme lehmade jĂ€lgimiseks.
  • Automaatne lĂ”ikusmasin.
  • Automatiseeritud kĂ”nekeskused.
  • Filtrid SnapChat'is. (noh, vĂ€hemalt midagi mĂ”istlikku!)

Aga peamine, ja mitte nii ilmne: „Uusi ideid pole enam, vĂ”i need ei too kohest kapitali”. NeuraalvĂ”rgud on lahendanud kĂŒmneid probleeme. Ja lahendavad veel rohkem. KĂ”ik ilmsemad ideed, mis olemas olid, on tootnud hulgi alustavaid ettevĂ”tteid. Kuid kĂ”ik, mis oli pinnal — on juba kogutud. Viimase kahe aasta jooksul ei ole ma nĂ€inud ĂŒhtegi uut ideed neuraalvĂ”rkude rakendamiseks. Ühtegi uut lĂ€henemist (noh, ok, seal on GAN-ide osas veidi segadust).

Ja iga jĂ€rgmine startup on ĂŒha keerulisem. See nĂ”uab enam mitte kahte kutti, kes koolitavad neuraalvĂ”rku avatud andmetel. See nĂ”uab programmeerijaid, serverit, mĂ€rkijate meeskonda, keerukamat tuge jne.

Tulemuseks on — alustavate ettevĂ”tete arv vĂ€heneb. Kuid tootmine suureneb. Kas on vaja auto numbrite tuvastamist? Turul on sadu spetsialiste, kellel on asjakohane kogemus. VĂ”ite palgata ja paari kuuga teie töötaja loob sĂŒsteemi. VĂ”i osta valmis lahendus. Kuid uue startupi loomine?.. Hullumeelsus!

Vajame kĂŒlastajate jĂ€lgimise sĂŒsteemi - miks maksta hunniku litsentside eest, kui oma mugandatud sĂŒsteemi saab luua 3-4 kuuga?

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'? Seni, kuni turg ei ole spetsialiste ĂŒle ujutatud, on professionaale vĂ€ga vĂ€he. Kuid ma ei saa vaidelda, et 5-10 aasta pĂ€rast ei ole vahet Java-kodutöö tegija ja nĂ€rvivĂ”rkude arendaja vahel. Nii ĂŒht kui teist spetsialisti on turul piisavalt.

Lihtsalt on ilmne, et on tekkimas ĂŒlesanne - palgatakse spetsialist.

"Ja mis edasi? Kus on lubatud tehisintellekt?"

Siin on vÀike, kuid huvitav segadus :)

Praegune tehnoloogiate kogum, mis meil on, ei viida meid ilmselt tehisintellektini. Ideed ja nende uudsus on suuresti ammendunud. RÀÀgime, mis hoiab praegust arengutaset.

Piirangud

Alustame isejuhtivatest autodest. Tundub, et tÀielikult autonoomsete autode valmistamine praeguste tehnoloogiatega on vÔimalik. Kuid millal see juhtub - ei ole selge. Tesla arvab, et see juhtub paari aasta pÀrast -

MĂ€ngi videot

On palju teisi spetsialiste, kes hindavad seda 5-10 aastaks.

TĂ”enĂ€oliselt, minu arvates, 15 aasta pĂ€rast muutuvad linnade infrastruktuurid nii, et autonoomsete autode ilmumine muutub vĂ€ltimatuks, see saab nende jĂ€tkuks. Kuid seda ei saa pidada intelligentsuseks. Kaasaegne Tesla on vĂ€ga keeruline andmete filtreerimise, otsimise ja ĂŒmberĂ”ppe teenus. See on reeglid-reeglid-reeglid, andmete kogumine ja filtrid nende ĂŒle (siin siit olen ma sellest veidi pĂ”hjalikumalt kirjutanud, vĂ”i vaata selle marki).

Esimene probleem

Ja just siin nĂ€eme esimest fundamentaalset probleemi. Suured andmed. See on see, mis pĂ”hjustas praeguse laine nĂ€rvivĂ”rkude ja masinĂ”ppe vallas. 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, tĂ€histamiseks ja kasutamiseks. Kui tahame, et masin nĂ€eks veokit pĂ€ikese vastu — peame esmalt koguma piisavalt palju nĂ€iteid. Kui tahame, et masin ei lĂ€heks segadusse jalgrattast, mis on kinnitatud pagasiruumi — rohkem nĂ€iteid.

Ja ĂŒhte nĂ€idet ei piisa. Sadu? Tuhandeid?

Kas masinÔppe mull lÔhkes vÔi algas uus koidik

Teine probleem

Teine probleem — visualiseerimine, mida meie nĂ€rvivĂ”rk mĂ”istis. See on vĂ€ga mittetriviaalne ĂŒlesanne. Siiani on vĂ€he inimesi, kes mĂ”istavad, kuidas seda visualiseerida. Need artiklid on ĂŒsna vĂ€rsked, see on vaid mĂ”ned nĂ€ited, isegi kui need on kauged:
Visualiseerimine teksteuride peatukesed. NÀitab hÀsti, millele nÀrvivÔrk kipub peatuma + mida ta tajub algteabe allikana.

Kas masinÔppe mull lÔhkes vÔi algas uus koidik
Visualiseerimine tÀhelepanu juures tÔlgetes. TÔeliselt saab tÀhelepanu sageli kasutada, et nÀidata, mis pÔhjustas sellist reageeringut vÔrku. Olen selliseid asju kohanud nii silumise kui ka toote lahenduste jaoks. Selle teema kohta on vÀga palju artikleid. Aga mida keerulisemad on andmed, seda keerulisem on mÔista, kuidas saavutada stabiilne visualiseerimine.

Kas masinÔppe mull lÔhkes vÔi algas uus koidik

Ja jah, vana hea komplekt, «vaata, mis on vĂ”rgu sees filtrites». Need pildid olid populaarsed umbes 3-4 aastat tagasi, aga kĂ”ik mĂ”istsid kiiresti, et pildid on kĂŒll ilusad, aga sisul on vĂ€he.

Kas masinÔppe mull lÔhkes vÔi algas uus koidik

Ma ei nimetanud kĂŒmneid teisi nippe, viise, hĂ€kke, uuringuid selle kohta, kuidas vĂ”rgu sisemust kuvada. Kas need tööriistad töötavad? Kas need aitavad kiiresti mĂ”ista, mis on probleem ja vĂ”rku siluda?.. Viimased protsendid vĂ€lja tĂ”mmata? No, umbes sama moodi:

Kas masinÔppe mull lÔhkes vÔi algas uus koidik

VĂ”id vaadata ĂŒkskĂ”ik millisest konkursist Kaggle'is. Ja kirjeldust sellest, kuidas inimesed oma lĂ”plikke lahendusi teevad. Me ehitasime 100-500-800 miljonit mudelit ja see töötas!

Ma muidugi liialdan. Aga need lÀhenemised ei anna kiireid ja otseseid vastuseid.

Omades piisavalt kogemusi ja proovides erinevaid variante, vĂ”ib anda otsuse, miks teie sĂŒsteem nii otsustas. Aga sĂŒsteemi kĂ€itumise parandamine on keeruline. Kinnita hĂ€daabi, tĂ”sta lĂ€ve, lisa andmestik, vĂ”ta teine tagaosa vĂ”rku.

Kolmas probleem

Kolmas fundamentaalne probleem — vĂ”rgud Ă”petavad mitte loogikat, vaid statistikat. Statistiliselt see nĂ€gu:

Kas masinÔppe mull lÔhkes vÔi algas uus koidik

Loogiliselt — see ei tundu eriti sarnane. KĂŒbervĂ”rgud ei Ă”pi midagi keerulist, kui neid ei sunnita. Nad Ă”pivad alati maksimaalselt lihtsaid jooni. Kas on silmad, nina, pea? Siis on see nĂ€gu! Too nĂ€iteks, kus silmad ei tĂ€henda nĂ€gu. Ja jĂ€lle — miljoneid nĂ€iteid.

Madalaimal tasemel on piisavalt ruumi

Ma ĂŒtleksin, et just need kolm globaalse probleemid tĂ€na piiravad kĂŒbervĂ”rkude ja masinĂ”ppe arengut. Ja see, kus need probleemid ei piiranud — seda kasutatakse juba aktiivselt.

Kas see on lĂ”pp? KĂŒbervĂ”rgud on seisma jÀÀnud?

Ei ole teada. Aga loomulikult loodavad kÔik, et ei ole.

On palju lĂ€henemisviise ja suundi nende fundamentaalsete probleemide lahendamiseks, mida ma eespool kĂ€sitlesin. Kuid seni ei ole ĂŒkski neist lĂ€henemistest vĂ”imaldanud teha midagi fundamentaalselt uut, lahendada midagi, mis ei ole seni lahendatud. Seni kĂ”ik fundamentaalsed projektid on tehtud stabiilsete lĂ€henemiste pĂ”hjal (Tesla), vĂ”i jÀÀvad need katsetusprojektideks instituutide vĂ”i korporatsioonide (Google Brain, OpenAI) jaoks.

RÀÀkides kĂ”vasti, siis peamine suund on teatud kĂ”rgema tasandi esitus sisendandmetest. Teatud mĂ”ttes “mĂ€lu”. Lihtsaim nĂ€ide mĂ€lust on erinevad “Embedding” — piltide esitused. NĂ€iteks kĂ”ik nĂ€otuvastussĂŒsteemid. VĂ”rk Ă”pib saama nĂ€ost mĂ”ningast stabiilset esitatust, mis ei sĂ”ltu pöördest, valgustusest, resolutsioonist. Sisuliselt minimiseerib vĂ”rk mÔÔdistust “erinevad nĂ€od — kaugel” ja â€œĂŒhesugused — lĂ€hedal”.

Kas masinÔppe mull lÔhkes vÔi algas uus koidik

Selleks Ă”petamiseks on vaja kĂŒmneid ja sadu tuhandeid nĂ€iteid. Kuid tulemus kannab endas teatud algseid jooni “One-shot Learning”. NĂŒĂŒd ei ole meil vaja sadu nĂ€gusid, et inimest meeles pidada. Ainult ĂŒks nĂ€gu ja kĂ”ik — me tunneme Ă€ra!
Aga probleem on
 VĂ”rk suudab Ă”ppida ainult piisavalt lihtsaid objekte. Proovides eristada mitte nĂ€gusid, vaid nĂ€iteks “inimest riiete jĂ€rgi” (ĂŒlesanne Re-identification) — kvaliteet kukub mitme jĂ€rgu vĂ”rra. Ja vĂ”rk ei suuda enam Ă”ppida piisavalt ilmselgeid vaatenurga muutusi.

Ja Ă”ppida miljonitest nĂ€idetest — on samuti kuidagi ĂŒsna vaevarikas.

On teoseid mĂ€rkimisvÀÀrse valimite vĂ€hendamise kohta. NĂ€iteks vĂ”ib kohe meenuda ĂŒks esimesi töid OneShot Learning Google'ilt:

Kas masinÔppe mull lÔhkes vÔi algas uus koidik

Selliseid teoseid on palju, nÀiteks 1 vÔi 2 vÔi 3.

Miinus ĂŒks – tavaliselt töötab Ă”pe hĂ€sti lihtsate, "MNISTi" nĂ€idete korral. Kuid keerukamate ĂŒlesannete korral on vaja suurt baasi, objektimudelit vĂ”i mingit vĂ”lu.
Üldiselt on One-Shot Ă”pe vĂ€ga huvitav teema. Leiad palju ideid. Kuid suurem osa neist kahest probleemist, mida mainisin (enneĂ”ppimine tohutu andmestiku peal / keerulistel andmetel ebastabiilsus) segab Ă”ppetööd tĂ”siselt.

Teisest kĂŒljest sobivad Embedding teema jaoks GAN’id – genereerivad vastasvĂ”rgud. Olete kindlasti lugenud selle kohta palju artikleid Habr’s.1, 2,3)
GANide eripÀra on mingisuguse sisemise olekute ruumi (sisuliselt sama, mis Embedding) loomine, mis vÔimaldab joonistada pilti. Need vÔivad olla nÀod, need vÔivad olla tegevused.

Kas masinÔppe mull lÔhkes vÔi algas uus koidik

GANide probleem on see, et mida keerulisem on genereeritav objekt, seda keerulisem on seda kirjeldada "genereerija-diskrimineerija" loogikas. SeetÔttu on ainus tuntud rakendus GAN-ide jaoks DeepFake, mis samuti manipuleerib nÀo esitlusega (millest on tohutu andmebaas).

Teisi kasulikke rakendusi olen kohanud ĂŒliharva. Tavaliselt on need lihtsalt mingid asjad piltide tĂ€iendamiseks.

Ja taas, kellelgi pole arusaamist, kuidas see vÔiks meid viia valgusesse tulevikku. Loogika/esitluse mÔistmine neuronivÔrgus on hea. Kuid vajame tohutult nÀiteid, me ei saa aru, kuidas neuronivÔrk seda endas esitab, me ei saa aru, kuidas panna neuronivÔrk meelde jÀtma mÔnda tegelikult keerulist esitust.

Reinforcement learning on tĂ€iesti teise nurga alt lĂ€henemine. Te kindlasti mĂ€letate, kuidas Google vĂ”itis kĂ”iki Go mĂ€ngus. Hiljutised vĂ”idud Starcraftis ja Dota’s. Kuid siin pole kĂ”ik kaugeltki nii roosiline ja lootustandev. Parim selgitus RL ja selle raskuste kohta on see artikkel.

Kui autorit kokku vÔtta, siis

  • Lahendused karbis ei sobi / töötavad enamasti halvasti
  • Praktilisi ĂŒlesandeid on lihtsam lahendada muude meetoditega. Boston Dynamics ei kasuta RL-i selle keerukuse / ettearvamatuse / arvutuste keerukuse tĂ”ttu
  • Kuna RL tööle hakkab – on vaja keerulist funktsiooni. Tihti on selle loomine / kirjutamine keeruline.
  • Mudelite Ă”petamine on keeruline. Tuleb kulutada palju aega, et need loksutada ja vĂ€lja tuua kohalikest optimaalseist.
  • SeetĂ”ttu on modelleerimine keeruline, mudeli ebastabiilsus vĂ€iksemate muudatuste korral.
  • Tihti satub see liiga tihedalt mingitesse vale seaduspĂ€rasustesse, isegi juhuslike arvugeneraatoriteni vĂ€lja.

Oluline punkt on see, et RL ei tööta hetkel tootmises. Google'il on mingid eksperimendid ( 1, 2 ). Kuid ma ei ole nĂ€inud ĂŒhtegi tootmisse suunatud sĂŒsteemi.

MĂ€lu. KĂ”ik, mis eelpool on toodud, nĂ€itab, et struktuuritus on probleem. Üks lĂ€henemine, kuidas seda pĂŒĂŒda korrastada, on anda nĂ€rvivĂ”rgule juurdepÀÀs eraldi mĂ€lule. Nii saab ta tulemusi salvestada ja ĂŒle kirjutada. Siis saab nĂ€rvivĂ”rk mÀÀratleda oma seisundi praeguse mĂ€lu jĂ€rgi. See on vĂ€ga sarnane klassikaliste protsessorite ja arvutitega.

KĂ”ige kuulsam ja populaarsem artikkel — DeepMindist:

Kas masinÔppe mull lÔhkes vÔi algas uus koidik

Tundub, et see on mĂ”istmise vĂ”ti? Kuid pigem mitte. SĂŒsteem vajab ikkagi tohutut andmemassi treenimiseks. Ja see töötab enamasti struktureeritud tabelandmetega. Samal ajal, kui Facebook lahendas samalaadset probleemi, lĂ€ksid nad teed "unustame mĂ€lestuse, teeme lihtsalt nĂ€rvivĂ”rgu keerulisemaks ja toome rohkem nĂ€iteid - ja ta Ă”pib ise."

Disentanglement. Teine viis tĂ€hendusrikka mĂ€lu loomiseks on vĂ”tta samad sisendandmed, kuid treenimisel sisestada tĂ€iendavad kriteeriumid, mis vĂ”imaldaksid nendes "tĂ€hendusi" eristada. NĂ€iteks kui soovime Ă”petada nĂ€rvivĂ”rku eristama inimese kĂ€itumist poes. Kui me jĂ€rgiksime standaardset teed - peaksime tegema kĂŒmneid vĂ”rke. Üks otsib inimest, teine mÀÀrab, mida ta teeb, kolmas tema vanuse, neljas - soo. Eraldi loogika jĂ€lgib osa poest, kus ta teeb \/ Ă”pib selle kallal. Kolmas mÀÀrab tema trajektoori jne.

VĂ”i kui oleks lĂ”putult andmeid, vĂ”iks ĂŒhe vĂ”rgu Ă”petada kĂ”igi vĂ”imalike tulemuste osas (ilmselgelt ei saa sellist andmemassi kokku korjata).

Disentlement approach tells us — let’s train the network so that it can distinguish concepts by itself. To have it create an embedding from video, where one area defines actions, one defines positions on the floor in time, one indicates a person's height, and another identifies their gender. Meanwhile, during training, we would like to provide minimal hints about these key concepts and let the network itself highlight and group areas. There are not many articles on such topics (some of them 1, 2, 3) and overall they are quite theoretical.

However, this direction, at least theoretically, should address the problems mentioned at the start.

Kas masinÔppe mull lÔhkes vÔi algas uus koidik

Decomposing the image by parameters “wall color/floor color/object shape/object color/etc.”

Kas masinÔppe mull lÔhkes vÔi algas uus koidik

Decomposing the face by parameters “size, eyebrows, orientation, skin color, etc.”

Muud

There are many other less global directions that allow for some reduction of databases, working with more heterogeneous data, etc.

Attention. It probably doesn't make sense to highlight this as a separate method. It’s just an approach that enhances others. There are many articles dedicated to it (1,2,3). The essence of Attention is to enhance the network's response specifically to significant objects during training. Often this is done with some external target guidance or a small external network.

3D simulation. If you create a good 3D engine, it can cover about 90% of training data (I've even seen examples where almost 99% of data was covered by a good engine). There are many ideas and hacks to make a network trained on a 3D engine work with real data (fine-tuning, style transfer, etc.). But often creating a good engine is several orders of magnitude more complex than gathering data. Examples when engines were created:
Robot training (google, braingarden)
Koolitus tuvastamiseks goods in a store (but in the two projects we worked on — we managed without this).
Training at Tesla (again the video mentioned earlier).

JĂ€reldused

The entire article is in some sense conclusions. Probably, the main message I wanted to convey is — 'the free ride is over, neural networks no longer offer simple solutions.' Now, we need to work hard to build complex solutions. Or work hard conducting intricate scientific research.

Overall, the topic is debatable. Perhaps the readers have more interesting examples?

Allikas: habr.com

Osta usaldusvÀÀrne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid đŸ”„ Osta usaldusvÀÀrne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid | ProHoster