Artikkel koosneb kahest osast:
- LĂŒhike ĂŒlevaade mĂ”nest objektide tuvastamise ja pildisegmentatsiooni vĂ”rgustiku arhitektuurist koos kĂ”ige arusaadavamate linkidega ressurssidele. PĂŒĂŒdsin valida videote selgitusi ja eelistatavalt vene keeles.
- Teine osa seisneb katses mÔista nÀrvivÔrkude arhitektuuride arengusuunda. Ja nende pÔhjal arenevate tehnoloogiate.

Joonis 1 â NĂ€rvivĂ”rkude arhitektuuride mĂ”istmine ei ole lihtne
KÔik algas sellest, et tegin kaks demo rakendust objekti klassifitseerimiseks ja tuvastamiseks Android telefonis:
- , kus andmed töötlevad serveris ja edastatakse telefonile. Piltide klassifitseerimine (image classification) kolme tĂŒĂŒpi karupoegade puhul: pruuni, musta ja plĂŒĂŒsiga.
- , kus andmed töötlevad telefonis. Objektide tuvastamine (object detection) kolme tĂŒĂŒpi: sarapuu, viigimarja ja date.
Klassifitseerimise, objekti tuvastamise ja ĂŒlesannete vahel on erinevus. SeetĂ”ttu tekkis vajadus teada, millised nĂ€rvivĂ”rgu arhitektuurid tuvastavad objekte piltidel ja millised vĂ”ivad segmenteerida. Leidsin jĂ€rgmised arhitektuuride nĂ€idised koos kĂ”ige arusaadavamate linkidega ressurssidele:
- R-CNN (Rregioonid koos Ckonvolutsiooni NneuraalvÔrkude omadustega): R-CNN, Fast R-CNN, NFaster R-CNN , YOLO
- (Yvaatama Oainult Lvaatama OYOLO (You Only Look Once) â esimene nĂ€rvivĂ”rk, mis tuvastas objekte reaalajas mobiilseadmetes. EripĂ€ra: objektide eristamine ĂŒhe korra jooksul (piisab, kui vaadata ĂŒks kord). See tĂ€hendab, et YOLO arhitektuuris ei ole selgeid âforâ silmuseid, mistĂ”ttu vĂ”rk töötab kiiresti. NĂ€iteks sarnaneb see NumPy-ga, kus maatriksite toimingutes ei ole selgeid âforâ silmuseid, mis nende madalamal tasemel C programmeerimiskeeles teostatakse. YOLO kasutab eeldefineeritud akende vĂ”rgustikku. Korraga sama objekti tuvastamiseks kasutatakse akende kattuvuse koefitsienti (IoU, Iristumist oĂŒle Uliitu). Antud arhitektuur töötab laias valikus ja omab kĂ”rget : mudel saab olla koolitatud fotode peal, kuid töötab hĂ€sti ka joonistatud piltidel.
- (SSingle SShot MultiBox DDetector) â kasutatakse kĂ”ige Ă”nnestunumaid ânippeâ YOLO arhitektuurist (nĂ€iteks non-maximum suppression) ja lisatakse uusi, et nĂ€rvivĂ”rk töötaks kiiremini ja tĂ€psemalt. EripĂ€ra: objektide eristamine ĂŒhe korra jooksul antud akende vĂ”rgustiku (default box) abil pildipĂŒramiidis. PildipĂŒramiid on kodeeritud konvolutsiooniliste tensoreid jĂ€rjestikuste konvolutsioonide ja maksimeerimise toimingute kaudu (maksimeerimise toimingute kĂ€igus ruumiline dimensioon vĂ€heneb). Nii tuvastatakse nii suuri kui ka vĂ€ikseid objekte ĂŒhe korra jooksul.
- MobileSSD (MobiilneNetV2 + SSD) â kahe nĂ€rvivĂ”rgu arhitektuuri kombinatsioon. Esimene vĂ”rk töötab kiiresti ja suurendab tuvastamise tĂ€psust. MobileNetV2 kasutatakse VGG-16 asemel, mis algselt kasutati . Teine vĂ”rk SSD tuvastab objektide asukoha pildil.
- â vĂ€ga vĂ€ike, kuid tĂ€pne nĂ€rvivĂ”rk. See ei lahenda iseseisvalt objektide tuvastamise ĂŒlesannet. Kuid seda saab kasutada erinevate arhitektuuride kombinatsioonis. Ja kasutada mobiilseadmetes. EripĂ€raks on asjaolu, et kĂ”igepealt andmed kokku surutakse nelja 1Ă1 konvolutsioonifiltri abil ning seejĂ€rel laienevad nelja 1Ă1 ja nelja 3Ă3 konvolutsioonifiltri abil. Ăhte sellist andmete kokku surumise ja laienemise iteratsiooni nimetatakse âFire Moduleâ.
- (Semantic Image Segmentation with Deep Convolutional Nets) â objektide segmenteerimine pildil. Arhitektuuri iseloomulikuks tunnuseks on hĂ”re konvolutsioon (dilated convolution), mis sĂ€ilitab ruumilise eraldusvĂ”ime. SeejĂ€rel jĂ€rgneb tulemuste jĂ€reltöötlus graafilise tĂ”enĂ€osusmudeli (conditional random field) abil, mis vĂ”imaldab eemaldada vĂ€ikseid mĂŒrasid segmentatsioonist ja parandada segmentitud pildi kvaliteeti. HirmuĂ€ratava nimega âgraafiline tĂ”enĂ€osusmudelâ peidab end tavaline Gaussi filter, mis on ligikaudne viie punkti jĂ€rgi.
- PĂŒĂŒdsin aru saada seadmest. (Single-Shot Refinement Neural Network for Object Detection), kuid ei mĂ”istnud palju.
- Vaatasin ka, kuidas töötab âtĂ€helepanuâ (attention) tehnoloogia: , , . Arhitektuuri âtĂ€helepanuâ iseloomulik tunnus on kĂ”rgendatud tĂ€helepanu piirkondade automaatne esiletoomine pildil (RoI, Regions of Interest) nĂ€rvivĂ”rgu Attention Unit abil. KĂ”rgendatud tĂ€helepanu piirkonnad sarnanevad piiratud piirkondadele (bounding boxes), kuid erinevalt neist ei ole nad pildil fikseeritud ja vĂ”ivad omada uduseid piire. SeejĂ€rel eraldatakse kĂ”rgendatud tĂ€helepanu piirkondadest omadused (feature), mis âtoidetakseâ rekursiivsetele nĂ€rvivĂ”rkudele arhitektuuridega . Rekursiivsed nĂ€rvivĂ”rgud oskavad analĂŒĂŒsida omaduste suhteid jĂ€rjestuses. Rekursiivseid nĂ€rvivĂ”rke kasutati algselt teksti tĂ”lkimiseks teistesse keeltesse, nĂŒĂŒd aga ka ja .
Nende arhitektuuridega tutvudes aru, et ma ei mĂ”ista midagi.. See ei ole tingitud sellest, et minu nĂ€rvivĂ”rgul oleks probleeme tĂ€helepanu mehhanismiga. KĂ”ikide nende arhitektuuride loomine sarnaneb mĂ”ne tohutu hackathoniga, kus autorid konkureerivad hĂ€kkimise oskustes. HĂ€kk (hack) on kiire lahendus keerulisele programmikĂŒsimusele. Ehkki nende kĂ”igi arhitektuuride vahel puudub nĂ€htav ja arusaadav loogiline seos. KĂ”ik, mis neid ĂŒhendab, on kĂ”ige edukamate hĂ€kete kogum, mida nad ĂŒksteiselt laenavad, pluss kĂ”igile ĂŒhine (tagasiside levitamine, backpropagation). Ei ole Pole selge, mida muuta ja kuidas olemasolevaid saavutusi optimeerida.
Tulemuseks on loogilise seose puudumine haakide vahel, mistĂ”ttu neid on ÀÀrmiselt raske meeles pidada ja praktikas rakendada. Need on killustatud teadmised. Parimal juhul jÀÀb meelde paar huvitavat ja ootamatut hetke, kuid enamus mĂ”istetust ja arusaamatust kaob mĂ€lu sĂŒgavustest juba mĂ”ne pĂ€eva pĂ€rast. Olgu hea, kui nĂ€dal pĂ€rast jÀÀb meelde vĂ€hemalt arhitektuuri nimi. Ja lugemiseks artiklite ja ĂŒlevaatevideote vaatamiseks on kulutatud mitu tundi ja isegi pĂ€evade kaupa tööaega!

Joonis 2 â
Enamik teadusartiklite autoreid, minu arvates, teeb kĂ”ik, et isegi need killustatud teadmised jÀÀksid lugejale arusaamatuks. Kuid gerundivormid kĂŒmnes rida lauses, milles on valemid, mis on âlaest vĂ”etudâ â see on teema eraldi artikliks (probleem ).
Selle tĂ”ttu tekkis vajadus sĂŒstematiseerida teave neuronaalsete vĂ”rkude kohta ja seega suurendada arusaamise ja meeldejĂ€tmise kvaliteeti. SeetĂ”ttu sai pĂ”hiliseks teema teatud tehnoloogiate ja tehisneuronaalsete vĂ”rkude arhitektuuride analĂŒĂŒsiks jĂ€rgmine ĂŒlesanne: teada, kuhu see kĂ”ik liigub, mitte ĂŒksiku neuronaalvĂ”rgu seadistust eraldi.
Kuhu see kÔik liigub. Peamised tulemused:
- MasinĂ”ppe valdkonnas alustanud startupide arv on viimase kahe aasta jooksul . VĂ”imalik pĂ”hjus: âneuronaalsed vĂ”rgud pole enam midagi uut.â
- IgaĂŒks suudab luua töötava neuronaalvĂ”rgu lihtsa ĂŒlesande lahendamiseks. Selle jaoks vĂ”etakse valmis mudel "mudelite loomaaia" (model zoo) seest ja treenitakse neuronaalvĂ”rgu viimane kiht () valmis andmete pĂ”hjal vĂ”i tasuta .
- Suured neuronaalvÔrkude tootjad on hakanud looma "mudelite loomaaedu" (model zoo). Nende abil on vÔimalik kiiresti luua kommertsrakendus: TensorFlow jaoks, PyTorch jaoks, Caffe2 jaoks, Chaineri jaoks ja .
- NeuronaalvÔrgud, mis töötavad reaalajas (real-time) mobiilseadmetes. Alates 10 kuni 50 kaadrit sekundis.
- NeuronaalvÔrkude rakendamine telefonides (TF Lite), brauserites (TF.js) ja (IoT, Iinternet of Tasjad). Eriti telefonides, mis juba toetavad neuronaalvÔrke riistvara tasemel (neuroakseleraatorid).
- Iga seade, riided ja vĂ”ib-olla isegi toit omavad IP-v6 aadressi ja suhtlevad omavahel" â .
- MasinĂ”ppe publikatsioonide arvu kasv on hakanud (kordumine iga kahe aasta tagant) alates 2015. aastast. Ilmselt on vajalikud nĂ€rvivĂ”rgud artiklite analĂŒĂŒsimiseks.
- Muganduvad populaarsust jÀrgmised tehnoloogiad:
- PyTorch â populaarsus kasvab kiirelt ja nĂ€ib, et ĂŒletab TensorFlow'd.
- Automaatne hĂŒperparameetrite valik AutoML â populaarsus kasvab ĂŒhtlaselt.
- TÀpsuse jÀrkjÀrguline vÀhenemine ja arvutuste kiirus: , algoritmid , ebatÀpsed (ligikaudsed) arvutused, kvantiseerimine (kui nÀrvivÔrkude kaalukad muudetakse tÀisarvudeks ja kvantiseeritakse), neuroakseleraatorid.
- TÔlge ja .
- Meetodi loomine , nĂŒĂŒd juba reaalajas.
- DL-i pÔhisisu on suur andmehulk, kuid nende kogumine ja mÀrgistamine pole lihtne. SeetÔttu areneb automatiseeritud mÀrgistamine () nÀrvivÔrkude jaoks, kasutades nÀrvivÔrke.
- NÀrvivÔrkude puhul sai arvutiteadus Àkitselt eksperimentaalseks teaduseks ja tekkis .
- IT-raha ja nÀrvivÔrkude populaarsus ilmus korraga, kui arvutused muutusid turuhinnaga. Majandus kullavaluta muutub kulla-varude-arvutuseks.Vaata minu artiklit ja IT-raha tekkimise pÔhjuse kohta.
Aeglaselt ilmub uus (MasinĂ”pe & SĂŒvaĂ”pe), mis pĂ”hineb programmi esitlemisel kui treenitud nĂ€rvivĂ”rkude mudelite kogumil.

Joonis 3 â ML/DL kui uus programmeerimismetodoloogia
Kuid siiski ei ole ilmunud »nĂ€rvivĂ”rkude teooriat«, mille pĂ”hjal saaks mĂ”elda ja sĂŒsteemselt töötada. See, mida praegu nimetatakse "teooriaks", on tegelikult eksperimenteerimised, heuristilised algoritmid.
Viidatud minu ja teiste ressursside kohta:
- Data Science uudiskiri. Peamiselt piltide töötlemise kohta. Kes soovib saada, saatke palun e-kiri (foobar167gmailcom). Artiklite ja videote lingid saadan kogunemise korral.
- Ăhine , mida olen lĂ€binud ja mida sooviksin lĂ€bida.
- , millega tasub alustada nĂ€rvivĂ”rkude Ă”ppimist. Pluss broĆĄĂŒĂŒr .
- , kus igaĂŒks leiab midagi huvitavat enda jaoks.
- ĂĂ€rmiselt kasulikud on olnud videokanaleid teadusartiklite analĂŒĂŒsi kohta Data Science'i valdkonnas. Leidke neid, tellige ja jagage linke oma kolleegidega ning ka minuga. NĂ€ited:
- ja samuti samm-sammult juhendite ja avatud koodiga.
AitÀh tÀhelepanu eest!
Allikas: habr.com
