Mitandao ya Neural. Haya yote yanaenda wapi?

Nakala hiyo ina sehemu mbili:

  1. Maelezo mafupi ya baadhi ya usanifu wa mtandao wa utambuzi wa kitu katika picha na sehemu za picha na viungo vinavyoeleweka zaidi vya rasilimali kwangu. Nilijaribu kuchagua maelezo ya video na ikiwezekana kwa Kirusi.
  2. Sehemu ya pili ni jaribio la kuelewa mwelekeo wa maendeleo ya usanifu wa mtandao wa neural. Na teknolojia kulingana na wao.

Mitandao ya Neural. Haya yote yanaenda wapi?

Kielelezo 1 - Kuelewa usanifu wa mtandao wa neural si rahisi

Yote ilianza kwa kutengeneza programu mbili za onyesho za uainishaji wa kitu na utambuzi kwenye simu ya Android:

  • Onyesho la nyuma, wakati data inachakatwa kwenye seva na kutumwa kwa simu. Uainishaji wa picha ya aina tatu za dubu: kahawia, nyeusi na teddy.
  • Onyesho la mwisho wa mbelewakati data inachakatwa kwenye simu yenyewe. Kugundua vitu (kugundua kitu) cha aina tatu: hazelnuts, tini na tarehe.

Kuna tofauti kati ya kazi za uainishaji wa picha, kugundua kitu kwenye picha na mgawanyiko wa picha. Kwa hivyo, kulikuwa na haja ya kujua ni usanifu gani wa mtandao wa neural hugundua vitu kwenye picha na ni zipi zinaweza kugawanyika. Nilipata mifano ifuatayo ya usanifu iliyo na viungo vinavyoeleweka zaidi kwa rasilimali kwangu:

  • Msururu wa usanifu kulingana na R-CNN (Rmikoa yenye Convolution Neural Nvipengele vya kazi): R-CNN, Fast R-CNN, Kasi ya R-CNN, Mask R-CNN. Ili kugundua kitu kwenye picha, visanduku vya kufunga vinatolewa kwa kutumia utaratibu wa Mtandao wa Mapendekezo ya Kanda (RPN). Hapo awali, utaratibu wa polepole wa Utafutaji wa Uteuzi ulitumiwa badala ya RPN. Kisha mikoa yenye mipaka iliyochaguliwa inalishwa kwa pembejeo ya mtandao wa kawaida wa neva kwa uainishaji. Usanifu wa R-CNN una vitanzi vya "kwa" wazi juu ya maeneo machache, jumla ya hadi 2000 huendesha kupitia mtandao wa ndani wa AlexNet. Vitanzi "kwa" wazi hupunguza kasi ya kuchakata picha. Idadi ya vitanzi vya wazi vinavyopitia mtandao wa ndani wa neva hupungua kwa kila toleo jipya la usanifu, na kadhaa ya mabadiliko mengine hufanywa ili kuongeza kasi na kuchukua nafasi ya kazi ya kugundua kitu kwa mgawanyiko wa kitu katika Mask R-CNN.
  • YOLO (You Only Look Once) ndio mtandao wa kwanza wa neva ambao ulitambua vitu kwa wakati halisi kwenye vifaa vya rununu. Kipengele tofauti: kutofautisha vitu kwa kukimbia moja (angalia mara moja tu). Hiyo ni, katika usanifu wa YOLO hakuna loops wazi "kwa", ndiyo sababu mtandao hufanya kazi haraka. Kwa mfano, mlinganisho huu: katika NumPy, wakati wa kufanya shughuli na matrices, pia hakuna loops wazi za "kwa", ambazo katika NumPy zinatekelezwa katika viwango vya chini vya usanifu kupitia lugha ya programu C. YOLO hutumia gridi ya madirisha yaliyotanguliwa. Ili kuzuia kitu kimoja kisifafanuliwe mara nyingi, mgawo wa kuingiliana wa dirisha (IoU) hutumiwa. Imakutano over Union). Usanifu huu unafanya kazi kwa anuwai na ina juu uthabiti: Muundo unaweza kufunzwa kuhusu picha lakini bado utafanya vyema kwenye michoro inayochorwa kwa mkono.
  • SSD (Single SMoto MultiBox Detector) - "hacks" zilizofanikiwa zaidi za usanifu wa YOLO hutumiwa (kwa mfano, ukandamizaji usio wa kiwango cha juu) na mpya huongezwa ili kufanya mtandao wa neural ufanye kazi kwa kasi na kwa usahihi zaidi. Kipengele tofauti: kutofautisha vitu kwa kukimbia moja kwa kutumia gridi fulani ya madirisha (sanduku chaguo-msingi) kwenye piramidi ya picha. Piramidi ya picha imesimbwa katika tensor za ubadilishaji kupitia ubadilishanaji unaofuatana na shughuli za kuunganisha (pamoja na operesheni ya ujumuishaji wa hali ya juu, mwelekeo wa anga hupungua). Kwa njia hii, vitu vikubwa na vidogo vinatambuliwa katika kukimbia kwa mtandao mmoja.
  • MobileSSD (simuNetV2+ SSD) ni mchanganyiko wa usanifu wa mtandao wa neva. Mtandao wa kwanza MobileNetV2 hufanya kazi haraka na huongeza usahihi wa utambuzi. MobileNetV2 inatumika badala ya VGG-16, ambayo ilitumika hapo awali makala asili. Mtandao wa pili wa SSD huamua eneo la vitu kwenye picha.
  • SqueezeNet - mtandao mdogo sana lakini sahihi wa neva. Kwa yenyewe, haina kutatua tatizo la kugundua kitu. Hata hivyo, inaweza kutumika katika mchanganyiko wa usanifu tofauti. Na kutumika katika vifaa vya mkononi. Kipengele tofauti ni kwamba data kwanza inabanwa katika vichujio vinne vya kubadilisha 1Γ—1 na kisha kupanuliwa kuwa vichujio vinne vya 1Γ—1 na vinne 3Γ—3 vya kubadilisha. Mojawapo ya marudio ya upanuzi wa ukandamizaji wa data inaitwa "Moduli ya Moto".
  • DeepLab (Mgawanyiko wa Picha za Semantiki na Nyavu za Kina za Ubadilishaji) - mgawanyiko wa vitu kwenye picha. Kipengele tofauti cha usanifu ni mabadiliko yaliyopanuliwa, ambayo huhifadhi azimio la anga. Hii inafuatwa na hatua ya baada ya usindikaji wa matokeo kwa kutumia mfano wa uwezekano wa kielelezo (uwanja wa nasibu wa masharti), ambayo inakuwezesha kuondoa kelele ndogo katika sehemu na kuboresha ubora wa picha iliyogawanywa. Nyuma ya jina la kutisha "mfano wa uwezekano wa picha" huficha kichujio cha kawaida cha Gaussian, ambacho kinakadiriwa kwa pointi tano.
  • Alijaribu kujua kifaa RefineDet (Risasi Moja Kuboreshament Neural Network for Object Theection), lakini sikuelewa mengi.
  • Niliangalia pia jinsi teknolojia ya "makini" inavyofanya kazi: video1, video2, video3. Kipengele tofauti cha usanifu wa "makini" ni uteuzi wa moja kwa moja wa maeneo ya kuongezeka kwa tahadhari katika picha (RoI, Regions of Iinterest) kwa kutumia mtandao wa neva unaoitwa Kitengo cha Makini. Mikoa ya tahadhari iliyoongezeka ni sawa na masanduku ya kufunga, lakini tofauti na hayo, hayajawekwa kwenye picha na inaweza kuwa na mipaka iliyopigwa. Kisha, kutoka kwa mikoa ya tahadhari iliyoongezeka, ishara (vipengele) zimetengwa, ambazo "hulishwa" kwa mitandao ya kawaida ya neural na usanifu. LSDM, GRU au Vanilla RNN. Mitandao ya kawaida ya neva ina uwezo wa kuchanganua uhusiano wa vipengele katika mlolongo. Mitandao ya kawaida ya neva ilitumiwa awali kutafsiri maandishi katika lugha nyingine, na sasa kwa tafsiri picha kwa maandishi ΠΈ maandishi kwa picha.

Tunapochunguza usanifu huu Niligundua kuwa sielewi chochote. Na sio kwamba mtandao wangu wa neural una shida na utaratibu wa umakini. Uundaji wa usanifu huu wote ni kama aina fulani ya hackathon kubwa, ambapo waandishi hushindana katika hacks. Hack ni suluhisho la haraka kwa shida ngumu ya programu. Hiyo ni, hakuna uhusiano unaoonekana na unaoeleweka wa kimantiki kati ya usanifu huu wote. Kinachowaunganisha ni seti ya hila zilizofanikiwa zaidi ambazo wanakopa kutoka kwa kila mmoja, pamoja na moja ya kawaida kwa wote. operesheni ya ugeuzaji wa kitanzi kimefungwa (uenezaji wa makosa, uenezaji wa nyuma). Hapana mifumo ya kufikiri! Haijulikani ni nini cha kubadilisha na jinsi ya kuboresha mafanikio yaliyopo.

Kama matokeo ya ukosefu wa muunganisho wa kimantiki kati ya hacks, ni ngumu sana kukumbuka na kutumia katika mazoezi. Haya ni maarifa yaliyogawanyika. Kwa bora, dakika chache za kuvutia na zisizotarajiwa hukumbukwa, lakini mengi ya yale yanayoeleweka na yasiyoeleweka hupotea kutoka kwa kumbukumbu ndani ya siku chache. Itakuwa nzuri ikiwa katika wiki unakumbuka angalau jina la usanifu. Lakini saa kadhaa na hata siku za muda wa kazi zilitumika kusoma makala na kutazama video za mapitio!

Mitandao ya Neural. Haya yote yanaenda wapi?

Kielelezo 2 - Zoo ya Mitandao ya Neural

Waandishi wengi wa makala za kisayansi, kwa maoni yangu binafsi, hufanya kila linalowezekana ili kuhakikisha kwamba hata ujuzi huu uliogawanyika haueleweki na msomaji. Lakini misemo shirikishi katika sentensi kumi za mstari na fomula ambazo huchukuliwa "nje ya hewa nyembamba" ni mada ya nakala tofauti (tatizo). kuchapisha au kupotea).

Kwa sababu hii, kuna haja ya kupanga taarifa kwa kutumia mitandao ya neva na, hivyo, kuongeza ubora wa uelewa na kukariri. Kwa hivyo, mada kuu ya uchambuzi wa teknolojia ya mtu binafsi na usanifu wa mitandao ya neural ya bandia ilikuwa kazi ifuatayo: ujue yote yanaenda wapi, na si kifaa cha mtandao wowote maalum wa neva kando.

Yote haya yanaenda wapi? Matokeo kuu:

  • Idadi ya wanaoanza kujifunza mashine katika miaka miwili iliyopita ilianguka kwa kasi. Sababu inayowezekana: "mitandao ya neva si kitu kipya tena."
  • Mtu yeyote anaweza kuunda mtandao wa neva unaofanya kazi ili kutatua tatizo rahisi. Ili kufanya hivyo, chukua kielelezo kilichotengenezwa tayari kutoka kwa "zoo ya mfano" na ufunze safu ya mwisho ya mtandao wa neva (kuhamisha kujifunza) kwenye data iliyotengenezwa tayari kutoka Utafutaji wa Hifadhidata ya Google au kutoka Seti elfu 25 za data za Kaggle katika bure cloud Jupyter Daftari.
  • Wazalishaji wakubwa wa mitandao ya neural walianza kuunda "mfano mbuga za wanyama" (mfano wa zoo). Kwa kuzitumia unaweza kuunda programu ya kibiashara haraka: Kitovu cha TF kwa TensorFlow, Utambuzi wa MM kwa PyTorch, Kigunduzi kwa Caffe2, Chainer-modelzoo kwa Chainer na wengine.
  • Mitandao ya Neural inayofanya kazi ndani Muda halisi (muda halisi) kwenye vifaa vya rununu. Kutoka kwa muafaka 10 hadi 50 kwa sekunde.
  • Matumizi ya mitandao ya neva katika simu (TF Lite), katika vivinjari (TF.js) na ndani vitu vya nyumbani (IoT, Isaa sita of Tbawaba). Hasa katika simu ambazo tayari zinaauni mitandao ya neural katika kiwango cha maunzi (neural accelerators).
  • β€œKila kifaa, nguo, na pengine hata chakula kitakuwa nacho Anwani ya IP-v6 na kuwasiliana na kila mmoja" - Sebastian Thrun.
  • Idadi ya machapisho kuhusu kujifunza kwa mashine imeanza kuongezeka kuvuka sheria ya Moore (mara mbili kila baada ya miaka miwili) tangu 2015. Ni wazi, tunahitaji mitandao ya neural kwa kuchambua vifungu.
  • Teknolojia zifuatazo zinapata umaarufu:
    • PyTorch - umaarufu unakua kwa kasi na unaonekana kuipita TensorFlow.
    • Uchaguzi wa moja kwa moja wa hyperparameters AutoML - umaarufu unakua vizuri.
    • Kupungua kwa kasi kwa usahihi na kuongezeka kwa kasi ya hesabu: mantiki ya fuzzy, algorithms kukuza, mahesabu yasiyo sahihi (takriban), quantization (wakati uzito wa mtandao wa neural hubadilishwa kuwa integers na quantized), accelerators za neural.
    • Tafsiri picha kwa maandishi ΠΈ maandishi kwa picha.
    • viumbe Vitu vya 3D kutoka kwa video, sasa katika wakati halisi.
    • Jambo kuu kuhusu DL ni kwamba kuna data nyingi, lakini kukusanya na kuweka lebo sio rahisi. Kwa hivyo, otomatiki ya markup inakua (ufafanuzi otomatiki) kwa mitandao ya neva kwa kutumia mitandao ya neva.
  • Na mitandao ya neural, Sayansi ya Kompyuta ikawa ghafla sayansi ya majaribio na akainuka mgogoro wa uzazi.
  • Pesa za IT na umaarufu wa mitandao ya neural uliibuka wakati huo huo kompyuta ikawa thamani ya soko. Uchumi unabadilika kutoka uchumi wa dhahabu na sarafu hadi dhahabu-fedha-kompyuta. Tazama nakala yangu fizikia ya uchumi na sababu ya kuonekana kwa pesa za IT.

Hatua kwa hatua, mpya inaonekana Mbinu ya programu ya ML/DL (Kujifunza kwa Mashine na Kujifunza kwa Kina), ambayo inategemea kuwakilisha programu kama seti ya miundo ya mtandao wa neva iliyofunzwa.

Mitandao ya Neural. Haya yote yanaenda wapi?

Kielelezo 3 - ML/DL kama mbinu mpya ya utayarishaji

Hata hivyo, haikuonekana kamwe "nadharia ya mtandao wa neva", ambayo unaweza kufikiria na kufanya kazi kwa utaratibu. Nini sasa inaitwa "nadharia" kwa kweli ni majaribio, heuristic algoriti.

Viungo vyangu na rasilimali zingine:

Asante!

Chanzo: mapenzi.com

Kuongeza maoni