Rrjetet nervore. Ku po shkon e gjithë kjo?

Artikulli përbëhet nga dy pjesë:

  1. Një përshkrim i shkurtër i disa arkitekturave të rrjetit për zbulimin e objekteve në imazhe dhe segmentimin e imazheve me lidhjet më të kuptueshme me burimet për mua. Unë u përpoqa të zgjedh shpjegime video dhe mundësisht në rusisht.
  2. Pjesa e dytë është një përpjekje për të kuptuar drejtimin e zhvillimit të arkitekturave të rrjeteve nervore. Dhe teknologjitë e bazuara në to.

Rrjetet nervore. Ku po shkon e gjithë kjo?

Figura 1 – Të kuptuarit e arkitekturave të rrjeteve nervore nuk është e lehtë

Gjithçka filloi duke bërë dy aplikacione demo për klasifikimin dhe zbulimin e objekteve në një telefon Android:

  • Demoja e fundit, kur të dhënat përpunohen në server dhe transmetohen në telefon. Klasifikimi i imazhit të tre llojeve të arinjve: kafe, e zezë dhe pelushi.
  • Demoja e përparmekur të dhënat përpunohen në vetë telefonin. Zbulimi i objekteve (zbulimi i objekteve) tre llojesh: lajthia, fiku dhe hurma.

Ekziston një ndryshim midis detyrave të klasifikimit të imazhit, zbulimit të objektit në një imazh dhe segmentimi i imazhit. Prandaj, lindi nevoja për të gjetur se cilat arkitektura të rrjeteve nervore zbulojnë objekte në imazhe dhe cilat mund të segmentojnë. Kam gjetur shembujt e mëposhtëm të arkitekturave me lidhjet më të kuptueshme me burimet për mua:

  • Një seri arkitekturash të bazuara në R-CNN (Rrajonet me Convolucion Neurale Ntiparet e etworks): R-CNN, Fast R-CNN, R-CNN më i shpejtë, Maska R-CNN. Për të zbuluar një objekt në një imazh, kutitë kufizuese ndahen duke përdorur mekanizmin e Rrjetit të Propozimit të Rajonit (RPN). Fillimisht, në vend të RPN u përdor mekanizmi më i ngadalshëm i Kërkimit Selektiv. Më pas, rajonet e kufizuara të përzgjedhura futen në hyrjen e një rrjeti nervor konvencional për klasifikim. Arkitektura R-CNN ka unaza të qarta "për" në rajone të kufizuara, që arrijnë deri në 2000 ekzekutime përmes rrjetit të brendshëm AlexNet. Cipat e qartë "për" ngadalësojnë shpejtësinë e përpunimit të imazhit. Numri i sytheve eksplicite që kalojnë nëpër rrjetin e brendshëm nervor zvogëlohet me çdo version të ri të arkitekturës dhe dhjetëra ndryshime të tjera bëhen për të rritur shpejtësinë dhe për të zëvendësuar detyrën e zbulimit të objektit me segmentimin e objekteve në Maskë R-CNN.
  • YOLO (You Only Ledhe Once) është rrjeti i parë nervor që njohu objektet në kohë reale në pajisjet mobile. Tipar dallues: dallimi i objekteve në një vrapim (vetëm shikoni një herë). Kjo do të thotë, në arkitekturën YOLO nuk ka sythe të qarta "për", kjo është arsyeja pse rrjeti funksionon shpejt. Për shembull, kjo analogji: në NumPy, kur kryhen operacione me matrica, nuk ka gjithashtu unaza të qarta “for”, të cilat në NumPy zbatohen në nivele më të ulëta të arkitekturës përmes gjuhës programuese C. YOLO përdor një rrjet dritaresh të paracaktuara. Për të parandaluar që i njëjti objekt të përcaktohet disa herë, përdoret koeficienti i mbivendosjes së dritares (IoU). Ikryqëzim over Union). Kjo arkitekturë funksionon në një gamë të gjerë dhe ka të lartë qëndrueshmëri: Një model mund të trajnohet për fotografi, por gjithsesi performon mirë në pikturat e vizatuara me dorë.
  • SSD (Svatër SMultiBox i nxehtë Detector) - përdoren "haket" më të suksesshme të arkitekturës YOLO (për shembull, shtypja jo maksimale) dhe shtohen të reja për ta bërë rrjetin nervor të funksionojë më shpejt dhe më saktë. Tipar dallues: dallimi i objekteve në një drejtim duke përdorur një rrjet të caktuar dritaresh (kutia e parazgjedhur) në piramidën e imazhit. Piramida e imazhit është e koduar në tensorët e konvolucionit përmes operacioneve të njëpasnjëshme të konvolucionit dhe bashkimit (me operacionin max-pooling, dimensioni hapësinor zvogëlohet). Në këtë mënyrë, objektet e mëdha dhe të vogla përcaktohen në një rrjet të vetëm.
  • MobileSSD (TelefonNetV2+ SSD) është një kombinim i dy arkitekturave të rrjetit nervor. Rrjeti i parë MobileNetV2 punon shpejt dhe rrit saktësinë e njohjes. MobileNetV2 përdoret në vend të VGG-16, i cili u përdor fillimisht në artikull origjinal. Rrjeti i dytë SSD përcakton vendndodhjen e objekteve në imazh.
  • SqueezeNet – një rrjet nervor shumë i vogël por i saktë. Në vetvete, ai nuk e zgjidh problemin e zbulimit të objektit. Megjithatë, mund të përdoret në një kombinim të arkitekturave të ndryshme. Dhe përdoret në pajisjet mobile. Karakteristika dalluese është se të dhënat fillimisht kompresohen në katër filtra konvolucionistë 1×1 dhe më pas zgjerohen në katër filtra konvolucionalë 1×1 dhe katër 3×3. Një përsëritje e tillë e zgjerimit të ngjeshjes së të dhënave quhet "Modul zjarri".
  • DeepLab (Semantic Image Segmentation with Deep Convolutional Nets) – segmentimi i objekteve në imazh. Një tipar dallues i arkitekturës është konvolucioni i zgjeruar, i cili ruan rezolucionin hapësinor. Kjo pasohet nga një fazë pas përpunimit të rezultateve duke përdorur një model grafik probabilistik (fushë e rastësishme e kushtëzuar), e cila ju lejon të hiqni zhurmën e vogël në segmentim dhe të përmirësoni cilësinë e imazhit të segmentuar. Pas emrit të frikshëm "modeli grafik probabilistik" fshihet një filtër konvencional Gaussian, i cili përafrohet me pesë pika.
  • U përpoq të gjente pajisjen RefineDet (Me një gjuajtje RafinojRrjeti nervor për objektin detection), por nuk kuptova shumë.
  • Shikova gjithashtu se si funksionon teknologjia "vëmendje": video1, video2, video3. Një tipar dallues i arkitekturës së "vëmendjes" është zgjedhja automatike e rajoneve me vëmendje të shtuar në imazh (RoI, Regions of Interest) duke përdorur një rrjet nervor të quajtur Njësia e Vëmendjes. Rajonet me vëmendje të shtuar janë të ngjashme me kutitë kufizuese, por ndryshe nga ato, ato nuk janë të fiksuara në imazh dhe mund të kenë kufij të paqartë. Më pas, nga rajonet e rritjes së vëmendjes, izolohen shenjat (veçoritë), të cilat "ushqehen" në rrjetet nervore të përsëritura me arkitekturë. LSDM, GRU ose Vanilje RNN. Rrjetet nervore të përsëritura janë në gjendje të analizojnë marrëdhëniet e veçorive në një sekuencë. Rrjetet nervore të përsëritura fillimisht u përdorën për të përkthyer tekstin në gjuhë të tjera, dhe tani për përkthim imazhe në tekst и tekst në imazh.

Ndërsa i eksplorojmë këto arkitektura E kuptova që nuk kuptoj asgjë. Dhe nuk është se rrjeti im nervor ka probleme me mekanizmin e vëmendjes. Krijimi i të gjitha këtyre arkitekturave është si një lloj hackathon i madh, ku autorët konkurrojnë në hack. Hackimi është një zgjidhje e shpejtë për një problem të vështirë softueri. Kjo do të thotë, nuk ka asnjë lidhje logjike të dukshme dhe të kuptueshme midis të gjitha këtyre arkitekturave. Gjithçka që i bashkon është një grup i hakimeve më të suksesshme që ata huazojnë nga njëri-tjetri, plus një të përbashkët për të gjithë. operacioni i konvolucionit me qark të mbyllur (shpërndarja e gabimit, përhapja e pasme). Nr të menduarit sistematik! Nuk është e qartë se çfarë të ndryshohet dhe si të optimizohen arritjet ekzistuese.

Si rezultat i mungesës së lidhjes logjike midis hakimeve, ato janë jashtëzakonisht të vështira për t'u mbajtur mend dhe zbatuar në praktikë. Kjo është njohuri e fragmentuar. Në rastin më të mirë, mbahen mend disa momente interesante dhe të papritura, por shumica e asaj që kuptohet dhe e pakuptueshme zhduket nga kujtesa brenda pak ditësh. Do të jetë mirë nëse brenda një jave ju kujtohet të paktën emri i arkitekturës. Por disa orë dhe madje edhe ditë të punës u shpenzuan duke lexuar artikuj dhe duke parë video rishikime!

Rrjetet nervore. Ku po shkon e gjithë kjo?

Figura 2 - Kopshti Zoologjik i Rrjeteve Neurale

Shumica e autorëve të artikujve shkencorë, sipas mendimit tim personal, bëjnë gjithçka që është e mundur që edhe kjo njohuri e fragmentuar të mos kuptohet nga lexuesi. Por frazat pjesëmarrëse në fjali me dhjetë rreshta me formula që janë marrë "nga ajri i hollë" janë një temë për një artikull të veçantë (problem publikoni ose zhdukeni).

Për këtë arsye, lind nevoja për të sistematizuar informacionin duke përdorur rrjetet nervore dhe, në këtë mënyrë, për të rritur cilësinë e të kuptuarit dhe të memorizimit. Prandaj, tema kryesore e analizës së teknologjive individuale dhe arkitekturave të rrjeteve nervore artificiale ishte detyra e mëposhtme: zbuloni se ku po shkon gjithçka, dhe jo pajisjen e ndonjë rrjeti nervor specifik veçmas.

Ku po shkon e gjithë kjo? Rezultatet kryesore:

  • Numri i startupeve të mësimit të makinerive në dy vitet e fundit ra ndjeshëm. Arsyeja e mundshme: "rrjetet nervore nuk janë më diçka e re".
  • Çdokush mund të krijojë një rrjet nervor funksional për të zgjidhur një problem të thjeshtë. Për ta bërë këtë, merrni një model të gatshëm nga "kopshti zoologjik model" dhe trajnoni shtresën e fundit të rrjetit nervor (transferimi i të mësuarit) mbi të dhënat e gatshme nga Kërkimi i grupit të të dhënave të Google ose jashtë 25 mijë grupe të dhënash Kaggle në të lirë re Jupyter Notebook.
  • Prodhuesit e mëdhenj të rrjeteve nervore filluan të krijojnë "kopshte zoologjike model" (modeli i kopshtit zoologjik). Duke përdorur ato, ju mund të krijoni shpejt një aplikacion komercial: TF Hub për TensorFlow, Zbulimi MMD për PyTorch, Detekron për Caffe2, zinxhir-modelzoo për Chainer dhe të tjerët.
  • Rrjetet nervore që punojnë në kohe reale (në kohë reale) në pajisjet celulare. Nga 10 në 50 korniza për sekondë.
  • Përdorimi i rrjeteve nervore në telefona (TF Lite), në shfletues (TF.js) dhe në sende shtëpiake (IoT, Iinternet of Tmenteshat). Sidomos në telefonat që tashmë mbështesin rrjetet nervore në nivelin e harduerit (përshpejtuesit nervorë).
  • “Çdo pajisje, veshje dhe ndoshta edhe ushqim do të ketë Adresa IP-v6 dhe të komunikojnë me njëri-tjetrin" - Sebastian Thrun.
  • Numri i publikimeve mbi mësimin e makinerive ka filluar të rritet tejkalojnë ligjin e Moore (dyfishuar çdo dy vjet) që nga viti 2015. Natyrisht, ne kemi nevojë për rrjete nervore për të analizuar artikujt.
  • Teknologjitë e mëposhtme po fitojnë popullaritet:
    • PyTorch – Popullariteti po rritet me shpejtësi dhe duket se po e kapërcen TensorFlow.
    • Zgjedhja automatike e hiperparametrave AutoML - Popullariteti po rritet pa probleme.
    • Ulje graduale e saktësisë dhe rritje e shpejtësisë së llogaritjes: logjikë e paqartë, algoritme duke nxitur, llogaritjet jo të sakta (të përafërta), kuantizimi (kur peshat e rrjetit nervor shndërrohen në numra të plotë dhe kuantizohen), përshpejtuesit nervorë.
    • përkthim imazhe në tekst и tekst në imazh.
    • krijim Objekte 3D nga video, tani në kohë reale.
    • Gjëja kryesore për DL është se ka shumë të dhëna, por mbledhja dhe etiketimi i tyre nuk është i lehtë. Prandaj, automatizimi i shënjimit po zhvillohet (shënim i automatizuar) për rrjetet nervore që përdorin rrjete nervore.
  • Me rrjetet nervore, Shkenca Kompjuterike u bë befas shkencë eksperimentale dhe u ngrit kriza e riprodhueshmërisë.
  • Paratë e IT dhe popullariteti i rrjeteve nervore u shfaqën njëkohësisht kur kompjuteri u bë një vlerë tregu. Ekonomia po ndryshon nga një ekonomi ari dhe valutë në ar-valuta-kompjuterike. Shihni artikullin tim në ekonofizikës dhe arsyeja e shfaqjes së parave të IT.

Gradualisht shfaqet një e re Metodologjia e programimit ML/DL (Machine Learning & Deep Learning), i cili bazohet në përfaqësimin e programit si një grup modelesh të trajnuara të rrjetit nervor.

Rrjetet nervore. Ku po shkon e gjithë kjo?

Figura 3 – ML/DL si metodologji e re programimi

Megjithatë, ajo nuk u shfaq kurrë "teoria e rrjetit nervor", brenda të cilit mund të mendoni dhe punoni sistematikisht. Ajo që tani quhet "teori" është në të vërtetë algoritme eksperimentale, heuristike.

Lidhje me burimet e mia dhe të tjera:

Спасибо за внимание!

Burimi: www.habr.com

Shto një koment