Rrjetë nervore. Ku po shkon gjithçka

Artikulli ndahet në dy pjesë:

  1. Një përshkrim i shkurtër i disa arkitekturave të rrjetit për identifikimin e objekteve në imazh dhe segmentimin e imazheve me lidhjet më të qarta që njoh. Mundohesha të zgjidhja video shpjeguese dhe preferoja ato në gjuhën shqipe.
  2. Pjesa e dytë është një përpjekje për të kuptuar drejtimin e zhvillimit të arkitekturave të rrjeteve nervore dhe teknologjive mbi bazën e tyre.

Rrjetë nervore. Ku po shkon gjithçka

FigurĂ« 1 – Nuk Ă«shtĂ« e lehtĂ« tĂ« kuptosh arkitekturat e rrjeteve nervore

Të gjitha filluan kur krijova dy aplikacione demonstrative për klasifikimin dhe identifikimin e objekteve në telefonin Android:

  • Demo back-end, kur tĂ« dhĂ«nat procesohen nĂ« server dhe dĂ«rgohen nĂ« telefon. Klasifikimi i imazheve (image classification) tĂ« tre llojeve tĂ« ariut: ari i kaltĂ«r, ari i zi dhe ari mbushĂ«s.
  • Demo front-end, kur tĂ« dhĂ«nat procesohen nĂ« telefonin e vet. Identifikimi i objekteve (object detection) tĂ« tre llojeve: filix, fiku dhe datelina.

Ka një ndryshim midis detyrave të klasifikimit të imazheve, identifikimit të objekteve në imazh dhe segmentimit të imazheve. Prandaj, u shfaq nevoja për të kuptuar cilat arkitektura të rrjeteve nervore zbulonin objekte në imazhe dhe cilat mund të segmentejnë ato. Gjeta këto shembuj arkitekturash me lidhje më të qarta për mua:

  • Seria e arkitekturave tĂ« bazuara nĂ« R-CNN (Rregjione me Ckonvolucion Nrrjete nervore): R-CNN, Fast R-CNN, NFaster R-CNN Mask R-CNN, . PĂ«r zbulimin e objekteve nĂ« imazhe me mekanizmin Region Proposal Network (RPN), caktohen rajone tĂ« kufizuara (bounding boxes). Fillimisht, pĂ«rpara RPN, u pĂ«rdor njĂ« mekanizĂ«m mĂ« tĂ« ngadalshĂ«m, Selective Search. Pastaj, rajonet e kufizuara tĂ« theksuara jepen si input pĂ«r njĂ« rrjet nervor tĂ« zakonshĂ«m pĂ«r klasifikim. NĂ« arkitekturĂ«n R-CNN ka cikle tĂ« qarta 'for' pĂ«r tĂ« kaluar nĂ«pĂ«r rajonet e kufizuara, deri nĂ« 2000 kalime pĂ«rmes rrjetit tĂ« brendshĂ«m AlexNet. PĂ«r shkak tĂ« cikleve tĂ« qarta 'for', ngadalĂ«sohet shpejtĂ«sia e pĂ«rpunimit tĂ« imazheve. Numri i cikleve tĂ« qarta, kalimeve pĂ«rmes rrjetit tĂ« brendshĂ«m, zvogĂ«lohet me çdo version tĂ« ri tĂ« arkitekturĂ«s, si dhe kryhen dhjetĂ«ra ndryshime tĂ« tjera pĂ«r tĂ« rritur shpejtĂ«sinĂ« dhe pĂ«r tĂ« zĂ«vendĂ«suar detyrĂ«n e zbulimit tĂ« objekteve me segmentimin e objekteve nĂ« Mask R-CNN.. PĂ«r zbulimin e objekteve nĂ« imazhe, mekanizmi Region Proposal Network (RPN) identifikon rajone tĂ« kufizuara (bounding boxes). NĂ« fillim, pĂ«r zbulim Ă«shtĂ« pĂ«rdorur njĂ« mekanizĂ«m mĂ« i ngadaltĂ«, Selective Search. Pas kĂ«saj, rajonet e kufizuara tĂ« identifikuara kalojnĂ« nĂ«pĂ«r njĂ« rrjet neural tĂ« zakonshĂ«m pĂ«r klasifikim. NĂ« arkitekturĂ«n R-CNN ka cikle tĂ« qarta 'for' qĂ« kalojnĂ« pĂ«rmes rajoneve tĂ« kufizuara, duke arritur deri nĂ« 2000 kalime pĂ«rmes rrjetit tĂ« brendshĂ«m AlexNet. PĂ«r shkak tĂ« cikleve tĂ« qarta 'for', shpejtĂ«sia e pĂ«rpunimit tĂ« imazheve ngadalĂ«sohet. Numri i cikleve tĂ« qarta, kalimeve pĂ«rmes rrjetit neural tĂ« brendshĂ«m, zvogĂ«lohet me çdo version tĂ« ri tĂ« arkitekturĂ«s, si dhe bĂ«hen dhjetĂ«ra ndryshime tĂ« tjera pĂ«r tĂ« rritur shpejtĂ«sinĂ« dhe pĂ«r tĂ« zĂ«vendĂ«suar detyrĂ«n e zbulimit tĂ« objekteve me segmentimin e objekteve nĂ« Mask R-CNN.
  • YOLO (YqĂ« Oduhet LtĂ« Once) – rrjeta e parĂ« nervore qĂ« njohu objekte nĂ« kohĂ« reale nĂ« pajisjet celulare. Karakteristika dalluese: dallimi i objekteve pas njĂ« kalimi (mjafton tĂ« shikosh njĂ« herĂ«). Pra, nĂ« arkitekturĂ«n YOLO nuk ka cikle tĂ« qarta "for", pĂ«r shkak tĂ« sĂ« cilĂ«s rrjeta punon shpejt. PĂ«r shembull, Ă«shtĂ« si analogjia qĂ« nĂ« NumPy, gjatĂ« operacioneve me matrica, gjithashtu nuk ka cikle tĂ« qarta "for", tĂ« cilat nĂ« NumPy realizohen nĂ« nivele mĂ« tĂ« ulta arkitekture pĂ«rmes gjuhĂ«s sĂ« programimit C. YOLO pĂ«rdor njĂ« grilĂ« me dritare tĂ« paracaktuara. PĂ«r tĂ« shmangur identifikimin e tĂ« njĂ«jtit objekt disa herĂ«, pĂ«rdoret coefficienti i mbivendosur tĂ« dritareve (IoU, Intersection over Union). Kjo arkitekturĂ« punon nĂ« njĂ« gamĂ« tĂ« gjerĂ« dhe ka robustĂ«si: modeli mund tĂ« trajnohet nĂ« fotografi, por megjithatĂ« punon mirĂ« nĂ« piktura tĂ« vizatuara.
  • SSD (Single Shot MultiBox DPĂ«rdoren trikimet mĂ« tĂ« dobishme tĂ« arkitekturĂ«s YOLO (pĂ«r shembull, non-maximum suppression) dhe shtohen tĂ« reja, pĂ«r tĂ« punuar mĂ« shpejt dhe saktĂ« me nevrale. Karakteristika dalluese: dallimi i objekteve nĂ« njĂ« kalim me anĂ« tĂ« njĂ« rrjeti dritash (default box) nĂ« piramidĂ«n e imazheve. Piramida e imazheve Ă«shtĂ« koduar nĂ« tenzorĂ«t konvulutes duke kryer operacione tĂ« renditjes dhe pooling (nĂ« operacionin max-pooling, dimensioni hapĂ«sinor zvogĂ«lohet). KĂ«shtu pĂ«rcaktohen si objektet e mĂ«dha ashtu edhe ato tĂ« vogla nĂ« njĂ« kalim tĂ« rrjetit.
  • MobileSSD (MobileNetV2 + SSD) – kombinimi i dy arkitekturave tĂ« rrjeteve nervore. Rrjeti i parĂ« MobileNetV2 punon shpejt dhe rrit saktĂ«sinĂ« e njohjes. MobileNetV2 pĂ«rdoret nĂ« vend tĂ« VGG-16, e cila u pĂ«rdor fillimisht nĂ« artikulli origjinal. Rrjeti i dytĂ« SSD pĂ«rcakton pozitat e objekteve nĂ« imazh.
  • SqueezeNet – njĂ« rrjet neural shumĂ« tĂ« vogĂ«l, por tĂ« saktĂ«. Ai vetĂ« nuk zgjidh problemin e objektit. MegjithatĂ«, mund tĂ« pĂ«rdoret nĂ« kombinim me arkitektura tĂ« ndryshme. Dhe mund tĂ« pĂ«rdoret nĂ« pajisje mobile. Karakteristika dalluese Ă«shtĂ« se fillimisht tĂ« dhĂ«nat kompresohen nĂ« katĂ«r filtra konvolucion 1×1, dhe pastaj zgjerohen nĂ« katĂ«r filtra konvolucion 1×1 dhe katĂ«r filtra konvolucion 3×3. NjĂ« iteracion i tillĂ« i kompresimit dhe zgjerimit tĂ« tĂ« dhĂ«nave quhet «Moduli i Zjarrit».
  • DeepLab (Segmentimi i Imazheve Semantike me Rrjeta Konvencionale tĂ« thella) – segmentimi i objekteve nĂ« njĂ« imazh. Karakteristika dalluese e arkitekturĂ«s Ă«shtĂ« konvolucioni i holluar (dilated convolution), i cili ruan rezolutĂ«n hapĂ«sinore. Pas kĂ«saj, ndodh faza e pĂ«rpunimit post-ekzekutiv tĂ« rezultateve duke pĂ«rdorur njĂ« model probabilistik grafik (conditional random field), qĂ« lejon heqjen e zhurmave tĂ« vogla nĂ« segmentim dhe pĂ«rmirĂ«simin e cilĂ«sisĂ« sĂ« imazhit tĂ« segmentuar. Pas emrit tĂ« fuqishĂ«m «model probabilistik grafik» fshihet njĂ« filtĂ«r i zakonshĂ«m Gauss, i cili Ă«shtĂ« aproksimuar nĂ« bazĂ« tĂ« pesĂ« pikave.
  • PĂ«rpiqesha tĂ« kuptoja mekanizmin RefineDet (Rrjet Neural i QĂ«ndrueshĂ«m pĂ«r Objektin nĂ« njĂ« Gjuajtje Refinement Neural Network for Object DetmĂ«nyrĂ«s, por nuk kuptova shumĂ«.
  • Shikova gjithashtu se si funksionon teknologjia "vĂ«mendje" (attention): video1, video2, video3. NjĂ« karakteristikĂ« e veçantĂ« e arkitekturĂ«s "vĂ«mendje" Ă«shtĂ« nxjerrja automatikisht e rajoneve me vĂ«mendje tĂ« pĂ«rmirĂ«suar nĂ« imazh (RoI, RRajonet of Ie Interesit) pĂ«rmes njĂ« rrjete nervore tĂ« quajtur NjĂ«sia e VĂ«mendjes. Rajonet me vĂ«mendje tĂ« pĂ«rmirĂ«suar ngjasojnĂ« me kutitĂ« kufizuese (bounding boxes), por ndryshe nga ato, nuk janĂ« tĂ« ngulitura nĂ« imazh dhe mund tĂ« kenĂ« kufij tĂ« paqĂ«ndrueshĂ«m. MĂ« pas, nga rajonet me vĂ«mendje tĂ« pĂ«rmirĂ«suar nxirren tiparet (features), tĂ« cilat "ushqehĂ«n" nĂ« rrjetet nervore rekurentĂ« me arkitektura LSTM, GRU ose Vanilla RNN. Rrjetet nervore rekurentĂ« janĂ« tĂ« afta tĂ« analizojnĂ« marrĂ«dhĂ«nien e tipareve nĂ« njĂ« sekuencĂ«. Rrjetet nervore rekurentĂ« fillimisht u pĂ«rdorĂ«n pĂ«r pĂ«rkthimin e teksteve nĂ« gjuhĂ« tĂ« tjera, tani edhe pĂ«r pĂ«rkthimin nga imazhi nĂ« tekst dhe nga teksti nĂ« imazh.

Me kalimin e kohës duke studiuar këto arkitektura kuptova se nuk kuptoj asgjë.. Dhe nuk është se në rrjetin tim nervor ka probleme me mekanizmin e vëmendjes. Krijimi i të gjitha këtyre arkitekturave është si një hackathon i madh, ku autorët garojnë në hacks. Hack (hack) është një zgjidhje e shpejtë për një detyrë të vështirë programore. Pra, mes të gjitha këtyre arkitekturave nuk ka një lidhje të dukshme dhe logjike. E vetmja gjë që i bashkon ato është një grup hacks të suksesshëm që ata huazojnë nga njëri-tjetri, plus një lidhje e përbashkët për të gjithë operacioni i konvolucionit me feedback (përhapja e prapme e gabimeve, backpropagation). Jo mendimi sistemor! Nuk është e qartë se çfarë duhet të ndryshohet dhe si të optimizohen arritjet ekzistuese.

Si rezultat i mungesës së lidhjeve logjike mes hacks, ato janë tepër të vështira për t'u mbajtur mend dhe për t'u aplikuar në praktikë. Këto janë njohuri fragmentarike. Në rastin më të mirë, disa momente interesante dhe të papritura mbahen mend, por shumica e asaj që u kuptua dhe nuk u kuptua zhduket nga memoria pas disa ditësh. Do të ishte mirë nëse pas një javë do të kujtohej të paktën emri i arkitekturës. Dhe për të lexuar artikuj dhe për të parë video përmbledhëse u shpenzuan disa orë dhe madje ditë të kohës së punës!

Rrjetë nervore. Ku po shkon gjithçka

Figura 2 – Zoologjia e rrjeteve nervore

SipĂ«rfaqja e artikujve shkencorĂ«, sipas mendimit tim personal, Ă«shtĂ« se shumica e autorĂ«ve pĂ«rpiqen tĂ« bĂ«jnĂ« tĂ« vetĂ«m qĂ« edhe kĂ«to njohuri tĂ« fragmentuara tĂ« mos kuptohen nga lexuesi. Por, ndĂ«rtimet e pjesĂ«ve tĂ« folura nĂ« dhjetĂ« proza me formula, tĂ« marra 'nga tavani' – ky Ă«shtĂ« njĂ« temĂ« pĂ«r njĂ« artikull tĂ« veçantĂ« (problemi publish or perish).

Për këtë arsye, ka lindur nevoja për të sistematizuar informacionin në lidhje me rrjetet nervore dhe, në këtë mënyrë, për të rritur cilësinë e kuptimit dhe memorizimit. Kështu, tema kryesore e shqyrtimit të teknologjive dhe arkitekturave të ndryshme të rrjeteve nervore artificiale ishte detyra e mëposhtme: të kuptojmë se ku po shkon gjithçka, dhe jo struktura e ndonjë rrjeti nervor të veçantë.

Ku po shkon gjithçka. Rezultatet kryesore:

  • Numri i startupeve nĂ« fushĂ«n e mĂ«simit mbĂ«shtetĂ«s nĂ« dy vitet e fundit ka rĂ«nĂ« ndjeshĂ«m. Shkaku i mundshĂ«m: 'rrjetet nervore kanĂ« ndaluar sĂ« qeni diçka e re'.
  • Çdo kush mund tĂ« krijojĂ« njĂ« rrjet nervor funksional pĂ«r tĂ« zgjidhur njĂ« detyrĂ« tĂ« thjeshtĂ«. PĂ«r kĂ«tĂ«, do tĂ« marrĂ« njĂ« model tĂ« gatshĂ«m nga 'zoo e modeleve' (model zoo) dhe do tĂ« stĂ«rvisĂ« shtresĂ«n e fundit tĂ« rrjetit nervor (transfer learning) mbi tĂ« dhĂ«nat e gatshme nga KĂ«rkimi nĂ« Dataset-in e Google apo nga 25,000 datasets nĂ« Kaggle nĂ« cloudin falas tĂ« Jupyter Notebook.
  • Prodhuesit e mĂ«dhenj tĂ« rrjeteve nervore filluan tĂ« krijojnĂ« «zoo modele» (model zoo). Me anĂ« tĂ« tyre mund tĂ« krijoni shpejt njĂ« aplikacion komercial: TF Hub pĂ«r TensorFlow, MMDetection pĂ«r PyTorch, Detectron pĂ«r Caffe2, chainer-modelzoo pĂ«r Chainer dhe tĂ« tjera.
  • Rrjetet nervore qĂ« punojnĂ« nĂ« kohĂ« reale (real-time) nĂ« pajisjet mobile. Nga 10 deri nĂ« 50 kadra nĂ« sekondĂ«.
  • Aplikimi i rrjeteve nervore nĂ« telefonat (TF Lite), nĂ« shfletues (TF.js) dhe nĂ« objekte tĂ« pĂ«rdorimit tĂ« pĂ«rditshĂ«m (IoT, Igjerat of T). Sidomos nĂ« telefonat qĂ« tashmĂ« mbĂ«shtesin rrjetet nervore nĂ« nivelin e «harduerit» (neuroaccelerators).
  • «Çdo pajisje, objekte veshjeje dhe, ndoshta, madje edhe ushqimi do tĂ« kenĂ« adresĂ«n IP-v6 dhe do tĂ« komunikojnĂ« me njĂ«ra-tjetrĂ«n» – Sebastian Thrun.
  • Rritja e numrit tĂ« publikimeve pĂ«r mĂ«simin motorik ka filluar tĂ« tejkalojĂ« ligjin e Moore (dyfishimi çdo dy vjet) qĂ« nga viti 2015. ËshtĂ« e qartĂ« se nevojiten rrjete nervore pĂ«r analizĂ«n e artikujve.
  • TeknologjitĂ« e mĂ«poshtme po fitojnĂ« popullaritet:
    • PyTorch – popullariteti po rritet me shpejtĂ«si dhe, duket se, po kalon TensorFlow.
    • Zgjedhja automatike e hiperparametrave AutoML – popullariteti po rritet ngadalĂ«.
    • RĂ«nia graduale e saktĂ«sisĂ« dhe rritja e shpejtĂ«sisĂ« sĂ« llogaritjeve: logjikĂ« e paqartĂ«, algoritme boosting, llogaritje tĂ« pasakta (afrohet), kvantizimi (kur peshat e rrjetit nervor shndĂ«rrohen nĂ« numra tĂ« plotĂ« dhe kvantizohen), neuroakseleratorĂ«t.
    • PĂ«rkthim nga imazhi nĂ« tekst dhe nga teksti nĂ« imazh.
    • Krijimi Objekte tridimensionale nga video, tani tashmĂ« nĂ« kohĂ« reale.
    • Pika kryesore nĂ« DL Ă«shtĂ« se ka shumĂ« tĂ« dhĂ«na, por mbledhja dhe etiketimi i tyre nuk Ă«shtĂ« e lehtĂ«. Prandaj zhvillohet automatizimi i etiketimit (automated annotation) pĂ«r rrjetet nervore me ndihmĂ«n e rrjeteve nervore.
  • Me rrjetet nervore, Shkenca Kompjuterike papritur u bĂ« shkencĂ« eksperimentale dhe ndodhi kriza e riprodhueshmĂ«risĂ«.
  • ParatĂ« nĂ« IT dhe popullariteti i rrjeteve nervore u shfaqĂ«n njĂ«kohĂ«sisht, kur llogaritjet u bĂ«nĂ« njĂ« vlerĂ« tregu. Ekonomia nga valuta e arit bĂ«het arit-valutĂ«-llogaritĂ«se.Shihni artikullin tim mbi ekonofizikĂ«n dhe arsyen e shfaqjes sĂ« parave IT.

Gradualisht po shfaqet një metodologji e re e programimit ML/DL (Mësimi i Makinerive & Mësimi i Thellë), e cila bazohet në përfaqësimin e programit si një bashkësi modelesh të trajnuara të rrjetit nervor.

Rrjetë nervore. Ku po shkon gjithçka

Figura 3 – ML/DL si njĂ« metodologji e re programimi

Megjithatë, nuk ka ardhur akoma «teoritë e rrjeteve nervore», në kuadër të cilit mund të mendoni dhe punoni sistematikisht. Ajo që tani quhet «teori» në të vërtetë janë algoritme eksperimentale dhe heuristike.

Lidhje për burimet e mia dhe jo vetëm:

Faleminderit për vëmendjen!

Burimi: habr.com

Bleni hostim tĂ« besueshĂ«m pĂ«r faqe me mbrojtje nga DDoS, serverĂ« VPS VDS đŸ”„ Bleni hostim tĂ« besueshĂ«m pĂ«r faqe me mbrojtje nga DDoS, serverĂ« VPS VDS | ProHoster