AlexNet ir konvolucionāls neironu tīkls attēlu klasifikācijai. Attēlu atpazīšanas sistēmas izstrāde, pamatojoties uz mākslīgo neironu tīklu aparātu Daudzslāņu neironu tīkli

AlexNet ir konvolucionāls neironu tīkls, kam ir bijusi liela ietekme uz mašīnmācīšanās attīstību, jo īpaši datorredzes algoritmiem. Tīkls 2012. gadā ar lielu pārsvaru uzvarēja ImageNet LSVRC-2012 attēlu atpazīšanas konkursā (ar 15,3% kļūdām pretstatā 26,2% otrajā vietā).

AlexNet arhitektūra ir līdzīga Yann LeCum LeNet arhitektūrai. Tomēr AlexNet katram slānim ir vairāk filtru un ligzdotu konvolucionālo slāņu. Tīkls ietver konvolucijas, maksimālo apvienošanu, izkrišanu, datu palielināšanu, ReLU aktivizēšanu un stohastiskā gradienta nolaišanos.

AlexNet funkcijas

  1. Kā aktivizācijas funkcija Relu tiek izmantota arktangenta vietā, lai modelim pievienotu nelinearitāti. Pateicoties tam, ar tādu pašu metodes precizitāti ātrums kļūst 6 reizes lielāks.
  2. Atbrīvošanas izmantošana regularizācijas vietā atrisina pārmērības problēmu. Tomēr treniņu laiks dubultojas ar atbirumu 0,5.
  3. Savienojumi, kas pārklājas, tiek veikti, lai samazinātu tīkla izmēru. Sakarā ar to pirmā un piektā līmeņa kļūdu līmenis tiek samazināts attiecīgi līdz 0,4% un 0,3%.

ImageNet datu kopa

ImageNet ir 15 miljonu augstas izšķirtspējas attēlu kolekcija, kas sadalīta 22 000 kategorijās. Attēli tika savākti tiešsaistē un marķēti manuāli, izmantojot Amazon Mechanical Turk pūļa pakalpojumus. Kopš 2010. gada Pascal Visual Object Challenge ietvaros tiek rīkots ikgadējais ImageNet liela mēroga vizuālās atpazīšanas izaicinājums (ILSVRC). Izaicinājums izmanto daļu no ImageNet datu kopas ar 1000 attēliem katrā no 1000 kategorijām. Kopā tiek iegūti 1,2 miljoni attēlu apmācībai, 50 000 attēlu pārbaudei un 150 000 testēšanai. ImageNet sastāv no attēliem ar dažādu izšķirtspēju. Tāpēc konkursam tie tiek mērogoti līdz fiksētai izšķirtspējai 256 × 256. Ja sākotnējais attēls bija taisnstūrveida, tad tas tiek apgriezts līdz kvadrātam attēla centrā.

Arhitektūra

1. attēls

Tīkla arhitektūra ir parādīta 1. attēlā. AlexNet satur astoņus svērtos slāņus. Pirmie pieci no tiem ir konvolucionāli, bet pārējie trīs ir pilnībā saistīti. Izvade tiek nodota caur softmax zudumu funkciju, kas ģenerē 1000 klases etiķešu sadalījumu. Tīkls maksimāli palielina daudzlīniju loģistisko regresiju, kas ir līdzvērtīga pareizas marķēšanas varbūtības logaritma vidējās vērtības palielināšanai visos apmācības gadījumos pār paredzamo sadalījumu. Otrā, ceturtā un piektā konvolucionālā slāņa kodoli ir saistīti tikai ar tām iepriekšējā slāņa kodolu kartēm, kas atrodas tajā pašā GPU. Trešā konvolucionālā slāņa serdeņi ir saistīti ar visām otrā slāņa kodolu kartēm. Neironi pilnībā savienotajos slāņos ir savienoti ar visiem iepriekšējā slāņa neironiem.

Tādējādi AlexNet satur 5 konvolucionālos slāņus un 3 pilnībā savienotus slāņus. Relu tiek uzklāts pēc katra konvolucionālā un pilnībā savienotā slāņa. Atkritums tiek uzklāts pirms pirmā un otrā pilnībā savienotā slāņa. Tīkls satur 62,3 miljonus parametru un prasa 1,1 miljardu aprēķinu pārsūtīšanai uz priekšu. Konvolūcijas slāņi, kas veido 6% no visiem parametriem, veic 95% aprēķinu.

Izglītība

AlexNet iet cauri 90 ērām. Apmācība notiek 6 dienas vienlaikus ar diviem Nvidia Geforce GTX 580 GPU, tāpēc tīkls ir sadalīts divās daļās. Stohastiskā gradienta nolaišanās tiek izmantota ar mācīšanās ātrumu 0,01, impulsu 0,9 un svaru samazināšanos 0,0005. Mācīšanās ātrums pēc precizitātes piesātinājuma dalās ar 10 un apmācības laikā samazinās 3 reizes. Svēruma koeficienta atjaunināšanas shēma w izskatās kā:

kur i- atkārtojuma numurs, v Vai impulsa mainīgais, un epsilons- mācīšanās ātrums. Visā apmācības posmā mācīšanās ātrums tika izvēlēts vienāds visiem slāņiem un pielāgots manuāli. Nākamā heiristika bija dalīt mācīšanās ātrumu ar 10, kad validācijas kļūdu skaits pārstāja samazināties.

Lietošanas un ieviešanas piemēri

Rezultāti liecina, ka liels, dziļš konvolucionālais neironu tīkls spēj sasniegt rekordu rezultātus ļoti sarežģītās datu kopās, izmantojot tikai uzraudzītu mācīšanos. Gadu pēc AlexNet publicēšanas visi ImageNet dalībnieki sāka izmantot konvolucionālos neironu tīklus, lai atrisinātu klasifikācijas problēmu. AlexNet bija pirmā konvolucionālo neironu tīklu ieviešana, un tas ievadīja jaunu pētījumu laikmetu. Tagad ir kļuvis vieglāk ieviest AlexNet, izmantojot dziļās mācīšanās bibliotēkas: PyTorch, TensorFlow, Keras.

Rezultāts

Tīkls sasniedz šādu 1. un 5. līmeņa kļūdu līmeni: attiecīgi 37,5% un 17,0%. Labākais sniegums, kas sasniegts ILSVRC-2010 konkursā, bija 47,1% un 28,2%, izmantojot pieeju, kas vidēji veido prognozes no sešiem retiem kodēšanas modeļiem, kas apmācīti uz dažādiem pazīmju vektoriem. Kopš tā laika ir sasniegti rezultāti: 45,7% un 25,7%, izmantojot pieeju, kas vidēji nosaka divu klasifikatoru prognozes, kas apmācītas uz Fišera vektoriem. ILSVRC-2010 rezultāti ir parādīti 1. tabulā.


Pa kreisi: astoņi ILSVRC-2010 testa attēli un piecas atzīmes, kuras modelis uzskata par visticamāko. Pareizā etiķete ir rakstīta zem katra attēla, un varbūtība tiek parādīta ar sarkanu joslu, ja tā ir pirmajā pieciniekā. Pa labi: pieci ILSVRC-2010 testa attēli pirmajā kolonnā. Pārējās kolonnās ir redzami seši treniņu attēli. viens

Neironu tīkls ir matemātisks modelis un tā realizācija programmatūras vai aparatūras-programmatūras realizācijas veidā, kura pamatā ir bioloģisko neironu tīklu, kas ir neironu tīkli bioloģiskā organismā, darbības modelēšana. Zinātniskā interese par šo struktūru radās, jo tās modeļa izpēte ļauj iegūt informāciju par noteiktu sistēmu. Tas ir, šādu modeli var praktiski īstenot vairākās mūsdienu zinātnes un tehnoloģiju nozarēs. Rakstā apskatīti jautājumi, kas saistīti ar neironu tīklu izmantošanu drošības sistēmās plaši izmantoto attēlu identifikācijas sistēmu konstruēšanai. Detalizēti tiek pētīti jautājumi, kas saistīti ar attēlu atpazīšanas algoritma tēmu un tā pielietojumu. Īsi sniegta informācija par neironu tīklu apmācības metodiku.

neironu tīkli

mācīšanās ar neironu tīkliem

attēla atpazīšana

vietējās uztveres paradigma

drošības sistēmas

1. Yann LeCun, J.S. Denkers, S. Solla, R.E. Hovards un L. D. Džekels: Optimāls smadzeņu bojājums, Touretzky, David (eds), Advances in Neural Information Processing Systems 2 (NIPS * 89). - 2000 .-- 100 lpp.

2. Žigalovs K.Ju. Lāzera diapazona datu fotoreālistiskās vektorizācijas metode turpmākai izmantošanai ĢIS // Izvestiya vysshikh uchebnykh zavod. Ģeodēzija un aerofotografēšana. - 2007. - Nr.6. - P. 285–287.

3. Ranzato Marc'Aurelio, Christopher Poultney, Sumit Chopra un Yann LeCun: Efektīva retinātu attēlojumu apguve ar enerģiju balstītu modeli, J. Platt et al. (Eds), Neironu informācijas apstrādes sistēmu sasniegumi (NIPS 2006). - 2010 .-- 400 lpp.

4. Žigalovs K.Ju. Iekārtu sagatavošana izmantošanai ceļu būves automatizētajās vadības sistēmās // Dabas un tehniskās zinātnes. - M., 2014. - Nr.1 ​​(69). - S. 285–287.

5. Y. LeCun and Y. Bengio: Convolutional Networks for Images, Speech, and Time-Series, Arbib, M. A. (Eds) // The Handbook of Brain Theory and Neural Networks. - 2005 .-- 150 lpp.

6. Y. LeCun, L. Bottou, G. Orr and K. Muller: Efficient BackProp, Orr, G. and K. Muller (eds) // Neironu tīkli: tirdzniecības triki. - 2008 .-- 200 lpp.

Mūsdienās tehnoloģiju un pētniecības progress aptver visus jaunos apvāršņus, strauji progresējot. Viens no tiem ir apkārtējās dabas pasaules modelēšana, izmantojot matemātiskos algoritmus. Šajā aspektā ir triviāli, piemēram, jūras vibrāciju modelēšana, un ārkārtīgi sarežģīti, netriviāli, daudzkomponentu uzdevumi, piemēram, cilvēka smadzeņu darbības modelēšana. Šī jautājuma izpētes procesā tika identificēts atsevišķs jēdziens - neironu tīkls. Neironu tīkls ir matemātisks modelis un tā realizācija programmatūras vai aparatūras-programmatūras realizācijas veidā, kura pamatā ir bioloģisko neironu tīklu, kas ir neironu tīkli bioloģiskā organismā, darbības modelēšana. Zinātniskā interese par šo struktūru radās, jo tās modeļa izpēte ļauj iegūt informāciju par noteiktu sistēmu. Tas ir, šādu modeli var praktiski īstenot vairākās mūsdienu zinātnes un tehnoloģiju nozarēs.

Īsa neironu tīklu attīstības vēsture

Jāatzīmē, ka sākotnēji jēdziens "neironu tīkls" radies amerikāņu matemātiķu, neirolingvistu un neiropsihologu W. McCulloch un W. Pitts (1943) darbos, kur autori to pirmo reizi piemin, definē un veic pirmo mēģinājumu izveidot neironu tīkla modeļa modeli. Jau 1949. gadā D. Hebs ierosināja pirmo mācīšanās algoritmu. Pēc tam tika veikti vairāki pētījumi neironu mācīšanās jomā, un pirmie strādājošie prototipi parādījās aptuveni 1990.–1991. pagājušajā gadsimtā. Tomēr tā laika iekārtu skaitļošanas jauda nebija pietiekama pietiekami ātrai neironu tīklu darbībai. Līdz 2010. gadam GPU video karšu jauda ir ievērojami palielinājusies un parādījās koncepcija par programmēšanu tieši uz videokartēm, kas ievērojami (3-4 reizes) palielināja datoru veiktspēju. 2012. gadā neironu tīkli pirmo reizi uzvarēja ImageNet čempionātā, kas iezīmēja to tālāko straujo attīstību un termina Deep Learning rašanos.

Mūsdienu pasaulē neironu tīkliem ir kolosāls pārklājums, zinātnieki uzskata, ka pētījumi, kas veikti neironu tīklu uzvedības īpašību un stāvokļu izpētes jomā, ir ārkārtīgi daudzsološi. To jomu saraksts, kurās neironu tīkli ir atraduši pielietojumu, ir milzīgs. Tas ietver attēlu atpazīšanu un klasificēšanu, un prognozēšanu, aproksimācijas problēmu risināšanu un dažus datu saspiešanas aspektus, datu analīzi un, protams, pielietojumu dažāda rakstura drošības sistēmās.

Neironu tīklu izpēte aktīvi notiek dažādu valstu zinātnieku aprindās. Ņemot vērā šādus apsvērumus, tas tiek parādīts kā vairāku modeļu atpazīšanas metožu, diskriminantu analīzes un klasterizācijas metožu īpašs gadījums.

Tāpat jāatzīmē, ka pēdējā gada laikā jaunajiem uzņēmumiem attēlu atpazīšanas sistēmu jomā ir piešķirts finansējums vairāk nekā iepriekšējos 5 gadus, kas liecina par diezgan lielu pieprasījumu pēc šāda veida izstrādes gala tirgū.

Neironu tīklu pielietojums attēlu atpazīšanai

Apsveriet standarta uzdevumus, ko atrisina neironu tīkli, kad tie tiek piemēroti attēliem:

● objektu identificēšana;

● objektu daļu atpazīšana (piemēram, sejas, rokas, kājas utt.);

● objektu robežu semantiskā definēšana (ļauj attēlā atstāt tikai objektu robežas);

● semantiskā segmentācija (ļauj sadalīt attēlu dažādos atsevišķos objektos);

● virsmas normālu atlase (ļauj pārveidot divdimensiju attēlus trīsdimensiju attēlos);

● uzmanības objektu izcelšana (ļauj noteikt, kam konkrētajā attēlā cilvēks pievērstu uzmanību).

Jāatzīmē, ka attēla atpazīšanas problēmai ir pārsteidzošs raksturs, šīs problēmas risinājums ir sarežģīts un neparasts process. Veicot atpazīšanu, objekts var būt cilvēka seja, ar roku rakstīts cipars, kā arī daudzi citi objekti, kam raksturīgas vairākas unikālas pazīmes, kas būtiski apgrūtina identifikācijas procesu.

Šajā pētījumā mēs aplūkosim algoritmu neironu tīkla ar roku rakstītu simbolu izveidei un mācīšanās atpazīt. Attēlu nolasīs viena no neironu tīkla ieejām, un viena no izejām tiks izmantota rezultāta izvadīšanai.

Šajā posmā ir nepieciešams īsi pakavēties pie neironu tīklu klasifikācijas. Mūsdienās ir trīs galvenie veidi:

● konvolucionālie neironu tīkli (CNN);

● atkārtoti tīkli (dziļa mācīšanās);

● pastiprināšanas mācības.

Viens no visizplatītākajiem neironu tīkla veidošanas piemēriem ir klasiskā neironu tīkla topoloģija. Šāds neironu tīkls var tikt attēlots kā pilnībā savienots grafs, tam raksturīga pazīme ir informācijas izplatīšanās uz priekšu un signālu izplatīšanās par kļūdu atpakaļ. Šai tehnoloģijai nav rekursīvu īpašību. Attēlā var attēlot ilustratīvu neironu tīklu ar klasisko topoloģiju. viens.

Rīsi. 1. Neironu tīkls ar visvienkāršāko topoloģiju

Rīsi. 2. Neironu tīkls ar 4 slēpto neironu slāņiem

Viens no nepārprotami nozīmīgajiem šīs tīkla topoloģijas trūkumiem ir dublēšana. Sakarā ar dublēšanos, ievadot datus, piemēram, divdimensiju matricas veidā, var iegūt viendimensiju vektoru. Tātad ar roku rakstīta latīņu burta attēlam, kas aprakstīts, izmantojot 34x34 matricu, ir nepieciešamas 1156 ievades. Tas liek domāt, ka šī algoritma programmatūras un aparatūras risinājuma ieviešanai iztērētā skaitļošanas jauda būs pārāk liela.

Problēmu atrisināja amerikāņu zinātnieks Ians Le Kūns, kurš analizēja Nobela prēmijas laureātu medicīnā T. Vtesela un D. Hūbela darbu. Pētījuma ietvaros pētījuma objekts bija kaķa smadzeņu vizuālā garoza. Rezultātu analīze parādīja, ka garozā ir vairākas vienkāršas šūnas, kā arī vairākas sarežģītas šūnas. Vienkāršas šūnas reaģēja uz taisnu līniju attēlu, kas saņemts no vizuālajiem receptoriem, un sarežģītas šūnas - uz translācijas kustību vienā virzienā. Rezultātā tika izstrādāts neironu tīklu konstruēšanas princips, ko sauc par konvolucionālo. Šī principa ideja bija tāda, ka, lai īstenotu neironu tīkla darbību, konvolucionālo slāņu, kas parasti tiek apzīmēti kā C — slāņi, apakšizlases slāņi S — slāņi un pilnībā savienotie slāņi F — slāņi, maiņa izejā no tiek izmantots neironu tīkls.

Šāda veida tīkla veidošanas pamatā ir trīs paradigmas – vietējās uztveres paradigma, kopīgu svaru paradigma un apakšizlases paradigma.

Vietējās uztveres paradigmas būtība ir tāda, ka katram ievades neironam tiek ievadīta nevis visa attēla matrica, bet gan daļa no tā. Pārējās daļas tiek padotas citiem ievades neironiem. Šajā gadījumā var novērot paralelizācijas mehānismu, izmantojot šo metodi, var saglabāt attēla topoloģiju no slāņa uz slāni, to daudzdimensionāli apstrādājot, tas ir, apstrādes laikā var izmantot vairākus neironu tīklus.

Kopīgo svaru paradigma liecina, ka nelielu svaru kopu var izmantot vairākām attiecībām. Šos komplektus sauc arī par "kodolu". Par attēlu apstrādes gala rezultātu varam teikt, ka koplietotie svari pozitīvi ietekmē neironu tīkla īpašības, kura uzvedības izpēte palielina spēju atrast attēlos invariantus un filtrēt trokšņu komponentus, tos neapstrādājot.

Pamatojoties uz iepriekš minēto, mēs varam secināt, ka, izmantojot attēla locīšanas procedūru, pamatojoties uz kodolu, parādīsies izvades attēls, kura elementi būs galvenais filtra atbilstības pakāpes raksturlielums, tas ir, a. objektu karte tiks ģenerēta. Šis algoritms ir parādīts attēlā. 3.

Rīsi. 3. Algoritms objektu kartes ģenerēšanai

Apakšizlases paradigma ir tāda, ka ievades attēls tiek samazināts, samazinot tā matemātiskā ekvivalenta - n-dimensiju matricas - telpisko dimensiju. Nepieciešamība pēc apakšizlases tiek izteikta oriģinālā attēla mēroga nemainīgumā. Lietojot slāņu maiņas paņēmienu, kļūst iespējams ģenerēt jaunas pazīmju kartes no esošajām, tas ir, šīs metodes praktiskā realizācija ir tāda, ka daudzdimensiju matricu ir iespējams deģenerēt vektoru matricā un pēc tam pilnībā skalārā vērtībā. tiks iegūts.

Neironu tīklu apmācības īstenošana

Esošie tīkli mācību ziņā ir sadalīti 3 arhitektūras klasēs:

● uzraudzīta mācīšanās (percepton);

● nekontrolēta mācīšanās (adaptīvās rezonanses tīkli);

● jauktā apmācība (radiālās bāzes funkciju tīkli).

Viens no svarīgākajiem kritērijiem neironu tīkla veiktspējas novērtēšanai attēlu atpazīšanas gadījumā ir attēla atpazīšanas kvalitāte. Jāņem vērā, ka attēla atpazīšanas kvalitātes kvantitatīvai novērtēšanai, izmantojot neironu tīkla darbību, visbiežāk tiek izmantots vidējās kvadrātiskās kļūdas algoritms:

(1)

Šajā atkarībā Ep ir p-tā atpazīšanas kļūda neironu pārim,

Dp ir sagaidāmais neironu tīkla izvades rezultāts (parasti tīklam jātiecas uz 100% atpazīšanu, bet praksē tas nenotiek), un konstrukcija O (Ip, W) 2 ir tīkla izejas kvadrāts, kas ir atkarīgs uz pth ievades un kopas svara koeficienti W. Šī konstrukcija ietver gan konvolūcijas kodolus, gan visu slāņu svara koeficientus. Kļūdas aprēķins sastāv no vidējā aritmētiskā aprēķināšanas visiem neironu pāriem.

Analīzes rezultātā tika iegūta likumsakarība, ka svara nominālvērtību, kad kļūdas vērtība ir minimāla, var aprēķināt, pamatojoties uz sakarību (2):

(2)

No šīs atkarības var teikt, ka optimālā svara aprēķināšanas problēma ir pirmās kārtas kļūdas funkcijas atvasinājuma aritmētiskā starpība attiecībā pret svaru, dalīta ar otrās kārtas kļūdas funkcijas atvasinājumu.

Dotās atkarības ļauj triviāli aprēķināt kļūdu, kas atrodas izvades slānī. Kļūdas aprēķinu neironu slēptajos slāņos var realizēt, izmantojot kļūdu atpakaļpavairošanas metodi. Metodes galvenā ideja ir izplatīt informāciju kļūdas signalizācijas veidā no izejas neironiem uz ievades neironiem, tas ir, virzienā, kas ir pretējs signālu izplatībai caur neironu tīklu.

Ir arī vērts atzīmēt, ka tīkla apmācība tiek veikta uz īpaši sagatavotām attēlu datu bāzēm, kas klasificētas daudzās klasēs, un tas aizņem diezgan ilgu laiku.
Mūsdienās lielākā datubāze ir ImageNet (www.image_net.org). Tai ir bezmaksas piekļuve akadēmiskajām iestādēm.

Secinājums

Iepriekšminētā rezultātā jāatzīmē, ka neironu tīklus un algoritmus, kas realizēti pēc to darbības principa, var izmantot iekšlietu iestāžu pirkstu nospiedumu kartes atpazīšanas sistēmās. Bieži vien tieši programmatūras un aparatūras kompleksa programmatūras komponents, kura mērķis ir atpazīt tik unikālu kompleksu attēlu kā zīmējumu, kas ir identifikācijas dati, pilnībā neatrisina tam uzticētos uzdevumus. Programma, kuras pamatā ir algoritmi, kuru pamatā ir neironu tīkls, būs daudz efektīvāka.

Apkopojot, mēs varam apkopot sekojošo:

● neironu tīkli var atrast pielietojumu gan attēlu, gan tekstu atpazīšanas jautājumā;

● šī teorija ļauj runāt par jaunas, perspektīvas modeļu klases izveidi, proti, uz viedās modelēšanas balstītiem modeļiem;

● neironu tīkli ir spējīgi mācīties, kas norāda uz iespēju optimizēt procesu no funkcionēšanas. Šī iespēja ir ārkārtīgi svarīga algoritma praktiskās realizācijas iespēja;

● Rakstu atpazīšanas algoritma novērtēšanai, izmantojot neironu tīkla pētījumu, var būt kvantitatīva nozīme, attiecīgi ir mehānismi parametru pielāgošanai vajadzīgajai vērtībai, aprēķinot nepieciešamos svara koeficientus.

Mūsdienās neironu tīklu turpmākā izpēte šķiet daudzsološa pētniecības joma, kas tiks veiksmīgi izmantota vēl vairākās zinātnes un tehnoloģiju nozarēs, kā arī cilvēka darbībā. Galvenais uzsvars mūsdienu atpazīšanas sistēmu izstrādē tagad tiek novirzīts uz 3D attēlu semantiskās segmentācijas jomu ģeodēzijā, medicīnā, prototipā un citās cilvēka darbības jomās - tie ir diezgan sarežģīti algoritmi, un tas ir saistīts ar:

● trūkst pietiekama skaita atsauces attēlu datu bāzu;

● nepietiekama skaita bezmaksas ekspertu trūkums sistēmas sākotnējai apmācībai;

● attēli netiek glabāti pikseļos, kas prasa papildu resursus gan no datora, gan izstrādātājiem.

Tāpat jāatzīmē, ka mūsdienās pastāv liels skaits standarta arhitektūru neironu tīklu konstruēšanai, kas ievērojami atvieglo neironu tīkla izveides uzdevumu no nulles un samazina to līdz konkrētam uzdevumam piemērotas tīkla struktūras izvēlei.

Šobrīd tirgū ir diezgan liels skaits inovatīvu uzņēmumu, kas nodarbojas ar attēlu atpazīšanu, izmantojot sistēmai neironu tīklu mācību tehnoloģijas. Ir zināms, ka, izmantojot 10 000 attēlu datubāzi, viņi sasniedza attēla atpazīšanas precizitāti aptuveni 95% apmērā. Tomēr visi sasniegumi attiecas uz statiskiem attēliem, ar video sekvencēm šobrīd viss ir daudz sarežģītāk.

Bibliogrāfiskā atsauce

Markova S.V., Žigalovs K.Ju. NEIRĀLĀ TĪKLA PIELIETOJUMS ATTĒLU ATZĪŠANAS SISTĒMAS IZVEIDOŠANAI // Fundamentālie pētījumi. - 2017. - Nr.8-1. - S. 60-64;
URL: http://fundamental-research.ru/ru/article/view?id=41621 (piekļuves datums: 03.24. Jūsu uzmanībai piedāvājam "Dabaszinātņu akadēmijas" izdotos žurnālus

Draugi, turpinām pagājušajā reizē aizsākto stāstu par neironu tīkliem un par.

Kas ir neironu tīkls

Vienkāršākajā gadījumā neironu tīkls ir matemātisks modelis, kas sastāv no vairākiem elementu slāņiem, kas veic paralēlus aprēķinus. Sākotnēji šāda arhitektūra tika izveidota pēc analoģijas ar cilvēka smadzeņu mazākajiem skaitļošanas elementiem - neironiem. Mākslīgā neironu tīkla mazākos skaitļošanas elementus sauc arī par neironiem. Neironu tīkli parasti sastāv no trim vai vairākiem slāņiem: ievades slāņa, slēptā slāņa (vai slāņiem) un izvades slāņa (1. att.), dažos gadījumos ievades un izvades slāņi netiek ņemti vērā, un pēc tam skaits slāņi tīklā tiek skaitīti pēc slēpto slāņu skaita. Šāda veida neironu tīklu sauc par perceptronu.

Rīsi. 1. Vienkāršākais perceptrons

Svarīga neironu tīkla iezīme ir tā spēja mācīties, izmantojot piemēru, to sauc par uzraudzīto mācīšanos. Neironu tīkls ir apmācīts, izmantojot lielu skaitu piemēru, kas sastāv no ievades-izejas pāriem (ievade un izvade atbilst viens otram). Objektu atpazīšanas problēmās šāds pāris būs ievades attēls un atbilstošā etiķete - objekta nosaukums. Neironu tīkla mācīšana ir iteratīvs process, kas samazina tīkla izvada novirzi no dotās "skolotāja atbildes" - dotajam attēlam atbilstošas ​​etiķetes (2. att.). Šis process sastāv no soļiem, ko sauc par mācīšanās epohiem (tie parasti ir tūkstošos), katrā no kuriem tiek koriģēti neironu tīkla "svari" - tīkla slēpto slāņu parametri. Pēc apmācības procesa pabeigšanas neironu tīkla kvalitāte parasti ir pietiekami laba, lai veiktu uzdevumu, kuram tas tika apmācīts, lai gan bieži vien nav iespējams atrast optimālo parametru kopu, kas lieliski atpazīst visus attēlus.


Rīsi. 2. Neironu tīkla apmācība

Kas ir dziļie neironu tīkli

Dziļie jeb dziļie neironu tīkli ir neironu tīkli, kas sastāv no vairākiem slēptiem slāņiem (3. att.). Šis skaitlis ir dziļa neironu tīkla attēls, kas sniedz lasītājam vispārīgu priekšstatu par neironu tīkla izskatu. Tomēr dziļo neironu tīklu reālā arhitektūra ir daudz sarežģītāka.


Rīsi. 3. Neironu tīkls ar daudziem slēptiem slāņiem

Konvolucionālo neironu tīklu veidotājus, protams, vispirms iedvesmoja vizuālās sistēmas bioloģiskās struktūras. Pirmie skaitļošanas modeļi, kas balstīti uz hierarhiskas primātu vizuālās plūsmas koncepciju, ir zināmi kā Fukušimas neokognitrons (4. attēls). Mūsdienu izpratne par vizuālās sistēmas fizioloģiju ir līdzīga informācijas apstrādes veidam konvolūcijas tīklos, vismaz ātrai objektu atpazīšanai.


Rīsi. 4. Diagramma, kas parāda savienojumus starp slāņiem Neocognitron modelī.

Vēlāk šo koncepciju ieviesa kanādiešu pētnieks Ians Lekuns savā konvolucionālajā neironu tīklā, kuru viņš izveidoja ar roku rakstītu rakstzīmju atpazīšanai. Šis neironu tīkls sastāvēja no divu veidu slāņiem: konvolucionāliem slāņiem un apakšizlases slāņiem (vai apvienošanas slāņiem). Tajā katram slānim ir topogrāfiska struktūra, tas ir, katrs neirons ir saistīts ar sākotnējā attēla fiksētu punktu, kā arī ar uztveršanas lauku (ievades attēla apgabalu, ko apstrādā šis neirons). Katrā vietā katrā slānī ir vairāki dažādi neironi, un katram ir savs ievades svaru kopums, kas saistīts ar neironiem iepriekšējā slāņa taisnstūrveida daļā. Dažādi ievades taisnstūra fragmenti ar vienādu svaru komplektu ir saistīti ar neironiem no dažādām vietām.

Dziļā neironu tīkla vispārīgā arhitektūra modeļa atpazīšanai ir parādīta 5. attēlā. Ievades attēls tiek attēlots kā pikseļu kopa vai mazi attēla laukumi (piemēram, 5 x 5 pikseļi)


Rīsi. 5. Konvolūcijas neironu tīkla diagramma

Parasti dziļie neironu tīkli tiek attēloti vienkāršotā veidā: kā apstrādes posmi, kurus dažreiz sauc par filtriem. Katrs posms no cita atšķiras ar vairākām pazīmēm, piemēram, uztverošā lauka lielumu, pazīmju veidu, ko tīkls iemācās atpazīt noteiktā slānī, un katrā posmā veiktā aprēķina veida.

Dziļo neironu tīklu, tostarp konvolucionālo tīklu, pielietojuma jomas neaprobežojas tikai ar sejas atpazīšanu. Tos plaši izmanto runas un audio signālu atpazīšanai, dažāda veida sensoru rādījumu apstrādei vai sarežģītu daudzslāņu attēlu (piemēram, satelītu karšu) vai medicīnisko attēlu (rentgena attēli, fMRI attēli - sk.) segmentēšanai.

Neironu tīkli biometrijā un sejas atpazīšanā

Lai sasniegtu augstu atpazīšanas precizitāti, neironu tīkls ir iepriekš apmācīts lielam attēlu masīvam, piemēram, MegaFace datu bāzē.Šī ir galvenā sejas atpazīšanas apmācības metode.


Rīsi. 6. MegaFace datubāzē ir 1 miljons vairāk nekā 690 tūkstošu cilvēku attēlu

Pēc tam, kad tīkls ir apmācīts atpazīt sejas, sejas atpazīšanas procesu var aprakstīt šādi (7. attēls). Pirmkārt, attēls tiek apstrādāts, izmantojot sejas detektoru: algoritmu, kas nosaka attēla taisnstūrveida daļu ar seju. Šis fragments ir normalizēts, lai to būtu vieglāk apstrādāt neironu tīklā: vislabākais rezultāts tiks sasniegts, ja visi ievades attēli ir vienāda izmēra, krāsas utt. Normalizētais attēls tiek ievadīts apstrādei neironu tīkla ievadā. pēc algoritma. Šis algoritms parasti ir unikāla uzņēmuma attīstība, lai uzlabotu atpazīšanas kvalitāti, taču šai problēmai ir arī "standarta" risinājumi. Neironu tīkls izveido unikālu funkciju vektoru, kas pēc tam tiek pārsūtīts uz datu bāzi. Meklētājprogramma to salīdzina ar visiem datu bāzē saglabātajiem pazīmju vektoriem un meklēšanas rezultātu sniedz noteikta skaita vārdu vai lietotāju profilu veidā ar līdzīgiem sejas vaibstiem, no kuriem katram tiek piešķirts noteikts numurs. Šis skaitlis atspoguļo mūsu pazīmju vektora līdzības pakāpi ar datu bāzē atrasto.


Rīsi. 7. Sejas atpazīšanas process

Algoritma kvalitātes noteikšana

Precizitāte

Kad mēs izvēlamies, kuru algoritmu piemērot objektam vai sejas atpazīšanas problēmai, mums ir jābūt līdzekļiem dažādu algoritmu efektivitātes salīdzināšanai. Šajā daļā mēs aprakstīsim rīkus, ar kuriem tas tiek darīts.

Sejas atpazīšanas sistēmas kvalitāte tiek novērtēta, izmantojot metrikas kopu, kas atbilst tipiskiem scenārijiem sistēmas izmantošanai autentifikācijai, izmantojot biometriskos datus.

Parasti jebkura neironu tīkla veiktspēju var izmērīt ar precizitāti: pēc parametru iestatīšanas un apmācības procesa pabeigšanas tīkls tiek pārbaudīts testa komplektā, par kuru mums ir skolotāja atbilde, bet kas ir atsevišķi no treniņu komplekts. Parasti šis parametrs ir kvantitatīvs rādītājs: skaitlis (bieži vien procentos), kas norāda, cik labi sistēma spēj atpazīt jaunus objektus. Vēl viens izplatīts rādītājs ir kļūda (to var izteikt procentos vai skaitliskā ekvivalentā). Tomēr ir precīzāki biometrijas rādītāji.

Biometrijā kopumā un jo īpaši sejas atpazīšanas biometrijā ir divu veidu lietojumprogrammas: verifikācija un identifikācija. Verifikācija ir noteiktas identitātes apstiprināšanas process, salīdzinot indivīda attēlu (sejas vaibstu vektoru vai citu pazīmju vektoru, piemēram, tīkleni vai pirkstu nospiedumus) ar vienu vai vairākām iepriekš saglabātām veidnēm. Identifikācija ir indivīda identitātes noteikšanas process. Biometriskie paraugi tiek savākti un salīdzināti ar visām datubāzes veidnēm. Slēgtā pazīmju kopā ir identifikācija, ja tiek pieņemts, ka datu bāzē eksistē persona. Tādējādi atpazīšana apvieno vienu vai abus terminus – verifikācija un identifikācija.

Bieži vien papildus tiešajam salīdzināšanas rezultātam ir jānovērtē sistēmas "uzticības" līmenis tās lēmumā. Šo vērtību sauc par "līdzības rādītāju" (vai līdzības rādītāju). Lielāks līdzības rādītājs norāda, ka abi salīdzinātie biometriskie paraugi ir līdzīgāki.

Sistēmas kvalitātes novērtēšanai (gan verifikācijas, gan identifikācijas uzdevumam) ir vairākas metodes. Par tiem runāsim nākamreiz. Un jūs palieciet ar mums un nevilcinieties atstāt komentārus un uzdot jautājumus.

PIEZĪMES

  1. Fukušima (1980) "Neokognitrons: pašorganizējošs neironu tīkla modelis modeļa atpazīšanas mehānismam, ko neietekmē pozīcijas maiņa", Bioloģiskā kibernētika.
  2. Lekuns, B. Bosers, J.S. Denkers, D. Hendersons, R.E. Hovards, V. Habards un L.D. Džekels (1989) "Backpropagation Applied to Handwritten Zip Code Recognition", Neural Computation, vol. 1, 541.–551. lpp.
  3. Jiaxuan You, Xiaocheng Li, Melvin Low, David Lobell, Stefano Ermon Deep Gaussian process kultūraugu ražas prognozēšanai, pamatojoties uz attālās uzrādes datiem.
  4. Ians Gudfelovs, Jošua Bendžo, Ārons Kurvils (2016) Dziļās mācības. MIT prese.
  5. Poh, C-H. Chan, J. Kittler, Julian Fierrez (UAM) un Havier Galbally (UAM) (2012) Biometriskās veiktspējas novērtēšanas metriku apraksts.