Neyron şəbəkələri. Hamısı hara gedir

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

  1. Şəkildə obyektin aşkarlanması və mənim üçün ən başa düşülən resurs bağlantıları ilə təsvirin seqmentasiyası üçün bəzi şəbəkə arxitekturalarının qısa təsviri. Video izahatları seçməyə çalışdım və daha yaxşı rus dilində.
  2. İkinci hissə neyron şəbəkə arxitekturasının inkişaf istiqamətlərini anlamağa çalışmaqdan ibarətdir. Və onlara əsaslanan texnologiyalar.

Neyron şəbəkələri. Hamısı hara gedir

Şəkil 1 - Neyron şəbəkələrinin arxitekturasını başa düşmək asan deyil

Hamısı bir Android telefonunda obyektləri təsnif etmək və aşkar etmək üçün iki demo proqram hazırlamaqla başladı:

  • arxa son demoverilənlər serverdə işləndikdə və telefona ötürüldükdə. Üç növ ayı üçün təsvirin təsnifatı: qəhvəyi, qara və oyuncaq.
  • front-end demoməlumat telefonun özündə emal edildikdə. Üç növ obyektin aşkarlanması: fındıq, əncir və xurma.

Təsvirin təsnifatı, təsvirdə obyektin aşkarlanması və vəzifələri arasında fərq var təsvirin seqmentasiyası. Buna görə də, hansı neyron şəbəkə arxitekturasının şəkillərdəki obyektləri aşkar etdiyini və hansının seqmentləşdirə biləcəyini tapmaq zərurəti yarandı. Mənim üçün mənbələrə ən başa düşülən bağlantıları olan aşağıdakı memarlıq nümunələrini tapdım:

  • R-CNN-ə əsaslanan bir sıra memarlıqlar (Rilə Cinkişaf Neural Networks xüsusiyyətləri): R-CNN, Fast R-CNN, Daha sürətli R-CNN, Maska R-CNN. Region Təklif Şəbəkəsi (RPN) mexanizmindən istifadə edərək təsvirdəki obyekti aşkar etmək üçün məhdudlaşdırıcı qutular ayrılır. Əvvəlcə RPN əvəzinə daha yavaş Seçmə Axtarış mexanizmi istifadə edildi. Sonra seçilmiş məhdud bölgələr təsnifat üçün adi neyron şəbəkəsinin girişinə verilir. R-CNN arxitekturasında məhdud bölgələrdə açıq "for" döngələri var, daxili AlexNet şəbəkəsi vasitəsilə ümumilikdə 2000-ə qədər qaçış. Açıq "for" döngələri təsvirin işlənməsi sürətini ləngidir. Daxili neyron şəbəkəsindən keçən açıq döngələrin sayı arxitekturanın hər yeni versiyası ilə azalır və sürəti artırmaq və obyektin aşkarlanması tapşırığını Mask R-CNN-də obyekt seqmentasiyası ilə əvəz etmək üçün onlarla başqa dəyişikliklər edilir.
  • YOLO (You Only Lhəmçinin Once) mobil cihazlarda real vaxt rejimində obyektləri tanıyan ilk neyron şəbəkədir. Fərqli xüsusiyyət: bir qaçışda obyektlərin fərqləndirilməsi (bir dəfə baxmaq kifayətdir). Yəni, YOLO arxitekturasında şəbəkəni sürətli edən açıq “for” döngələri yoxdur. Məsələn, bu bənzətmə: NumPy-də matrislərlə əməliyyatlar zamanı açıq-aşkar “for” döngələri də yoxdur, NumPy-də C proqramlaşdırma dili vasitəsilə arxitekturanın aşağı səviyyələrində həyata keçirilir.YOLO əvvəlcədən təyin edilmiş pəncərələr şəbəkəsindən istifadə edir. Eyni obyektin bir neçə dəfə müəyyən edilməsinin qarşısını almaq üçün pəncərə üst-üstə düşmə faktoru (IoU, Ikəsişmə ogörmək Union). Bu memarlıq geniş diapazonda fəaliyyət göstərir və yüksəkliyə malikdir möhkəmlik: Model fotoşəkillər üzərində öyrədilə bilər, lakin yenə də əl ilə çəkilmiş rəsmlərdə yaxşı çıxış edir.
  • SSD (Sqaranlıq Sisti MultiBox Detektor) - YOLO arxitekturasının ən uğurlu "hackləri" istifadə olunur (məsələn, qeyri-maksimum bastırma) və neyron şəbəkənin daha sürətli və daha dəqiq işləməsi üçün yeniləri əlavə olunur. Fərqləndirici xüsusiyyət: şəkillərin piramidasında verilmiş pəncərələr şəbəkəsindən (standart qutu) istifadə edərək bir qaçışda obyektlərin ayrı-seçkiliyi. Şəkillərin piramidası ardıcıl bükülmə və birləşdirmə əməliyyatları zamanı konvolyusiya tensorlarında kodlanır (maksimum birləşdirmə əməliyyatı zamanı məkan ölçüsü azalır). Bu şəkildə şəbəkənin bir gedişində həm böyük, həm də kiçik obyektlər müəyyən edilir.
  • Mobil SSD (səyyarNetV2+ SSD) iki neyron şəbəkə arxitekturasının birləşməsidir. İlk şəbəkə MobileNetV2 tez işləyir və tanınma dəqiqliyini artırır. MobileNetV2 əvvəlcə istifadə edilən VGG-16-nı əvəz edir orijinal məqalə. İkinci SSD şəbəkəsi təsvirdəki obyektlərin yerini müəyyənləşdirir.
  • SqueezeNet – çox kiçik, lakin dəqiq neyron şəbəkəsi. Öz-özünə obyektin aşkarlanması problemini həll etmir. Bununla belə, müxtəlif arxitekturaların birləşməsi ilə istifadə edilə bilər. Və mobil cihazlarda istifadə edilə bilər. Fərqləndirici xüsusiyyət ondan ibarətdir ki, verilənlər əvvəlcə dörd 1x1 əyilmə filtrinə sıxılır və sonra dörd 1x1 və dörd 3x3 əyilmə filtrinə qədər genişləndirilir. Belə bir məlumatın sıxılma-genişləndirmə iterasiyası "Yanğın Modulu" adlanır.
  • DeepLab (Semantic Image Segmentation with Deep Convolutional Nets) - təsvirdəki obyektlərin seqmentasiyası. Arxitekturanın fərqli bir xüsusiyyəti məkan həllini qoruyan seyrək (genişlənmiş qıvrım) bükülmədir. Bundan sonra, seqmentasiyada kiçik səs-küyü aradan qaldırmağa və seqmentləşdirilmiş təsvirin keyfiyyətini yaxşılaşdırmağa imkan verən qrafik ehtimal modelindən (şərti təsadüfi sahə) istifadə edərək nəticələrin sonrakı emal mərhələsi gəlir. "Qrafik ehtimal modeli" nəhəng adının arxasında beş nöqtəyə yaxınlaşan adi Gauss filtri var.
  • Cihazı anlamağa çalışdı RefineDet (Tək atış HassaslaştırınObyekt üçün neyron şəbəkəsi Detbölmə), lakin az başa düşdüm.
  • Diqqət texnologiyasının necə işlədiyinə də baxdım: video1, video2, video3. "Diqqət" arxitekturasının fərqli bir xüsusiyyəti, təsvirdə artan diqqət bölgələrinin avtomatik seçilməsidir (RoI, Regions of Interest) Diqqət Vahidi adlı neyron şəbəkədən istifadə etməklə. Qaynar nöqtələr məhdudlaşdırıcı qutulara bənzəyir, lakin onlardan fərqli olaraq, onlar təsvirdə sabit deyil və bulanıq sərhədlərə malik ola bilər. Sonra əlamətlər (xüsusiyyətlər) arxitektura ilə təkrarlanan neyron şəbəkələrinə "qidalanan" artan diqqət bölgələrindən fərqləndirilir. LSDM, GRU və ya Vanilla RNN. Təkrarlanan neyron şəbəkələri ardıcıllıqla xüsusiyyətlərin əlaqəsini təhlil edə bilir. Təkrarlanan neyron şəbəkələri əvvəlcə mətni başqa dillərə tərcümə etmək üçün, indi isə tərcümə üçün istifadə olunurdu mətn üçün şəkillər и mətndən şəkilə.

Bu memarlıqlar tədqiq edildiyi kimi Mən başa düşdüm ki, heç nə başa düşmürəm. Və mənim neyron şəbəkəmin diqqət mexanizmi ilə bağlı problemlərinin olması deyil. Bütün bu arxitekturaların yaradılması müəlliflərin hakerlər arasında rəqabət apardığı bir növ nəhəng hakatona bənzəyir. Hack çətin proqram probleminin sürətli həllidir. Yəni bütün bu arxitekturalar arasında görünən və başa düşülən məntiqi əlaqə yoxdur. Onları birləşdirən hər şey bir-birindən borc aldıqları ən uğurlu hacklər toplusudur, üstəlik ümumidir əks əlaqə konvolyusiya əməliyyatı (xətanın geri yayılması, geriyə yayılması). Yox sistemli düşüncə! Nəyi dəyişdirmək və mövcud nailiyyətləri necə optimallaşdırmaq lazım olduğu aydın deyil.

Hacklər arasında məntiqi əlaqənin olmaması nəticəsində onları yadda saxlamaq və tətbiq etmək son dərəcə çətindir. Bu parçalanmış bilikdir. Ən yaxşı halda bir neçə maraqlı və gözlənilməz məqamlar yada düşür, lakin başa düşülən və anlaşılmayanların çoxu bir neçə gündən sonra yaddaşdan silinir. Heç olmasa bir həftədən sonra memarlığın adı xatırlansa, yaxşı olar. Ancaq bir neçə saat və hətta günlərlə iş vaxtı məqalələri oxumağa və icmal videolarına baxmağa sərf olundu!

Neyron şəbəkələri. Hamısı hara gedir

Şəkil 2 - Neyron şəbəkələri zooparkı

Elmi məqalə müəlliflərinin çoxu, mənim şəxsi fikrimcə, mümkün olan hər şeyi edir ki, hətta bu parçalanmış biliklər oxucu tərəfindən başa düşülməsin. Ancaq "tavandan" götürülmüş düsturlarla on sətirli cümlədəki iştirakçı ifadələr ayrı bir məqalənin mövzusudur (problem dərc et və ya məhv).

Bu səbəbdən neyron şəbəkələri vasitəsilə məlumatların sistemləşdirilməsi və beləliklə, başa düşmə və yadda saxlama keyfiyyətinin yüksəldilməsi zərurəti yarandı. Beləliklə, süni neyron şəbəkələrinin ayrı-ayrı texnologiyaları və arxitekturalarının təhlilinin əsas mövzusu aşağıdakı vəzifə idi: hər şeyin hara getdiyini öyrənin, və ayrıca müəyyən bir neyron şəbəkəsinin cihazı deyil.

Hamısı hara gedir. Əsas nəticələr:

  • Son iki ildə maşın öyrənmə startaplarının sayı kəskin düşdü. Mümkün səbəb: "neyron şəbəkələri 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əcək. Bunun üçün o, “model zooparkdan” (model zoopark) hazır modeli götürəcək və neyron şəbəkənin son qatını öyrədəcək (təhsili köçürmək)-dən hazır məlumatlar üzrə Google Dataset Axtarışı və ya 25 min Kaggle məlumat dəsti pulsuz Cloud Jupyter Notebook.
  • Neyron şəbəkələrinin əsas istehsalçıları yaratmağa başladılar "model zooparklar" (model zoopark). Onlardan istifadə edərək, tez bir zamanda kommersiya tətbiqi edə bilərsiniz: T.F mərkəzi TensorFlow üçün, MMDtection pytorch üçün, Detektor qəhvə üçün2, zəncirçi-model zoo Chainer üçün və digər.
  • İşləyən neyron şəbəkələri real vaxt mobil cihazlarda (real vaxt). Saniyədə 10 ilə 50 kadr.
  • Telefonlarda (TF Lite), brauzerlərdə (TF.js) və neyron şəbəkələrinin istifadəsi Məişət əşyaları (IoT, Iinternet of Tmenteşələr). Xüsusilə artıq neyron şəbəkələrini aparat səviyyəsində dəstəkləyən telefonlarda (neyroakseleratorlar).
  • “Hər cihazda, geyimdə və bəlkə də yeməkdə belə olacaq IP v6 ünvanı və bir-birinizlə əlaqə saxlayın" Sebastian Thrun.
  • Maşın öyrənməsi ilə bağlı nəşrlərin sayında artım başladı Mur qanununu aşır 2015-ci ildən (iki ildən bir iki dəfə artır). Aydındır ki, məqalələrin təhlili üçün neyron şəbəkələrə ehtiyacımız var.
  • Aşağıdakı texnologiyalar populyarlıq qazanır:
    • PyTorch – populyarlıq sürətlə artır və TensorFlow-u ötüb keçdiyi görünür.
    • Hiperparametrlərin avtomatik seçilməsi AutoML - populyarlıq yavaş-yavaş artır.
    • Dəqiqliyin tədricən azalması və hesablama sürətinin artması: qeyri-səlis məntiq, alqoritmlər artırmaq, qeyri-dəqiq (təxmini) hesablamalar, kvantlaşdırma (neyron şəbəkəsinin çəkiləri tam ədədlərə çevrildikdə və kvantlaşdırıldıqda), neyroakseleratorlar.
    • Tərcümə mətn üçün şəkillər и mətndən şəkilə.
    • yaradıcılıq Video ilə XNUMXd obyektlər, indi real vaxtda.
    • DL-də əsas şey çoxlu məlumatdır, lakin onu toplamaq və etiketləmək asan deyil. Buna görə işarələmə avtomatlaşdırılması inkişaf edir (avtomatlaşdırılmış abstrakt) neyron şəbəkələrindən istifadə edən neyron şəbəkələri üçün.
  • Neyron şəbəkələri ilə Kompüter Elmləri birdən birə çevrildi eksperimental elm və qalxdı təkrar istehsal böhranı.
  • İT pulları və neyron şəbəkələrinin populyarlığı hesablamaların bazar dəyərinə çevrildiyi bir vaxtda yarandı. İqtisadiyyat qızıl birjası olur qızıl-valyuta-hesablama. Mənim məqaləmə baxın ekonofizika və İT-pulun yaranmasının səbəbi.

Tədricən yeni ML/DL proqramlaşdırma metodologiyası Proqramın təlim keçmiş neyron şəbəkəsi modelləri dəsti kimi təqdimatına əsaslanan (Maşın Öyrənməsi və Dərin Öyrənmə).

Neyron şəbəkələri. Hamısı hara gedir

Şəkil 3 - ML/DL yeni proqramlaşdırma metodologiyası kimi

Ancaq görünmədi "neyron şəbəkə nəzəriyyəsi"onun daxilində sistemli düşünə və işləyə bilərsən. İndi "nəzəriyyə" adlandırılanlar əslində eksperimental, evristik alqoritmlərdir.

Təkcə mənim deyil, resurslarımın linkləri:

Diqqətiniz üçün təşəkkür edirik!

Mənbə: www.habr.com

Добавить комментарий