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

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

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

3-сурет – Жаңа бағдарламалау әдіснамасы ретіндегі ML/DL
Дегенмен, ол ешқашан пайда болған жоқ нейрондық желі теориялары, оның ішінде жүйелі түрде ойлауға және жұмыс істеуге болады. Қазір «теория» деп аталатын нәрсе іс жүзінде эксперименттік, эвристикалық алгоритмдер болып табылады.
Менің және басқа да ресурстарға сілтемелер:
- Деректер ғылымы туралы ақпараттық бюллетень. Негізінен кескіндерді өңдеу туралы. Оны алуға қызығушылық танытқан кез келген адам маған электрондық пошта арқылы хабарласа алады (foobar167<gaf-gaf>gmail<dot>com). Жаңа материалдар жинаған сайын мақалалар мен бейнелерге сілтемелер жіберемін.
- Жалпы ақпарат мен тапсырдым және тапсырғым келеді.
- , олар нейрондық желілерді зерттеуді бастауға тұрарлық. Сонымен қатар брошюра .
- , онда әркім өзіне қызықты нәрсе таба алады.
- Олар өте пайдалы болып шықты ғылыми мақалаларды талдауға арналған бейне арналар Деректер ғылымы. Оларды тауып, бақылап, сілтемелерді әріптестеріңізбен және менімен бөлісіңіз. Мысалдар:
- аға қадамдық нұсқаулармен және ашық бастапқы кодпен.
Назарларыңызға рахмет!
Ақпарат көзі: www.habr.com
