Нейрондық желілер. Мұның бәрі қайда кетіп жатыр?

Мақала екі бөлімнен тұрады:

  1. Кескін нысандарын анықтау және сегменттеу желілік архитектураларының қысқаша сипаттамасы, менің ойымша, ең түсінікті деп санайтын ресурстарға сілтемелер. Мен бейне түсіндірмелерді, жақсырақ орыс тілінде таңдауға тырыстым.
  2. Екінші бөлім нейрондық желі архитектураларының даму бағытын және оларға негізделген технологияларды түсінуге тырысады.

Нейрондық желілер. Мұның бәрі қайда кетіп жатыр?

1-сурет – Нейрондық желі архитектурасын түсіну оңай емес

Мұның бәрі телефонымда нысандарды жіктеу және анықтауға арналған екі демо қолданба жасаудан басталды. Android:

  • Артқы жағындағы демо, деректер серверде өңделіп, телефонға жіберілгенде. Аюлардың үш түрінің кескіндік жіктелуі: қоңыр, қара және ойыншық.
  • Алдыңғы жағындағы демо, деректер телефонның өзінде өңделген кезде. Үш түрдегі нысандарды анықтау: фундук, інжір және күн.

Кескінді жіктеу тапсырмалары, кескіндегі нысанды анықтау және ... арасында айырмашылық бар кескін сегментациясыСондықтан, суреттердегі нысандарды қай нейрондық желі архитектуралары анықтайтынын және қайсысы оларды сегменттей алатынын білу қажет болды. Мен ресурстарға ең түсінікті сілтемелері бар архитектуралардың келесі мысалдарын таптым:

  • R-CNN негізіндегі архитектуралар сериясы (Rаймақтармен Cтөңкеріс Nеуразиялық Nжелілік мүмкіндіктер): R-CNN, Fast R-CNN, Жылдамырақ R-CNN, Маска R-CNNКескіндегі нысандарды анықтау үшін шекаралық қораптар аймақтық ұсыныс желісі (RPN) механизмін пайдаланып алынады. Бастапқыда RPN орнына баяу таңдаулы іздеу механизмі қолданылды. Содан кейін алынған шекаралық қораптар жіктеу үшін дәстүрлі нейрондық желіге беріледі. R-CNN архитектурасы шекаралық қораптар бойынша қайталану үшін айқын "for" циклдарын пайдаланады, ішкі AlexNet желісі арқылы 2000-ға дейін жүгіріс болады. Бұл айқын "for" циклдары кескінді өңдеуді баяулатады. Ішкі нейрондық желі арқылы өтетін айқын циклдар мен жүгірістердің саны архитектураның әрбір жаңа нұсқасымен азаяды және жылдамдықты арттыру және Mask R-CNN-де нысанды анықтау міндетін нысан сегментациясымен алмастыру үшін ондаған басқа өзгерістер енгізілуде.
  • YOLO (You Only Look Once) мобильді құрылғыларда объектілерді нақты уақыт режимінде танитын алғашқы нейрондық желі. Оның ерекшелігі - объектілерді бір рет іске қосуда (тек бір рет қарау) ажырату мүмкіндігі. Яғни, YOLO архитектурасы желінің жылдам жұмыс істеуіне мүмкіндік беретін нақты "for" циклдарын пайдаланбайды. Мысалы, мына ұқсастық: NumPy матрицалық операцияларды орындаған кезде нақты "for" циклдарын да пайдаланбайды; бұлар NumPy бағдарламасында C бағдарламалау тілі арқылы архитектураның төменгі деңгейлерінде жүзеге асырылады. YOLO алдын ала анықталған терезелер торын пайдаланады. Бірдей объектінің бірнеше рет анықталуын болдырмау үшін терезелердің қабаттасу коэффициенті (IoU) қолданылады. Iқиылысы oVer Union). Бұл архитектура кең ауқымда жұмыс істейді және жоғары беріктікМодельді фотосуреттермен оқытуға болады, бірақ қолмен салынған суреттермен жақсы жұмыс істейді.
  • SSD (Sқынап SЫстық мультибокс DYOLO нейрондық желісі YOLO архитектурасының ең сәтті «хакерлерін» пайдаланады (мысалы, максималды емес басу) және оны жылдамырақ және дәлірек ету үшін жаңаларын қосады. Оның ерекшелігі - кескін пирамидасындағы көрсетілген терезелер торын (әдепкі қораптарды) пайдаланып, бір іске қосуда нысандарды ажырату мүмкіндігі. Кескін пирамидасы бірізді конверсия және пулдау операцияларын пайдаланып, конволюциялық тензорларда кодталады (максималды-пулдау кезінде кеңістіктік өлшемділік төмендейді). Бұл үлкен де, кіші де нысандарды бір желі іске қосуда анықтауға мүмкіндік береді.
  • МобильдіSSD (жылжымалыNetV2 + SSD) екі нейрондық желі архитектурасының тіркесімі болып табылады. Бірінші желі MobileNetV2 Ол тез жұмыс істейді және тану дәлдігін арттырады. Бастапқыда қолданылған VGG-16 орнына MobileNetV2 қолданылады түпнұсқа мақалаЕкінші SSD желісі кескіндегі нысандардың орнын анықтайды.
  • SqueezeNet – өте кішкентай, бірақ дәл нейрондық желі. Ол нысанды анықтау мәселесін өздігінен шешпейді. Дегенмен, оны әртүрлі архитектуралармен бірге қолдануға болады және мобильді құрылғыларда пайдалануға жарамды. Оның ерекшелігі - деректер алдымен төрт 1×1 конволюциялық сүзгілерге қысылады, содан кейін төрт 1×1 және төрт 3×3 конволюциялық сүзгілерге кеңейтіледі. Деректерді қысу мен кеңейтудің осындай итерацияларының бірі «Өрт модулі» деп аталады.
  • DeepLab (Терең конволюциялық желілермен семантикалық кескін сегментациясы) – кескіндегі нысандарды сегменттеу. Архитектураның ерекшелігі - кеңістіктік ажыратымдылықты сақтайтын кеңейтілген конволюция. Бұдан кейін графикалық ықтималдық моделін (шартты кездейсоқ өріс) пайдаланып кейінгі өңдеу кезеңі жүреді, ол сегменттеудегі шағын шуды жояды және сегменттелген кескіннің сапасын жақсартады. "Графикалық ықтималдық моделі" деген қорқынышты атаудың артында бес нүктеге жуықталған қарапайым Гаусс сүзгісі жатыр.
  • Мен құрылғыны анықтауға тырыстым RefineDet (Бір реттік тазартуОбъектіге арналған нейрондық желі Детбөлім), бірақ аз түсіндім.
  • Мен сондай-ақ «назар аудару» технологиясының қалай жұмыс істейтінін қарастырдым: 1-бейне, 2-бейне, 3-бейне«Назар аудару» архитектурасының ерекшелігі - кескіндегі назардың арту аймақтарын автоматты түрде таңдау (RoI, Rегиондар of Iқызығушылық) Назар аудару блогы деп аталатын нейрондық желіні пайдалану арқылы. Назар аудару аймақтары шектеуші қораптарға ұқсас, бірақ олардан айырмашылығы, олар кескінде бекітілмеген және шекаралары бұлыңғыр болуы мүмкін. Содан кейін ерекшеліктер назар аудару аймақтарынан алынып, архитектурасы бар қайталанатын нейрондық желілерге енгізіледі. LSDM, GRU немесе Vanilla RNNҚайталанатын нейрондық желілер тізбектегі ерекшеліктер арасындағы қатынастарды талдай алады. Қайталанатын нейрондық желілер бастапқыда мәтінді басқа тілдерге аудару үшін, ал қазір аудару үшін пайдаланылды. суреттерді мәтінге айналдыру и мәтіннен суретке.

Осы архитектураларды зерттеген кезде, Мен ештеңені түсінбейтінімді түсіндімМенің нейрондық желімнің назар аудару механизмінде проблемалар бар деген сөз емес. Осы архитектуралардың барлығын жасау авторлар хактерлік тәсілдермен бәсекелесетін үлкен хакатонға ұқсайды. Хак - бұл күрделі бағдарламалау мәселесінің жылдам шешімі. Яғни, осы архитектуралардың барлығы арасында көрінетін немесе түсінікті логикалық байланыс жоқ. Оларды біріктіретін нәрсе - олар бір-бірінен қарызға алатын ең сәтті хактер жиынтығы, сонымен қатар олардың барлығы үшін ортақ мақсат. кері байланыс орау операциясы (қателіктердің кері таралуы). Жоқ жүйелік ойлауНені өзгерту керек немесе бар жетістіктерді қалай оңтайландыру керек екені белгісіз.

Хактардың логикалық байланысы болмағандықтан, оларды есте сақтау және қолдану өте қиын. Олардың білімі үзік-үзік. Ең жақсы жағдайда бірнеше қызықты және күтпеген жайттар есте қалады, бірақ түсінілген және түсінілмеген нәрселердің көпшілігі бірнеше күн ішінде жоғалады. Бір аптадан кейін архитектураның атын да есте сақтасаңыз жақсы болар еді. Соған қарамастан, мақалаларды оқуға және шолу бейнелерін көруге сағаттар мен тіпті күндер босқа кетті!

Нейрондық желілер. Мұның бәрі қайда кетіп жатыр?

2-сурет – Нейрондық желілер хайуанаттар бағы

Менің жеке пікірімше, ғылыми мақалалардың көптеген авторлары тіпті осы үзік-үзік білімнің де оқырманға түсінікті болмауын қамтамасыз ету үшін қолдан келгеннің бәрін жасайды. Бірақ ауадан алынған формулалары бар он жолды сөйлемдердегі үстеулік қатысымдық тіркестер бөлек мақаланың тақырыбы болып табылады (мәселе жариялау немесе құрып кету).

Осы себепті нейрондық желілер туралы ақпаратты жүйелеу және осылайша түсіну мен есте сақтау сапасын жақсарту қажеттілігі туындады. Сондықтан жасанды нейрондық желілердің жеке технологияларын және архитектураларын талдаудың негізгі тақырыбы келесі міндетке айналды: мұның бәрі қайда апаратынын біліңіз, және кез келген нақты нейрондық желінің оқшауланған құрылымы емес.

Мұның бәрі қайда апарады? Негізгі тұжырымдар:

  • Соңғы екі жылдағы машиналық оқыту стартаптарының саны күрт төмендедіМүмкін себебі: «нейрондық желілер енді жаңа нәрсе емес».
  • Қарапайым есепті шешу үшін кез келген адам жұмыс істейтін нейрондық желіні жасай алады. Ол үшін «модельдік хайуанаттар бағынан» дайын модель алып, нейрондық желінің соңғы қабатын жаттықтырыңыз (трансферттік оқыту) дайын деректер бойынша Google деректер жиынын іздеу немесе 25 000 Kaggle деректер жиынтығы тегін Jupyter Notebook бұлты.
  • Ірі нейрондық желі өндірушілері жаңа технологияларды жасай бастады «үлгі хайуанаттар бағы» (модель хайуанаттар бағы). Олардың көмегімен сіз коммерциялық қосымшаны тез жасай аласыз: TF хабы TensorFlow үшін, MMDанықтау PyTorch үшін, Детектор Caffe2 үшін, chainer-modelzoo Чейнер үшін және басқа.
  • Нейрондық желілер жұмыс істейді нақты уақыт (нақты уақыт режимінде) мобильді құрылғыларда. Секундына 10-нан 50 кадрға дейін.
  • Нейрондық желілерді телефондарда (TF Lite), браузерлерде (TF.js) және басқаларда қолдану тұрмыстық заттар (IoT, Iғаламтор of TӘсіресе, аппараттық деңгейде нейрондық желілерді қолдайтын телефондарда (нейрондық үдеткіштер).
  • «Әрбір құрылғыда, киімде және тіпті тамақта да болады» IP-v6 мекенжайы және бір-бірімен байланысады» – Себастьян Трун.
  • Машиналық оқыту бойынша жарияланымдар саны өсе бастады Мур заңынан асып кету (әр екі жыл сайын екі еселенуде). Әрине, мақалаларды талдау үшін нейрондық желілер қажет.
  • Келесі технологиялар танымал бола бастады:
    • PyTorch – танымалдылық тез өсіп келеді және TensorFlow-ды басып озып бара жатқан сияқты.
    • Автоматты гиперпараметрді таңдау AutoML – Танымалдылық біртіндеп өсіп келеді.
    • Дәлдіктің біртіндеп төмендеуі және есептеу жылдамдығының артуы: анық емес логика, алгоритмдер күшейту, дәл емес (шамамен) есептеулер, кванттау (нейрондық желінің салмақтары бүтін сандарға түрлендіріліп, квантталған кезде), нейроакселераторлар.
    • Аударма суреттерді мәтінге айналдыру и мәтіннен суретке.
    • жаратылыс Бейнеден алынған 3D нысандар, қазір нақты уақыт режимінде.
    • ДҚ кілті - көп деректер, бірақ оларды жинау және белгілеу оңай емес. Сондықтан, белгілеуді автоматтандыру дамып келеді (автоматтандырылған аннотация) нейрондық желілерді пайдаланатын нейрондық желілер үшін.
  • Нейрондық желілермен информатика кенеттен пайда болды эксперименттік ғылым және оянды қайталану дағдарысы.
  • АТ ақшасы мен нейрондық желілердің танымалдығы есептеу техникасы нарықтық құндылыққа айналған кезде бір мезгілде пайда болды. Экономика алтын валюта экономикасынан өзгерді алтын-валюта-есептеуМенің мақаламды қараңыз экономика және IT ақшасының пайда болу себебі.

Жаңасы біртіндеп пайда болып келеді ML/DL бағдарламалау әдіснамасы (Машиналық оқыту және терең оқыту), ол бағдарламаны оқытылған нейрондық желі модельдерінің жиынтығы ретінде ұсынуға негізделген.

Нейрондық желілер. Мұның бәрі қайда кетіп жатыр?

3-сурет – Жаңа бағдарламалау әдіснамасы ретіндегі ML/DL

Дегенмен, ол ешқашан пайда болған жоқ нейрондық желі теориялары, оның ішінде жүйелі түрде ойлауға және жұмыс істеуге болады. Қазір «теория» деп аталатын нәрсе іс жүзінде эксперименттік, эвристикалық алгоритмдер болып табылады.

Менің және басқа да ресурстарға сілтемелер:

Назарларыңызға рахмет!

Ақпарат көзі: www.habr.com

DDoS қорғауы бар сайттар үшін сенімді хостинг, VPS VDS серверлерін сатып алыңыз 🔥 DDoS қорғанысы, VPS VDS серверлері бар сенімді веб-сайт хостингін сатып алыңыз | ProHoster