Նյարդային ցանցեր. Ո՞ւր է գնում այս ամենը:

Հոդվածը բաղկացած է երկու մասից.

  1. Պատկերներում օբյեկտների հայտնաբերման և պատկերների հատվածավորման որոշ ցանցային ճարտարապետությունների համառոտ նկարագրություն՝ ինձ համար ռեսուրսների առավել հասկանալի հղումներով: Փորձեցի ընտրել վիդեո բացատրություններ և ցանկալի է՝ ռուսերեն։
  2. Երկրորդ մասը նեյրոնային ցանցերի ճարտարապետության զարգացման ուղղությունը հասկանալու փորձ է։ Եվ դրանց վրա հիմնված տեխնոլոգիաներ։

Նյարդային ցանցեր. Ո՞ւր է գնում այս ամենը:

Նկար 1 – Նեյրոնային ցանցերի ճարտարապետությունը հասկանալը հեշտ չէ

Ամեն ինչ սկսվեց Android հեռախոսի վրա օբյեկտների դասակարգման և հայտնաբերման երկու ցուցադրական հավելված պատրաստելով.

  • Հետևի ցուցադրություն, երբ տվյալները մշակվում են սերվերում և փոխանցվում հեռախոսին: Երեք տեսակի արջերի պատկերների դասակարգում` շագանակագույն, սև և փափուկ:
  • Front-end ցուցադրություներբ տվյալները մշակվում են հենց հեռախոսով: Երեք տեսակի առարկաների հայտնաբերում (օբյեկտների հայտնաբերում)՝ պնդուկ, թուզ և խուրմա։

Տարբերություն կա պատկերների դասակարգման առաջադրանքների, պատկերի մեջ օբյեկտի հայտնաբերման և պատկերի հատվածավորում. Հետևաբար, անհրաժեշտություն առաջացավ պարզել, թե որ նեյրոնային ցանցի ճարտարապետներն են հայտնաբերում առարկաները պատկերներում և որոնք կարող են դրանք հատվածավորել: Ես գտա ճարտարապետության հետևյալ օրինակները՝ ինձ համար ռեսուրսների առավել հասկանալի հղումներով.

  • R-CNN-ի վրա հիմնված ճարտարապետությունների շարք (Rմարզերի հետ Convolution Nեվրո Networks-ի առանձնահատկությունները՝ R-CNN, Fast R-CNN, Ավելի արագ R-CNN, Դիմակ R-CNN. Պատկերում օբյեկտը հայտնաբերելու համար սահմանող տուփերը հատկացվում են՝ օգտագործելով Տարածաշրջանի առաջարկի ցանցի (RPN) մեխանիզմը: Սկզբում RPN-ի փոխարեն օգտագործվում էր ավելի դանդաղ ընտրողական որոնման մեխանիզմը: Այնուհետև ընտրված սահմանափակ շրջանները դասակարգման համար սնվում են սովորական նեյրոնային ցանցի մուտքով: R-CNN-ի ճարտարապետությունն ունի բացահայտ «կողմ» օղակներ սահմանափակ շրջաններում, ընդհանուր առմամբ մինչև 2000 գործարկում AlexNet ներքին ցանցի միջոցով: Բացահայտ «for» օղակները դանդաղեցնում են պատկերի մշակման արագությունը: Ներքին նեյրոնային ցանցի միջով անցնող բացահայտ օղակների թիվը նվազում է ճարտարապետության յուրաքանչյուր նոր տարբերակի հետ, և տասնյակ այլ փոփոխություններ են կատարվում արագությունը բարձրացնելու և օբյեկտների հայտնաբերման առաջադրանքը Mask R-CNN-ում օբյեկտների հատվածավորմամբ փոխարինելու համար:
  • YOLO (You Only Lնույնպես Once) առաջին նեյրոնային ցանցն է, որը իրական ժամանակում ճանաչեց օբյեկտները շարժական սարքերում: Տարբերակիչ հատկանիշ. օբյեկտների տարբերակում մեկ վազքով (ուղղակի նայեք մեկ անգամ): Այսինքն, YOLO ճարտարապետության մեջ չկան բացահայտ «for» օղակներ, ինչի պատճառով ցանցն արագ է աշխատում: Օրինակ, այս անալոգիան. NumPy-ում, մատրիցներով գործողություններ կատարելիս, չկան նաև բացահայտ «for» օղակներ, որոնք NumPy-ում իրականացվում են ճարտարապետության ցածր մակարդակներում C ծրագրավորման լեզվի միջոցով: YOLO-ն օգտագործում է նախապես սահմանված պատուհանների ցանց: Նույն օբյեկտի մի քանի անգամ սահմանումը կանխելու համար օգտագործվում է պատուհանի համընկնման գործակիցը (IoU): Iխաչմերուկ over Uնիոն): Այս ճարտարապետությունը գործում է լայն շրջանակում և ունի բարձր ամրությունՄոդելը կարող է սովորել լուսանկարների վրա, բայց դեռ լավ է հանդես գալիս ձեռքով նկարված նկարների վրա:
  • SSD (Sանգլի Sտաք MultiBox Detector) – օգտագործվում են YOLO ճարտարապետության ամենահաջող «հակերը» (օրինակ՝ ոչ առավելագույն ճնշում) և ավելացվում են նորերը՝ նեյրոնային ցանցն ավելի արագ և ճշգրիտ աշխատելու համար: Տարբերակիչ հատկանիշ. օբյեկտների տարբերակում մեկ վազքի ընթացքում՝ օգտագործելով պատուհանների տվյալ ցանցը (կանխադրված տուփ) պատկերի բուրգի վրա: Պատկերի բուրգը կոդավորվում է կոնվոլյուցիոն թենսորներում՝ հաջորդական ոլորման և միավորման գործողությունների միջոցով (max-pooling գործողության դեպքում տարածական չափը նվազում է): Այս կերպ և՛ մեծ, և՛ փոքր օբյեկտները որոշվում են մեկ ցանցային գործարկումով:
  • MobileSSD (շարժականNetV2+ SSD) երկու նեյրոնային ցանցի ճարտարապետության համակցություն է: Առաջին ցանց MobileNetV2 աշխատում է արագ և մեծացնում է ճանաչման ճշգրտությունը: MobileNetV2-ն օգտագործվում է VGG-16-ի փոխարեն, որն ի սկզբանե օգտագործվել է բնօրինակ հոդված. Երկրորդ SSD ցանցը որոշում է պատկերի օբյեկտների գտնվելու վայրը:
  • SqueezeNet - շատ փոքր, բայց ճշգրիտ նեյրոնային ցանց: Ինքնին դա չի լուծում օբյեկտների հայտնաբերման խնդիրը։ Այնուամենայնիվ, այն կարող է օգտագործվել տարբեր ճարտարապետությունների համադրությամբ: Եվ օգտագործվում է շարժական սարքերում: Հատկանշական առանձնահատկությունն այն է, որ տվյալները սկզբում սեղմվում են չորս 1×1 կոնվոլյուցիոն զտիչների մեջ, այնուհետև ընդլայնվում են չորս 1×1 և չորս 3×3 կոնվոլյուցիոն ֆիլտրերի: Տվյալների սեղմման-ընդլայնման նման կրկնությունները կոչվում են «Հրդեհային մոդուլ»:
  • DeepLab (Semantic Image Segmentation with Deep Convolutional Nets) – պատկերի օբյեկտների հատվածավորում: Ճարտարապետության տարբերակիչ առանձնահատկությունն է լայնացած ոլորումը, որը պահպանում է տարածական լուծումը: Դրան հաջորդում է արդյունքների հետմշակման փուլը՝ օգտագործելով գրաֆիկական հավանականական մոդելը (պայմանական պատահական դաշտ), որը թույլ է տալիս հեռացնել փոքր աղմուկը հատվածում և բարելավել հատվածավորված պատկերի որակը: «Գրաֆիկական հավանականական մոդել» ահեղ անվանման հետևում թաքնված է սովորական Գաուսի ֆիլտրը, որը մոտավոր է հինգ կետով:
  • Փորձեց պարզել սարքը RefineDet (Մեկ կրակոց ԶտելՆեյրոնային ցանց օբյեկտների համար Դետection), բայց ես շատ բան չհասկացա:
  • Ես նաև նայեցի, թե ինչպես է աշխատում «ուշադրության» տեխնոլոգիան. տեսանյութ 1, տեսանյութ 2, տեսանյութ 3. «Ուշադրության» ճարտարապետության տարբերակիչ առանձնահատկությունն այն է, որ պատկերում ավելացված ուշադրության շրջանների ավտոմատ ընտրությունն է (RoI, Rշրջաններ of Interest) օգտագործելով նեյրոնային ցանց, որը կոչվում է Ուշադրության միավոր: Ավելացված ուշադրության շրջանները նման են սահմանափակող արկղերին, բայց ի տարբերություն դրանց, դրանք ֆիքսված չեն նկարում և կարող են ունենալ մշուշոտ սահմաններ: Այնուհետև ավելացված ուշադրության շրջաններից մեկուսացվում են նշանները (հատկանիշները), որոնք «սնվում» են ճարտարապետություններով կրկնվող նեյրոնային ցանցերին։ LSDM, GRU կամ Vanilla RNN. Կրկնվող նեյրոնային ցանցերը կարողանում են վերլուծել հատկանիշների փոխհարաբերությունները հաջորդականությամբ: Կրկնվող նեյրոնային ցանցերը սկզբում օգտագործվում էին տեքստը այլ լեզուներով թարգմանելու համար, իսկ այժմ՝ թարգմանության համար պատկերները տեքստին и տեքստից պատկեր.

Երբ մենք ուսումնասիրում ենք այս ճարտարապետությունները Ես հասկացա, որ ոչինչ չեմ հասկանում. Եվ այնպես չէ, որ իմ նեյրոնային ցանցը խնդիրներ ունի ուշադրության մեխանիզմի հետ: Այս բոլոր ճարտարապետությունների ստեղծումը նման է ինչ-որ հսկայական հաքաթոնի, որտեղ հեղինակները մրցում են հաքերում: Hack-ը բարդ ծրագրային խնդրի արագ լուծում է: Այսինքն՝ այս բոլոր ճարտարապետությունների միջեւ չկա տեսանելի եւ հասկանալի տրամաբանական կապ։ Այն ամենը, ինչ միավորում է նրանց, ամենահաջող հաքերների մի շարք է, որոնք նրանք փոխառում են միմյանցից, գումարած ընդհանուր մեկը բոլորի համար: փակ հանգույցի ոլորման գործողություն (սխալ ետ տարածում, ետ տարածում): Ոչ համակարգային մտածողություն! Պարզ չէ, թե ինչ պետք է փոխել և ինչպես օպտիմալացնել առկա ձեռքբերումները:

Հեքերի միջև տրամաբանական կապի բացակայության արդյունքում դրանք չափազանց դժվար է հիշել և կիրառել գործնականում։ Սա մասնատված գիտելիք է: Լավագույն դեպքում հիշվում են մի քանի հետաքրքիր ու անսպասելի պահեր, բայց հասկացվածի ու անհասկանալիի մեծ մասը մի քանի օրվա ընթացքում անհետանում է հիշողությունից։ Լավ կլինի, որ մեկ շաբաթից գոնե ճարտարապետության անունը հիշեք։ Բայց մի քանի ժամ և նույնիսկ օրեր աշխատաժամանակ են ծախսել հոդվածներ կարդալու և տեսահոլովակներ դիտելու վրա։

Նյարդային ցանցեր. Ո՞ւր է գնում այս ամենը:

Նկար 2 – Նյարդային ցանցերի կենդանաբանական այգի

Գիտական ​​հոդվածների հեղինակների մեծ մասը, իմ անձնական կարծիքով, անում է ամեն ինչ, որպեսզի նույնիսկ այս մասնատված գիտելիքները չհասկանան ընթերցողի կողմից։ Բայց տասը տողային նախադասությունների մասնակցային արտահայտությունները «օդից դուրս» բերված բանաձևերով առանձին հոդվածի թեմա են (խնդիր. հրապարակել կամ կործանել).

Այդ իսկ պատճառով անհրաժեշտություն կա համակարգել տեղեկատվությունը նեյրոնային ցանցերի միջոցով և այդպիսով բարձրացնել հասկանալու և մտապահելու որակը: Հետևաբար, արհեստական ​​նեյրոնային ցանցերի առանձին տեխնոլոգիաների և ճարտարապետության վերլուծության հիմնական թեման հետևյալ խնդիրն էր. պարզեք, թե ուր է գնում այդ ամենը, և ոչ թե առանձին նեյրոնային ցանցի սարքը։

Ո՞ւր է գնում այս ամենը։ Հիմնական արդյունքները.

  • Մեքենայի ուսուցման ստարտափների թիվը վերջին երկու տարում կտրուկ ընկավ. Հնարավոր պատճառ. «նյարդային ցանցերն այլևս նոր բան չեն»:
  • Յուրաքանչյուրը կարող է ստեղծել գործող նեյրոնային ցանց՝ պարզ խնդիր լուծելու համար։ Դա անելու համար վերցրեք պատրաստի մոդել «մոդելային կենդանաբանական այգուց» և վարժեցրեք նեյրոնային ցանցի վերջին շերտը (ուսուցման փոխանցում) պատրաստի տվյալների վրա Google Dataset Որոնում կամ 25 հազար Kaggle տվյալների հավաքածու անվճար ամպ Jupyter Notebook.
  • Սկսեցին ստեղծել նեյրոնային ցանցերի խոշոր արտադրողները «մոդելային կենդանաբանական այգիներ» (մոդել կենդանաբանական այգի): Օգտագործելով դրանք դուք կարող եք արագ ստեղծել կոմերցիոն հավելված. TF հանգույց TensorFlow-ի համար, MMDection PyTorch-ի համար, Դետեկտրոն Caffe2-ի համար, chainer-modelzoo Չայների համար և մյուսները.
  • Գործող նեյրոնային ցանցեր իրական ժամանակում (իրական ժամանակում) շարժական սարքերում: 10-ից մինչև 50 կադր վայրկյանում:
  • Նյարդային ցանցերի օգտագործումը հեռախոսներում (TF Lite), բրաուզերներում (TF.js) և կենցաղային իրեր (IoT, Iինտերնետ of Tկախիչներ): Հատկապես այն հեռախոսներում, որոնք արդեն աջակցում են նեյրոնային ցանցերին ապարատային մակարդակով (նեյրոնային արագացուցիչներ):
  • «Յուրաքանչյուր սարք, հագուստ և գուցե նույնիսկ սնունդ կունենա IP-v6 հասցե և շփվել միմյանց հետ» - Սեբաստիան Թրուն.
  • Մեքենայի ուսուցման վերաբերյալ հրապարակումների թիվը սկսել է աճել գերազանցել Մուրի օրենքը (կրկնապատկվում է յուրաքանչյուր երկու տարին մեկ) սկսած 2015թ. Ակնհայտ է, որ հոդվածների վերլուծության համար մեզ անհրաժեշտ են նեյրոնային ցանցեր։
  • Հետևյալ տեխնոլոգիաները դառնում են ժողովրդականություն.
    • PyTorch- ը – ժողովրդականությունը արագորեն աճում է և կարծես թե առաջ է անցնում TensorFlow-ից:
    • Հիպերպարամետրերի ավտոմատ ընտրություն AutoML - ժողովրդականությունը սահուն աճում է:
    • Ճշգրտության աստիճանական նվազում և հաշվարկի արագության բարձրացում. անորոշ տրամաբանություն, ալգորիթմներ խթանող, ոչ ճշգրիտ (մոտավոր) հաշվարկներ, քվանտացում (երբ նեյրոնային ցանցի կշիռները վերածվում են ամբողջ թվերի և քվանտացվում), նյարդային արագացուցիչներ։
    • Թարգմանություն պատկերները տեքստին и տեքստից պատկեր.
    • ստեղծում XNUMXD առարկաներ տեսանյութից, այժմ իրական ժամանակում։
    • DL-ի հետ կապված գլխավորն այն է, որ շատ տվյալներ կան, բայց դրանք հավաքելը և պիտակավորելը հեշտ չէ: Հետևաբար, նշագրման ավտոմատացումը զարգանում է (ավտոմատացված նշում) նեյրոնային ցանցերի համար, որոնք օգտագործում են նեյրոնային ցանցեր:
  • Նեյրոնային ցանցերի հետ համակարգչային գիտությունը հանկարծ դարձավ փորձարարական գիտ և առաջացավ վերարտադրելիության ճգնաժամ.
  • ՏՏ փողը և նեյրոնային ցանցերի ժողովրդականությունը ի հայտ եկան միաժամանակ, երբ հաշվողականությունը դարձավ շուկայական արժեք: Տնտեսությունը փոխվում է ոսկու և արժութային տնտեսությունից դեպի ոսկի-արժույթ-հաշվարկ. Տես իմ հոդվածը էկոնոֆիզիկա եւ ՏՏ փողի ի հայտ գալու պատճառը։

Աստիճանաբար հայտնվում է նորը ML/DL ծրագրավորման մեթոդաբանություն (Machine Learning & Deep Learning), որը հիմնված է ծրագիրը որպես պատրաստված նեյրոնային ցանցի մոդելների հավաքածու ներկայացնելու վրա։

Նյարդային ցանցեր. Ո՞ւր է գնում այս ամենը:

Նկար 3 – ML/DL որպես ծրագրավորման նոր մեթոդաբանություն

Այնուամենայնիվ, այն երբեք չհայտնվեց «նյարդային ցանցերի տեսություն», որի շրջանակներում կարող եք համակարգված մտածել և աշխատել։ Այն, ինչ այժմ կոչվում է «տեսություն», իրականում փորձարարական, էվրիստիկական ալգորիթմներ են:

Իմ և այլ ռեսուրսների հղումներ.

Շնորհակալություն ձեր ուշադրության համար:

Source: www.habr.com

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