Nevro şəbəkələri. Bu hər şey hara gedir?

Məqalə iki hissədən ibarətdir:

  1. Şəkildə obyektlərin aşkar edilməsi və şəkillərin seqmentasiyası şəbəkələrinin bəzi arxitekturlarını əhatə edən qısa bir izah, mənə ən aydın resurs bağlantıları ilə. İzahat videolarını seçməyə çalışdım, mümkün qədər rus dilində.
  2. İkinci hissə neyron şəbəkələrinin arxitekturalarının inkişaf istiqamətini anlamağa çalışmaqla bağlıdır. Və onların əsasındakı texnologiyalar.

Nevro şəbəkələri. Bu hər şey hara gedir?

Şəkil 1 – Neyron şəbəkələrinin arxitekturalarını anlamaq asan deyil

Hər şey ondan başladı ki, Android telefonunda təsnifat və obyekt aşkar etmə üzrə iki nümayiş tətbiqi etdim:

  • Back-end demo, məlumatların serverdə işlənməsi və telefona ötürülməsi ilə. Üç növ ayı şəkillərinin təsnifatı: qəhvəyi, qara və plümo.
  • Front-end demo, məlumatların telefonun özündə işlənməsi ilə. Üç növ obyektlərin aşkar edilməsi: fındıq, paxlava və xurma.

Şəkil təsnifatı, şəkil üzərində obyektlərin aşkar edilməsi və şəkil seqmentasiyasıarasında fərq var. Buna görə də, şəkillərdə obyektləri aşkar edən və seqmentasiya edə bilən neyron şəbəkələrinin arxitekturlarını öyrənməyə ehtiyac var. Mənə ən aydın resurs bağlantıları olan aşağıdakı arxitektura nümunələrini tapdım:

  • R-CNN əsaslı arxitekturalar seriyası (Rbölgələr — TVM üçün ikili icra kodu istehsal edən Fift kitabxanası. Fift Yığmanın tərtibatçısı yoxdur. Bu,konsol xəbərləri / Nşəbəkə strukturunu): R-CNN, Fast R-CNN, NFaster R-CNN Mask R-CNN, obyektin şəkilində aşkar edilməsi üçün Region Proposal Network (RPN) mexanizmi ilə məhdud bölgələr (bounding boxes) seçilir. Əvvəlcə RPN yerinə daha yavaş Selective Search mexanizmi istifadə olunurdu. Sonra seçilmiş məhdud bölgələr adi neyron şəbəkəsinə təsnifat üçün verilir. R-CNN arxitekturasında məhdud bölgələr üzərində dövr ardıcıllığı (for loops) var, ümumilikdə 2000-ə qədər AlexNet daxili şəbəkəsi üzrə keçirilmə var. Açıq dövr ardıcıllığı səbəbindən şəkillərin emal sürəti azalır. Hər yeni arxitektura versiyası ilə açıq dövr ardıcıllığının sayı azalır və onu artırmaq üçün sürəti artırmaq məqsədilə bir çox digər dəyişikliklər edilir, habelə obyekt aşkarlanması tapşırığı Mask R-CNN-də obyekt seqmentasiyasına dəyişdirilir.YOLO
  • sadece (Yilk Nqiymətən həttagörür Nbir dəfə – real zamanda mobil cihazlarda obyektləri tanıyan ilk neyron şəbəkədir. Fərqli xüsusiyyət: obyektlərin bir keçid zamanı ayrı-seçkilik edilməsi (yalnız bir dəfə baxmaq kifayətdir). Yəni YOLO arxitekturasında açıq dövr ardıcıllığı yoxdur, buna görə də şəbəkə sürətli işləyir. Məsələn, belə bir analoqu: NumPy-də matrislərlə əməliyyatlar zamanı da açıq dövr ardıcıllığı yoxdur; belə ki, NumPy-dakı həyata keçirilmələr daha aşağı səviyyədə C proqramlaşdırma dili ilə həyata keçirilir. YOLO əvvəlcədən müəyyən edilmiş pəncərə şəbəkəsindən istifadə edir. Eyni obyektin dəfələrlə müəyyən edilməməsi üçün pəncərə üst-üstə düşmə əmsalı (IoU, Ikəsişmə over Usendikası). Bu arxitektura geniş bir spektrda işləyir və yüksək dayanıqlılıq: model fotolar üzərində təhsil ala bilər, amma eyni zamanda əl ilə çəkilmiş şəkillərdə də yaxşı işləyir.
  • SSD (Stək Sçoxsaylı MultiBox Ddetektor) – ən yaxşı YOLO arxitekturası “hacları” (məsələn, non-maximum suppression) istifadə olunur və yeni əlavə edilir ki, süni intellekt daha sürətli və dəqiq işləsin. Xüsusi xüsusiyyət: obyektləri tək bir keçid ilə təyin etmək üçün verilmiş şəbəkə pəncərələri (default box) vasitəsilə şəkillər piramidası üzərində işləmək. Şəkillər piramidası, ardıcıl konvolusiya və max-pooling əməliyyatlarında konvolusiya tensörlərində kodlanır (max-pooling əməliyyatı zamanı məkan ölçüsü azalır). Bu şəkildə həm böyük, həm də kiçik obyektlər tək bir şəbəkə keçidi ilə müəyyən edilir.
  • MobileSSD (MobilNetV2 + SSD) – iki neyron şəbəkəsi arxitekturasının birləşməsidir. Birinci şəbəkə MobileNetV2 sürətli işləyir və tanıma dəqiqliyini artırır. MobileNetV2 əvvəlcə istifadə olunan VGG-16-nın əvəzinə tətbiq olunur əsas məqalədə. İkinci şəbəkə SSD şəkil üzərində obyektlərin yerini müəyyən edir.
  • SqueezeNet – çox kiçik, amma dəqiq bir neyron şəbəkəsidir. Öz başına obyektləri aşkar etmək məsələsini həll etmir. Lakin müxtəlif arxitekturaların birləşməsində istifadə edilə bilər. Mobil cihazlarda da tətbiq oluna bilər. Xüsusi xüsusiyyətləri, əvvəlcə məlumatların dörd 1×1 konvolusiya filtri ilə sıxılmasından sonra dörd 1×1 və dörd 3×3 konvolusiya filtrləri ilə genişlənməsidir. Bir bu cür sıxılma-genişləmə iterasiyası “Fire Module” adlanır.
  • DeepLab (Dərin İdarəedici Şəkil Seqmentasiyası Dərin Konvolusiya Şəbəkələri ilə) – şəkil üzərində obyektləri seqmentasiya edir. Arxitekturanın xüsusi xüsusiyyəti, məkan həllini qoruyan seyreltilmiş (dilated convolution) konvolusiyadır. Daha sonra nəticələrin post-prosessinq mərhələsi, kiçik səsləri seqmentasiyadan aradan qaldırmağa və seqmentasiya olunmuş şəkilin keyfiyyətini artırmağa imkan verən qrafik ehtimal modeli (şərti təsadüfi sahə) istifadə olunur. “Qrafik ehtimal modeli” adından gizlənən adi Gauss filtridir, beş nöqtə ilə yaxınlaşdırılmışdır.
  • Nəticə əldə etməyə çalışdım RefineDet (Tək Pass Düzəlişmüxtəliflik Neyron Şəbəkəsi Obyekti Aşkarlamaılakin az şey başa düşdüm.
  • Həmçinin “diqqət” (attention) texnologiyasının necə işlədiyinə baxdım: video1, video2, video3. “Diqqət” arxitekturasının xüsusi xüsusiyyəti, şəkil üzərində yüksək diqqət bölgələrini avtomatik ayırmaqdır (RoI, Rregionlar of IAttention Unit adlanan neyron şəbəkəsi ilə maraqlı bölgələri aşkar etmək. Artan diqqət bölgələri məhdud bölgələrə (bounding boxes) bənzəyir, lakin onlardan fərqli olaraq təsvir üzərində sabitləşməyib və bulanık sərhədlərə malikdir. Sonra diqqət bölgələrindən xüsusiyyətlər (features) çıxarılaraq, bunlar rekurent neyron şəbəkələrinə verilir. LSDM, GRU və ya Vanilla RNN. Rekurent neyron şəbəkələri ardıcıllıqda xüsusiyyətlər arasındakı müstəqil əlaqələri analiz edə bilir. Rekurent neyron şəbəkələri əvvəlcə mətnləri digər dillərə tərcümə etmək üçün istifadə olunurdu, indi isə şəkilləri mətndə çevirməkmətni şəkil kimi çevirmək.

Bu memarlığı öyrənərkən heç nə başa düşmədiyimi anladım.. Məsələ o deyil ki, mənim neyron şəbəkəmin diqqət mexanizmi ilə problemi var. Bütün bu memarların yaradılması böyük bir hackathonu xatırladır, burada müəlliflər hacklarda bir-birinə rəqabət aparır. Hack - çətin bir proqram problemi üçün sürətli bir həll. Yəni, bu memarların heç biri arasında görünən və anlaşılan məntiqi bağ yoxdur. Onları bir araya gətirən bütün bunlar, bəzilərinin bir-birindən aldıkları ən uğurlu hacklər toplusudur, üstəlik, ortaq bir geri bağlantı konvolyasiya əməliyyatı (səhv yayılması, backpropagation). Yoxdur sistematik düşüncə! Nəyi dəyişmək və olan nailiyyətləri necə optimallaşdırmaq lazım olduğu aydın deyil.

Hacks'lar arasında məntiqi bağlantının olmaması nəticəsində, onları xatırlamaq və praktikada tətbiq etmək çox çətindir. Bu, parçalanmış biliklərdir. Ən yaxşı halda, bir neçə maraqlı və gözlənilməz moment xatırlanır, lakin başa düşülən və başa düşülməyənlərin çoxu artıq bir neçə gün ərzində yaddaşdan silinir. Bir həftə sonra ən azı memarlığın adı xatırlanırsa, bu yaxşıdır. Və məqalələri oxumaq və icmal videolarını izləmək üçün bir neçə saat və hətta gün iş vaxtı sərf olunub!

Nevro şəbəkələri. Bu hər şey hara gedir?

Şəkil 2 – Neyron şəbəkələrinin zoo parkı

Mənim şəxsi fikrimə görə, əksər elmi məqalə müəllifləri oxucunun bu parçalanmış bilikləri başa düşməməsi üçün əllərindən gələni edirlər. Lakin on cümlədən ibarət iştirak dəyəri ilə əhəmiyyətli izahlar vermək - bu ayrıca bir məqalə mövzusudur (problem publish or perish).

Bu səbəbdən neyron şəbəkələri haqqında məlumatı sistemləşdirmək və beləliklə, anlama və xatırlama keyfiyyətini artırmaq zərurəti yaranıb. Bunun üçün süni neyron şəbəkələrinin ayrı-ayrı texnologiyaları və memarlarını araşdırmağın əsas məsələsi aşağıdakı oldu: bunun hara tərəf gedəcəyini öyrənmək, hansısa spesifik neyron şəbəkəsinin quruluşuna deyil.

Bütün bunlar nereye gedir. Əsas nəticələr:

  • Son iki ildə maşın öyrənməsi sahəsində startapların sayı kəskin şəkildə azaldı. Mümkün səbəbi: "neyron şəbəkələr artıq yeni bir şey deyil".
  • Hər kəs sadə bir problemi həll etmək üçün işləyən neyron şəbəkəsi yarada bilər. Bunun üçün "model ziyarətgahı" (model zoo) içindən hazır bir modeli götürəcək və neyron şəbəkəsinin son qatını (transfer learning) hazır məlumatlarla Google Dataset Search və ya Kaggle-dan 25 min datasetdən pulsuz Jupyter Notebook buludunda.
  • Böyük neyron şəbəkəsi istehsalçıları "model ziyarətgahları" (model zoo) yaratmağa başladılar. Onların köməyi ilə tez bir kommersiya tətbiqi yaratmaq mümkündür: TF Hub TensorFlow üçün, MMDetection PyTorch üçün, Detectron Caffe2 üçün, chainer-modelzoo Chainer üçün və digər.
  • Real zamanda çalışan neyron şəbəkələri (real-time) mobil cihazlarda. Saniyədə 10-dan 50-yə qədər çərçivə. Neyron şəbəkələrinin telefonlarda (TF Lite), brauzerlərdə (TF.js) və
  • ev əşyalarında (IoT, internet IThings). Xüsusilə də telefonlarda, hansı ki, artıq "çəki" səviyyəsində neyron şəbəkələrini dəstəkləyirlər (neyroakseleratorlar). of Hər bir cihaz, geyim əşyaları və bəlkə də hətta qida arasında IP-v6 ünvanı olacaq
  • və bir-biri ilə ünsiyyət quracaq” – Sebastian Thrun M maşın öyrənmə üzrə nəşrlərin sayının artması 2015-ci ildən etibarən Mur qanununu.
  • (hər iki ildən bir iki dəfə artma) aşmağa başladı. Aydın məsələdir ki, məqalələri analiz edən neyron şəbəkələri lazımdır. Aşağıdakı texnologiyalar populyarlıq qazanır: – populyarlıq sürətlə artır və görünür TensorFlow-u üstələyir.
  • Avtomatik hiperparametrlərin seçimi
  • təkrarlanabilirlik böhranı İT pulları və neyron şəbəkələrinin populyarlığı eyni zamanda meydana gəldi, hesablama bazar dəyəri halına gəldikdə. İqtisadiyyat qızıldan-valyuta halına gəlir qızıl-valyuta-hesablama. Mənim.
  • ekonofizika və İT pullarının yaranma səbəbi haqqında məqaləmə baxın.Tədricən yeni ML/DL proqramlaşdırma metodologiyası (Maşın Öyrənmə & Dərin Öyrənmə) meydana çıxır ki, bu da proqramı öyrənilmiş neyron şəbəkə modellərinin toplamı kimi təqdim etmək üzərində qurulub.

Şəkil 3 – ML/DL yeni proqramlaşdırma metodologiyası Ancaq "neyron şəbəkələrinin nəzəriyyəsi"

Nevro şəbəkələri. Bu hər şey hara gedir?

hələ də ortaya çıxmayıb ki, sistemli düşünmək və işləmək üçün istifadə olunsun. Hal-hazırda "nəzəriyyə" olaraq adlandırılanlar əslində eksperimental, heuristik alqoritmlərdir.

Mənim və digər resurslara bağlantılar: «nevroşəbəkə nəzəriyyələri», çərçivəsində sistemli düşünmək və işləmək mümkündür. İndi «nəzəriyyə» adlandırılan şey əslində eksperimental, heuristik alqoritmlərdir.

Mənim və yalnız mənim resurslarıma olan linklər:

Diqqətiniz üçün təşəkkür edirəm!

Mənbə: habr.com

DDoS qoruması olan saytlara etibarlı hosting satın alın, VPS VDS serverlər 🔥 DDoS qoruması olan saytlara etibarlı hosting satın alın, VPS VDS serverlər | ProHoster