Neuraalsed vÔrgud. Kuhu see kÔik liigub

Artikkel koosneb kahest osast:

  1. LĂŒhike ĂŒlevaade mĂ”ningatest arhitektuuridest, mis on mĂ”eldud objektide tuvastamiseks piltidel ja piltide segmentimiseks, koos kĂ”ige arusaadavamate linkidega ressurssidele. PĂŒĂŒdsin valida video selgitusi, eelistatavalt vene keeles.
  2. Teine osa keskendub pĂŒĂŒdele mĂ”ista neuraalvĂ”rkude arhitektuuride arengusuundi. Ja tehnoloogiaid, mis pĂ”hinevad neil.

Neuraalsed vÔrgud. Kuhu see kÔik liigub

Joonis 1 – NeuraalvĂ”rkude arhitektuuride mĂ”istmine pole lihtne

KÔik algas sellest, et tegin kaks demonstreerivat rakendust objektide klassifitseerimiseks ja tuvastamiseks Android telefonil:

  • Tagumise osa demo, kus andmed töödeldakse serveris ja edastatakse telefonile. Piltide klassifitseerimine (image classification) kolmele karu tĂŒĂŒbile: pruuni, musta ja pehme karu.
  • Eesmise osa demo, kus andmed töödeldakse telefonil. Objektide tuvastamine (object detection) kolmele tĂŒĂŒbile: sarapuupĂ€hkel, viigimarjad ja datlid.

Klassifitseerimise, objektide tuvastamise ja piltide segmentimise ĂŒlesannete vahel on erinevusi. SeetĂ”ttu tekkis vajadus teada saada, millised tehisnĂ€rvivĂ”rgud tuvastavad objekte piltidel ja millised suudavad segmentida. Leidsin jĂ€rgmised arhitektuurid, millel on minu jaoks kĂ”ige arusaadavamad lingid ressurssidele:

  • R-CNN arhitektuuride seeria (Rregionid, mis Ckonvolutsioon Nneuraalsete NvĂ”rkude omadused): R-CNN, Fast R-CNN, Faster R-CNN, Mask R-CNN. Pildi objekti tuvastamiseks kasutatakse Region Proposal Network (RPN) mehhanismi, mis eraldab piiratud piirkonnad (bounding boxes). Alguses kasutati RPN asemel aeglasemat Selective Search mehhanismi. SeejĂ€rel edastatakse eraldatud piiratud piirkonnad tavapĂ€rasele tehisnĂ€rvivĂ”rgule klassifitseerimiseks. R-CNN arhitektuuris on selged „for” tsĂŒklid, mis loovad piiratud piirkondade jaoks, kokku kuni 2000 korda lĂ€bi sisemise vĂ”rgu AlexNet. Selgete „for” tsĂŒklite tĂ”ttu aeglustub piltide töötlemise kiirus. Igakuuselt vĂ€hendatakse selgete tsĂŒklite arvu ja lĂ€bidud ringe sisemise tehisnĂ€rvivĂ”rgu kaudu, samuti tehakse kĂŒmneid teisi muudatusi kiirusete suurendamiseks ja objekti tuvastamise ĂŒlesande asendamiseks objekti segmentimisega Mask R-CNN-s.
  • YOLO (Yainult Ovaatab Laga Once) – esimene nĂ€rvivĂ”rk, mis tuvastas objekte reaalajas mobiilseadmetes. EripĂ€ra: objektide eristamine ĂŒhe lĂ€bimisega (piisab korraks vaatamisest). See tĂ€hendab, et YOLO arhitektuuris ei ole selgeid 'for' silmuseid, mistĂ”ttu töötab vĂ”rk kiiresti. NĂ€iteks sarnasus: NumPy-s puuduvad ka silmused 'for' maatriksite operatsioonide puhul, kuna neid teostatakse NumPy-s madalamal arhitektuuritasemel C-programmeerimiskeele abil. YOLO kasutab eelmÀÀratud akendega ruudustikku. Selleks, et sama objekti ei tuvastataks korduvalt, kasutatakse akende kattuvuse koefitsienti (IoU, Intersection over Union). See arhitektuur töötab laias vahemikus ja omab kĂ”rget robustsust: mudel saab olla Ă”petatud fotodel, kuid töötab hĂ€sti ka joonistatud piltidel.
  • SSD (Single Shot MultiBox Detector) – kasutatakse parimaid YOLO arhitektuuri „nippe“ (nt mitte-maximalne mahasurumine) ning lisatakse uusi, et nĂ€rvivĂ”rk töötaks kiiremini ja tĂ€psemalt. EripĂ€ra: objektide eristamine ĂŒhe lĂ€bimise kaudu antud akna ruudustiku (default box) abil pildipĂŒramiidis. PildipĂŒramiid on kodeeritud konvolutsioonitensorites jĂ€rjestikuste konvolutsiooni ja max-poolingu operatsioonide kĂ€igus (max-poolingu operatsiooni puhul vĂ€heneb ruumiline mÔÔde). Nii mÀÀratakse suured kui ka vĂ€ikesed objektid ĂŒhe vĂ”rgu lĂ€bimisega.
  • MobileSSD (MobiilneNetV2 + SSD) – kahest nĂ€rvivĂ”rgu arhitektuurist koosnev kombinatsioon. Esimene vĂ”rk MobileNetV2 töötleb andmeid kiiresti ja suurendab tuvastamise tĂ€psust. MobileNetV2 asendab VGG-16, mida kasutati esialgselt originaalses artiklis. Teine vĂ”rk SSD mÀÀrab objektide asukoha pildil.
  • SqueezeNet – vĂ€ga vĂ€ike, kuid tĂ€pne tehisintellekt. Üksinda ei lahenda see objektide tuvastamise probleemi. Kuid seda saab kasutada erinevate arhitektuuride kombinatsioonis ning mobiilsetes seadmetes. Iseloomulik omadus on see, et andmed kokkusurutakse nelja 1×1 konvolutsioonifiltri abil, seejĂ€rel laiendatakse neid nelja 1×1 ja nelja 3×3 konvolutsioonifiltri abil. Ühte sellist andmete kokkusurumise ja laiendamise iteratsiooni nimetatakse „Fire Module“.
  • DeepLab (Semantilise pildisegmentatsiooni teostamine sĂŒgavate konvolutsioonivĂ”rkudega) – objektide segmentatsioon pildil. Arhitektuuri iseloomustab haruldane (dilated convolution) konvolutsioon, mis sĂ€ilitab ruumilise eraldusvĂ”ime. JĂ€rgneb tulemuste post-protsessing etapp graafilise tĂ”enĂ€osusmudeliga (conditional random field), mis aitab eemaldada vĂ€ikeseid segadusi segmentatsioonis ja parandada segmenteeritud pildi kvaliteeti. Kohutava nime „graafiline tĂ”enĂ€osusmudel“ taga peitub tavaline Gaussi filter, mis on viie punkti kaupa lĂ€henenud.
  • PĂŒĂŒdsin vĂ€lja selgitada, kuidas see töötab RefineDet (Single-Shot Refinement Neural Network for Object Detja, kuid sain vĂ€he aru.
  • Vaatasin ka, kuidas töötab tehnoloogia „tĂ€helepanu“ (attention): video1, video2, video3. TĂ€helepanu arhitektuuri iseloomustab automaatne tĂ€helepanu piirkondade (RoI) esiletĂ”stmine pildil, Rhuvide of Imille vĂ”imaldab nĂ€rvivĂ”rk nimega Attention Unit. TĂ€helepanu piirkonnad sarnanevad piiritletud alade (bounding boxes) mĂ€rkidega, kuid erinevalt neist ei ole nad pildile kinnitatud ja vĂ”ivad omada hĂ€guseid piire. SeejĂ€rel eraldatakse tĂ€helepanu piirkondadest omadused (features), mis „yoni on“ rekurentsvĂ”rkudele, mille arhitektuurid on LSTM, GRU vĂ”i Vanilla RNN. RekurentsvĂ”rgud suudavad analĂŒĂŒsida omaduste omavahelisi seoseid jĂ€rjestuses. RekurentsvĂ”rgud on algselt kasutatud tekstide tĂ”lkimiseks teistesse keeltesse, kuid nĂŒĂŒd ka pildist teksti ja teksti pildiks.

Nende arhitektuuride uurimise kĂ€igus sain aru, et ma ei saa midagi aru.. Ja asi pole selles, et minu nĂ€rvivĂ”rgul on tĂ€helepanu mehhanismiga probleeme. KĂ”ikide nende arhitektuuride loomine sarnaneb mĂ”ne tohutu hackathoniga, kus autorid vĂ”istlevad hĂ€kkimises. Hack (hĂ€kk) on kiire lahendus keerulisele tarkvarakĂŒsimusele. See tĂ€hendab, et kĂ”igi nende arhitektuuride vahel pole nĂ€htavat ega arusaadavat loogilist seost. KĂ”ike, mis neid ĂŒhendab, peetakse parimateks hĂ€kkideks, mida nad ĂŒksteiselt laenavad, pluss ĂŒhine kĂ”igile tagasiside koondamisoperatsioon (vea tagasikandmine, backpropagation). Ei sĂŒsteemset mĂ”tlemist! Pole selge, mida muuta ja kuidas olemasolevaid saavutusi optimeerida.

Tulemuseks on see, et hĂ€kkide vahelise loogilise seose puudumise tĂ”ttu on need ÀÀrmiselt raskesti meeldejĂ€tmised ja praktikas rakendatavad. Need on killustatud teadmised. Parimal juhul jÀÀvad meelde mĂ”ned huvitavad ja ootamatud hetked, kuid enamik arusaadust ja arusaamatust kaob mĂ€lust juba paar pĂ€eva pĂ€rast. Oleks hea, kui nĂ€dal pĂ€rast mĂ€letatakse vĂ€hemalt arhitektuuri nime. Ja selle artiklite lugemise ja ĂŒlevaatevideote vaatamise peale on kulutatud mitu tundi ja isegi pĂ€eva tööaega!

Neuraalsed vÔrgud. Kuhu see kÔik liigub

Joonis 2 – NeuraalvĂ”rkude loomaaed

Minu isikliku arvamuse kohaselt pĂŒĂŒavad enamik teadusartiklite autoreid teha kĂ”ik, et isegi need killustatud teadmised ei jÀÀks lugejale arusaadavaks. Kuid gerundite kasutamine kĂŒmnes rida koos valemitega, mis on vĂ”etud „laest“ – see on teema eraldi artikli jaoks (probleem publish or perish).

SellepĂ€rast tekkis vajadus sĂŒsteematiseerida teave neuraalvĂ”rkude kohta ja seelĂ€bi parandada arusaamise ja mĂ€letamise kvaliteeti. Seega sai erinevate tehnoloogiate ja kunstlike neuraalvĂ”rkude arhitektuuride analĂŒĂŒsi pĂ”hiteemaks jĂ€rgmine ĂŒlesanne: vĂ€lja selgitada, kuhu see kĂ”ik liigub, mitte millise konkreetse neuraalvĂ”rgu ĂŒlesehitusse.

Kuhu see kÔik liigub. Peamised tulemused:

  • MasinĂ”ppe alustestimite arv viimase kahe aasta jooksul on jĂ€rsult vĂ€henenud. VĂ”imalik pĂ”hjus: „neuraalvĂ”rgud ei ole enam millegi uue sĂŒmboliks.”
  • IgaĂŒks saab luua töötava neuraalvĂ”rgu lihtsa ĂŒlesande lahendamiseks. Selleks vĂ”tab ta valmis mudeli „mudelite loomaaed” (model zoo) ja treenib neuraalvĂ”rgu viimast kihti (transfer learning) valmisteatud andmete pĂ”hjal Google'i andmehĂ”ive otsing vĂ”i 25 000 Kaggle'i andmestikku tasuta Jupyter Notebook'i pilves.
  • Suurte tehisintellekti tootjate loomine modellide loomaaedade (model zoo). Nende abil on vĂ”imalik kiiresti luua Ă€rirakendus: TF Hub TensorFlow'i jaoks, MMDetection PyTorch'i jaoks, Detectron Caffe2 jaoks, chainer-modelzoo Chainer'i jaoks ja teised.
  • Tehisintellekt, mis töötab reaalses ajas (real-time) mobiilseadmetes. 10 kuni 50 kaadrit sekundis.
  • Tehisintellekti rakendamine telefonides (TF Lite), brauserites (TF.js) ja igapĂ€evastes esemetes (IoT, Iasjade of Tinternet). Eriti telefonides, mis juba toetavad tehisintellekti riistvara tasemel (neuroakseleraatorid).
  • „Iga seade, rĂ”ivad ja vĂ”ib-olla isegi toit saavad IP-v6 aadressi ja suhtlevad omavahel“ – Sebastian Thrun.
  • MasinĂ”ppe publikatsioonide arv on hakanud ĂŒletama Moore'i seadust (kahekordistumine iga kahe aasta tagant) alates 2015. aastast. On ilmne, et on vaja artiklite analĂŒĂŒsimiseks tehisintellekti.
  • JĂ€rgmised tehnoloogiad saavad ĂŒha populaarsemaks:
    • PyTorch – populaarsus kasvab kiiresti ja nĂ€ib, et see ĂŒletab TensorFlow'd.
    • Automaatne hĂŒperparameetrite valik AutoML – populaarsus kasvab aeglaselt.
    • TĂ€pseuse jĂ€rkjĂ€rguline vĂ€henemine ja arvutuskiirus: ebamugav loogika, algoritmid boosting, ebatĂ€psed (ligikaudsed) arvutused, kvantimine (kui nĂ€rvivĂ”rgu kaalu muudetakse tĂ€isarvudeks ja kvantitakse), nĂ€rviakseleraatorid.
    • TĂ”lge teksti ja teksti pildiks.
    • Loomine kolmemÔÔtmeliste objektide video pĂ”hjal, nĂŒĂŒd juba reaalajas.
    • Peamine DL-is on see, et andmeid on palju, kuid nende kogumine ja tĂ€histamine ei ole kerge. SeetĂ”ttu areneb automaatne tĂ€histamine (automated annotation) nĂ€rvivĂ”rkude jaoks kasutades nĂ€rvivĂ”rke.
  • NĂ€rvivĂ”rkudega on arvutiteadus Ă€kitselt muutunud eksperimentaalseks teaduseks ja tekkinud on reproducibility crisis.
  • IT-raha ja nĂ€rvivĂ”rkude populaarsus ilmusid samaaegselt, kui arvutused muutusid turuvÀÀrtuseks. Majandus on kuldvaluuta-arvutuslikuks muutumas . Vaadake minu artiklitökonofoorikas ja IT-raha tekkimise pĂ”hjuseid. Ajanadaliselt tekib uus

ML/DL programmeerimise metodoloogia (Machine Learning & Deep Learning), mis pĂ”hineb programmi kĂ€sitlemisel, kui kogum treenitud nĂ€rvivĂ”rkude mudeleid. Joonis 3 – ML/DL kui uus programmeerimise metodoloogia

Neuraalsed vÔrgud. Kuhu see kÔik liigub

Kuid "neurovÔrkude teooriat" pole nii kunagi tekkinud.

Kuid see ei ilmunud kunagi «neuraalvĂ”rkude teooria», mille vĂ”ivad mĂ”elda ja töötada sĂŒsteemselt. See, mis praegu nimetatakse 'teooriaks', on tegelikult eksperimentaalsed, heuristilised algoritmid.

Lingid minu ja mitte ainult ressurssidele:

AitÀh tÀhelepanu eest!

Allikas: habr.com

Osta usaldusvÀÀrne veebihosting DDoS kaitsega, VPS VDS serverid đŸ”„ Osta usaldusvÀÀrne veebihosting DDoS kaitsega, VPS VDS serverid | ProHoster