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.. Для обнаружения объекта на изображении с помощью механизма Region Proposal Network (RPN) выделяются ограниченные регионы (bounding boxes). Первоначально вместо RPN применялся более медленный механизм Selective Search. Затем выделенные ограниченные регионы подаются на вход обычной нейросети для классификации. В архитектуре R-CNN есть явные циклы «for» перебора по ограниченным регионам, всего до 2000 прогонов через внутреннюю сеть AlexNet. Из-за явных циклов «for» замедляется скорость обработки изображений. Количество явных циклов, прогонов через внутреннюю нейросеть, уменьшается с каждой новой версией архитектуры, а также проводятся десятки других изменений для увеличения скорости и для замены задачи обнаружения объектов на сегментацию объектов в Mask R-CNN.
  • YOLO (YOduhet LOnce) – 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

Bli një hosting të besueshëm për faqet me mbrojtje DDoS, VPS VDS serverë 🔥 Bli një hosting të besueshëm për faqet me mbrojtje DDoS, VPS VDS serverë | ProHoster