AlexNet je konvolučná neurónová sieť na klasifikáciu obrázkov. Vývoj systému rozpoznávania obrazu založeného na aparáte umelých neurónových sietí Viacvrstvové neurónové siete

AlexNet je konvolučná neurónová sieť, ktorá mala veľký vplyv na vývoj strojového učenia, najmä algoritmov počítačového videnia. Sieť vyhrala v roku 2012 s veľkým náskokom súťaž ImageNet LSVRC-2012 v rozpoznávaní obrázkov (s 15,3 % chýb oproti 26,2 % na druhom mieste).

Architektúra AlexNet je podobná architektúre LeNet od Yanna LeCuma. AlexNet má však viac filtrov na vrstvu a vnorené konvolučné vrstvy. Sieť zahŕňa konvolúcie, maximálne združovanie, výpadky, rozširovanie dát, aktivácie ReLU a stochastický gradientový zostup.

Funkcie AlexNet

  1. Ako aktivačná funkcia sa Relu používa namiesto arkustangensu na pridanie nelinearity do modelu. Vďaka tomu sa pri rovnakej presnosti metódy rýchlosť zvýši 6-krát.
  2. Použitie výpadku namiesto regularizácie rieši problém s nadmerným vybavením. Tréningový čas sa však zdvojnásobí s mierou výpadku 0,5.
  3. Prekrývajúce sa spojenia sa vykonávajú, aby sa zmenšila veľkosť siete. Vďaka tomu sa chybovosť prvej a piatej úrovne znižuje na 0,4 % a 0,3 %.

Dataset ImageNet

ImageNet je zbierka 15 miliónov označených obrázkov vo vysokom rozlíšení rozdelených do 22 000 kategórií. Obrázky boli zhromaždené online a označené manuálne pomocou crowdsourcingu Amazon Mechanical Turk. Od roku 2010 sa každoročne organizuje ImageNet Large-Scale Visual Recognition Challenge (ILSVRC) ako súčasť Pascal Visual Object Challenge. Výzva využíva časť súboru údajov ImageNet s 1 000 obrázkami v každej z 1 000 kategórií. Celkovo sa získa 1,2 milióna obrázkov na školenie, 50 000 obrázkov na overenie a 150 000 na testovanie. ImageNet pozostáva z obrázkov s rôznym rozlíšením. Preto sú pre konkurenciu zmenšené na pevné rozlíšenie 256 × 256. Ak bol pôvodný obrázok obdĺžnikový, potom je orezaný na štvorec v strede obrázka.

Architektúra

Obrázok 1

Architektúra siete je znázornená na obrázku 1. AlexNet obsahuje osem vážených vrstiev. Prvých päť z nich je konvolučných a ďalšie tri sú plne prepojené. Výstup prechádza cez stratovú funkciu softmax, ktorá generuje distribúciu 1000 triednych štítkov. Sieť maximalizuje multilineárnu logistickú regresiu, čo je ekvivalentné maximalizácii priemeru vo všetkých prípadoch trénovania logaritmu pravdepodobnosti správneho označenia nad distribúciou očakávaní. Jadrá druhej, štvrtej a piatej konvolučnej vrstvy sú spojené iba s tými mapami jadra v predchádzajúcej vrstve, ktoré sú na rovnakom GPU. Jadrá tretej konvolučnej vrstvy sú spojené so všetkými jadrovými mapami druhej vrstvy. Neuróny v plne prepojených vrstvách sú spojené so všetkými neurónmi v predchádzajúcej vrstve.

AlexNet teda obsahuje 5 konvolučných vrstiev a 3 plne prepojené vrstvy. Relu sa nanáša po každej konvolučnej a úplne spojenej vrstve. Výpadok sa aplikuje pred prvou a druhou úplne spojenou vrstvou. Sieť obsahuje 62,3 milióna parametrov a vyžaduje 1,1 miliardy výpočtov pri prechode dopredu. Konvolučné vrstvy, ktoré tvoria 6 % všetkých parametrov, robia 95 % výpočtov.

Vzdelávanie

AlexNet prechádza 90 obdobiami. Školenie trvá 6 dní naraz na dvoch GPU Nvidia Geforce GTX 580, čo je dôvod, prečo je sieť rozdelená na dve časti. Stochastický gradientový zostup sa používa s rýchlosťou učenia 0,01, impulzom 0,9 a poklesom váh 0,0005. Rýchlosť učenia je po saturácii presnosti deliteľná 10 a v priebehu tréningu sa znižuje 3-krát. Schéma aktualizácie váhových koeficientov w vyzerá ako:

kde i- iteračné číslo, v Je impulz premenlivý a epsilon- rýchlosť učenia. Počas celej tréningovej fázy bola rýchlosť učenia zvolená rovnako pre všetky vrstvy a upravená manuálne. Následnou heuristikou bolo vydeliť rýchlosť učenia 10, keď počet chýb overovania prestal klesať.

Príklady použitia a implementácie

Výsledky ukazujú, že veľká, hlboká konvolučná neurónová sieť je schopná dosiahnuť rekordné výsledky na veľmi zložitých súboroch údajov iba s použitím učenia pod dohľadom. Rok po zverejnení AlexNet začali všetci súťažiaci ImageNet používať konvolučné neurónové siete na vyriešenie problému klasifikácie. AlexNet bola prvou implementáciou konvolučných neurónových sietí a začala novú éru výskumu. Teraz je jednoduchšie implementovať AlexNet pomocou hlbokých vzdelávacích knižníc: PyTorch, TensorFlow, Keras.

Výsledok

Sieť dosahuje chybovosť úrovne 1 a 5: 37,5 % a 17,0 %. Najlepší výkon dosiahnutý v súťaži ILSVRC-2010 bol 47,1 % a 28,2 % pri použití prístupu, ktorý spriemeruje predpovede zo šiestich modelov riedkeho kódovania trénovaných na rôznych vektoroch znakov. Odvtedy sa dosiahli výsledky: 45,7 % a 25,7 % pomocou prístupu, ktorý spriemeruje predpovede dvoch klasifikátorov natrénovaných na Fisherových vektoroch. Výsledky ILSVRC-2010 sú uvedené v tabuľke 1.


Vľavo: osem testovacích obrázkov ILSVRC-2010 a päť značiek, ktoré model považuje za najpravdepodobnejšie. Správny štítok je napísaný pod každým obrázkom a pravdepodobnosť je zobrazená s červeným pruhom, ak je v prvej päťke. Vpravo: päť testovacích obrázkov ILSVRC-2010 v prvom stĺpci. Zvyšné stĺpce zobrazujú šesť tréningových obrázkov. 1

Neurónová sieť je matematický model a jeho implementácia vo forme softvérovej alebo hardvérovo-softvérovej implementácie, ktorá je založená na modelovaní činnosti biologických neurónových sietí, čo sú siete neurónov v biologickom organizme. Vedecký záujem o túto štruktúru vznikol, pretože štúdium jej modelu umožňuje získať informácie o určitom systéme. To znamená, že takýto model môže mať praktickú implementáciu v mnohých odvetviach modernej vedy a techniky. Článok rozoberá problémy súvisiace s využitím neurónových sietí na konštrukciu systémov identifikácie obrazu, ktoré sú široko používané v bezpečnostných systémoch. Podrobne sú skúmané problémy súvisiace s témou algoritmu rozpoznávania obrazu a jeho aplikácie. Stručne poskytuje informácie o metodológii trénovania neurónových sietí.

neurálne siete

učenie pomocou neurónových sietí

rozpoznávanie obrazu

paradigma lokálneho vnímania

bezpečnostné systémy

1. Yann LeCun, J.S. Denker, S. Solla, R.E. Howard a L. D. Jackel: Optimálne poškodenie mozgu, v Touretzky, David (editori), Pokroky v systémoch spracovania neurálnych informácií 2 (NIPS * 89). - 2000 .-- 100 str.

2. Žigalov K.Yu. Metóda fotorealistickej vektorizácie údajov laserového určovania vzdialenosti pre ďalšie použitie v GIS // Izvestiya vysshikh uchebnykh zavod. Geodézia a letecké snímkovanie. - 2007. - Číslo 6. - S. 285–287.

3. Ranzato Marc'Aurelio, Christopher Poultney, Sumit Chopra a Yann LeCun: Efektívne učenie sa riedkych reprezentácií s modelom založeným na energii, v J. Platt et al. (editori), Pokroky v systémoch spracovania neurálnych informácií (NIPS 2006). - 2010 .-- 400 s.

4. Žigalov K.Yu. Príprava zariadení na použitie v automatizovaných riadiacich systémoch pre výstavbu ciest // Prírodné a technické vedy. - M., 2014. - Číslo 1 (69). - S. 285–287.

5. Y. LeCun a Y. Bengio: Konvolučné siete pre obrázky, reč a časové rady, v Arbib, M. A. (editori) // The Handbook of Brain Theory and Neural Networks. - 2005 .-- 150 s.

6. Y. LeCun, L. Bottou, G. Orr a K. Muller: Efficient BackProp, v Orr, G. a K. Muller (editori) // Neural Networks: Tricks of the trade. - 2008 .-- 200 s.

Dnes technologický a výskumný pokrok pokrýva všetky nové horizonty a rýchlo napreduje. Jedným z nich je modelovanie okolitého prírodného sveta pomocou matematických algoritmov. V tomto aspekte existujú triviálne, napríklad modelovanie morských vibrácií, a mimoriadne zložité, netriviálne, viaczložkové úlohy, napríklad modelovanie fungovania ľudského mozgu. V procese štúdia tejto problematiky bol identifikovaný samostatný koncept - neurónová sieť. Neurónová sieť je matematický model a jeho implementácia vo forme softvérovej alebo hardvérovo-softvérovej implementácie, ktorá je založená na modelovaní činnosti biologických neurónových sietí, čo sú siete neurónov v biologickom organizme. Vedecký záujem o túto štruktúru vznikol, pretože štúdium jej modelu umožňuje získať informácie o určitom systéme. To znamená, že takýto model môže mať praktickú implementáciu v mnohých odvetviach modernej vedy a techniky.

Stručná história vývoja neurónových sietí

Treba poznamenať, že pôvodne pojem „neurónová sieť“ pochádza z prác amerických matematikov, neurolingvistov a neuropsychológov W. McCullocha a W. Pittsa (1943), kde ho autori prvýkrát spomínajú, definujú a robia prvý pokus o vytvoriť modelovú neurónovú sieť. Už v roku 1949 D. Hebb navrhol prvý algoritmus učenia. Potom prebehlo množstvo štúdií v oblasti neurálneho učenia a prvé funkčné prototypy sa objavili v rokoch 1990-1991. posledné storočie. Napriek tomu výpočtový výkon vtedajších zariadení nestačil na dostatočne rýchlu prevádzku neurónových sietí. Do roku 2010 sa výkon grafických kariet GPU výrazne zvýšil a objavil sa koncept programovania priamo na grafických kartách, čo výrazne (3-4 krát) zvýšilo výkon počítačov. V roku 2012 neurónové siete po prvý raz vyhrali prvenstvo v ImageNet, čo znamenalo ich ďalší rýchly rozvoj a vznik pojmu Deep Learning.

V modernom svete majú neurónové siete kolosálne pokrytie, vedci považujú výskum uskutočnený v oblasti štúdia behaviorálnych charakteristík a stavov neurónových sietí za mimoriadne sľubný. Zoznam oblastí, v ktorých našli neurónové siete uplatnenie, je obrovský. To zahŕňa rozpoznávanie a klasifikáciu obrázkov a predpovedanie, riešenie problémov s aproximáciou a niektoré aspekty kompresie údajov, analýzy údajov a samozrejme aplikácie v bezpečnostných systémoch iného charakteru.

Štúdium neurónových sietí aktívne prebieha vo vedeckých komunitách rôznych krajín. S takouto úvahou je prezentovaný ako špeciálny prípad množstva metód rozpoznávania vzorov, diskriminačnej analýzy a metód zhlukovania.

Treba tiež poznamenať, že za posledný rok boli startupom pridelené finančné prostriedky v oblasti systémov rozpoznávania obrazu viac ako 5 predchádzajúcich rokov, čo naznačuje pomerne vysoký dopyt po tomto type vývoja na konečnom trhu.

Aplikácia neurónových sietí na rozpoznávanie obrazu

Zvážte štandardné úlohy riešené neurónovými sieťami pri aplikácii na obrázky:

● identifikácia objektov;

● rozpoznávanie častí predmetov (napríklad tváre, ruky, nohy atď.);

● sémantické vymedzenie hraníc objektov (umožňuje ponechať len hranice objektov na obrázku);

● sémantická segmentácia (umožňuje rozdeliť obrázok na rôzne samostatné objekty);

● výber povrchových normál (umožňuje konvertovať dvojrozmerné obrázky na trojrozmerné obrázky);

● zvýraznenie predmetov pozornosti (umožňuje určiť, čomu by človek na danom obrázku venoval pozornosť).

Treba poznamenať, že problém rozpoznávania obrazu má nápadný charakter, riešenie tohto problému je zložitý a mimoriadny proces. Pri vykonávaní rozpoznávania môže byť predmetom ľudská tvár, ručne písaná číslica, ako aj mnohé iné predmety, ktoré sa vyznačujú množstvom unikátnych znakov, čo značne komplikuje proces identifikácie.

V tejto štúdii sa budeme zaoberať algoritmom na vytváranie a učenie sa rozpoznávať ručne písané symboly neurónovej siete. Obrázok bude načítaný jedným zo vstupov neurónovej siete a jeden z výstupov sa použije na výstup výsledku.

V tejto fáze je potrebné krátko sa zastaviť pri klasifikácii neurónových sietí. Dnes existujú tri hlavné typy:

● konvolučné neurónové siete (CNN);

● rekurentné siete (hlboké učenie);

● posilňovanie učenia.

Jedným z najbežnejších príkladov budovania neurónovej siete je klasická topológia neurónovej siete. Takáto neurónová sieť môže byť reprezentovaná ako plne prepojený graf, jej charakteristickým znakom je dopredné šírenie informácie a spätné šírenie signalizácie o chybe. Táto technológia nemá rekurzívne vlastnosti. Názorná neurónová sieť s klasickou topológiou môže byť znázornená na obr. 1.

Ryža. 1. Neurónová sieť s najjednoduchšou topológiou

Ryža. 2. Neurónová sieť so 4 vrstvami skrytých neurónov

Jednou z jednoznačne významných nevýhod tejto sieťovej topológie je redundancia. Vďaka redundancii pri dodávaní dát napríklad vo forme dvojrozmernej matice na vstup je možné získať jednorozmerný vektor. Takže pre obrázok ručne písaného latinského listu opísaného pomocou matice 34x34 je potrebných 1156 vstupov. To naznačuje, že výpočtový výkon vynaložený na implementáciu softvérového a hardvérového riešenia tohto algoritmu bude príliš veľký.

Problém vyriešil americký vedec Ian Le Koon, ktorý rozobral prácu nositeľov Nobelovej ceny za medicínu T. Wtesela a D. Hubela. V rámci ich štúdie bola predmetom štúdie zraková kôra mačacieho mozgu. Analýza výsledkov ukázala, že kôra obsahuje množstvo jednoduchých buniek, ako aj množstvo zložitých buniek. Jednoduché bunky reagovali na obraz priamych línií prijatých z vizuálnych receptorov a zložité bunky na translačný pohyb v jednom smere. V dôsledku toho bol vyvinutý princíp konštrukcie neurónových sietí, nazývaných konvolučné. Myšlienkou tohto princípu bolo implementovať fungovanie neurónovej siete, striedanie konvolučných vrstiev, ktoré sa zvyčajne označujú ako C - Layers, subvzorkovacie vrstvy S - Layers a plne prepojené vrstvy F - Layers, na výstupe z používajú sa neurónové siete.

Základom budovania siete tohto druhu sú tri paradigmy – paradigma lokálneho vnímania, paradigma zdieľaných váh a paradigma podvzorkovania.

Podstatou paradigmy lokálneho vnímania je, že do každého vstupného neurónu sa neprivádza celá obrazová matica, ale jej časť. Zvyšné časti sú privádzané do iných vstupných neurónov. V tomto prípade môžete pozorovať mechanizmus paralelizácie, pomocou tejto metódy môžete uložiť topológiu obrazu z vrstvy na vrstvu, viacrozmerne ju spracovať, to znamená, že počas spracovania je možné použiť množstvo neurónových sietí.

Paradigma zdieľaných váh naznačuje, že malý súbor váh môže byť použitý pre viaceré vzťahy. Tieto sady sa tiež nazývajú "jadrá". Pre konečný výsledok spracovania obrazu môžeme povedať, že zdieľané váhy majú pozitívny vplyv na vlastnosti neurónovej siete, ktorej štúdium správania zvyšuje schopnosť nájsť invarianty v obrazoch a filtrovať zložky šumu bez ich spracovania.

Na základe vyššie uvedeného môžeme konštatovať, že pri použití postupu skladania obrazu na základe jadra sa objaví výstupný obraz, ktorého prvky budú hlavnou charakteristikou stupňa zhody s filtrom, tj. vygeneruje sa mapa funkcií. Tento algoritmus je znázornený na obr. 3.

Ryža. 3. Algoritmus na generovanie mapy objektov

Paradigma podvzorkovania je taká, že vstupný obraz sa redukuje zmenšením priestorového rozmeru jeho matematického ekvivalentu – n-rozmernej matice. Potreba podvzorkovania je vyjadrená invariantnosťou k mierke pôvodného obrázku. Pri aplikácii techniky striedania vrstiev je možné generovať nové mapy prvkov z existujúcich, to znamená, že praktická implementácia tejto metódy spočíva v tom, že schopnosť degenerovať viacrozmernú maticu do vektorovej matice a potom úplne do získa sa skalárna hodnota.

Implementácia tréningu neurónových sietí

Existujúce siete sú z hľadiska učenia rozdelené do 3 tried architektúr:

● učenie pod dohľadom (percepton);

● učenie bez dozoru (adaptívne rezonančné siete);

● zmiešané učenie (siete funkcií na radiálnej báze).

Jedným z najdôležitejších kritérií hodnotenia výkonu neurónovej siete v prípade rozpoznávania obrazu je kvalita rozpoznávania obrazu. Treba poznamenať, že na kvantitatívne hodnotenie kvality rozpoznávania obrazu pomocou fungovania neurónovej siete sa najčastejšie používa algoritmus root-mean-square error:

(1)

V tejto závislosti je Ep p-tou chybou rozpoznávania pre pár neurónov,

Dp je očakávaný výstupný výsledok neurónovej siete (sieť by sa zvyčajne mala snažiť o 100% rozpoznanie, ale v praxi sa to nestáva) a konštrukcia O (Ip, W) 2 je druhá mocnina výstupu siete, ktorá závisí na vstupe pth a množine váhových koeficientov W. Táto konštrukcia zahŕňa ako konvolučné jadrá, tak aj váhové koeficienty všetkých vrstiev. Výpočet chyby spočíva vo výpočte aritmetického priemeru pre všetky páry neurónov.

Ako výsledok analýzy bola odvodená zákonitosť, že nominálnu hodnotu hmotnosti, keď je hodnota chyby minimálnu, možno vypočítať na základe vzťahu (2):

(2)

Z tejto závislosti môžeme povedať, že problémom výpočtu optimálnej váhy je aritmetický rozdiel derivácie chybovej funkcie prvého rádu vzhľadom na váhu, delený deriváciou chybovej funkcie druhého rádu.

Dané závislosti umožňujú triviálne vypočítať chybu, ktorá je vo výstupnej vrstve. Výpočet chyby v skrytých vrstvách neurónov je možné realizovať pomocou metódy spätného šírenia chýb. Hlavnou myšlienkou metódy je šírenie informácií vo forme signalizácie chyby z výstupných neurónov na vstupné neuróny, teda v opačnom smere ako sa signály šíria cez neurónovú sieť.

Za zmienku tiež stojí, že školenie siete sa vykonáva na špeciálne pripravených databázach obrázkov zaradených do veľkého počtu tried a trvá pomerne dlho.
Dnes je najväčšou databázou ImageNet (www.image_net.org). Má bezplatný prístup do akademických inštitúcií.

Záver

V dôsledku vyššie uvedeného je potrebné poznamenať, že neurónové siete a algoritmy implementované na princípe ich fungovania môžu byť použité v systémoch na rozpoznávanie odtlačkov prstov pre orgány vnútorných záležitostí. Často práve softvérová zložka softvérového a hardvérového komplexu zameraná na rozpoznanie takého jedinečného komplexného obrazu, akým je kresba, ktorá je identifikačným údajom, úplne nerieši úlohy, ktoré mu boli pridelené. Program založený na algoritmoch založených na neurónovej sieti bude oveľa efektívnejší.

Aby sme to zhrnuli, môžeme zhrnúť nasledovné:

● neurónové siete môžu nájsť uplatnenie ako v problematike rozpoznávania obrázkov, tak aj textov;

● táto teória umožňuje hovoriť o vytvorení novej perspektívnej triedy modelov, konkrétne modelov založených na inteligentnom modelovaní;

● neurónové siete sú schopné učenia, čo naznačuje možnosť optimalizácie procesu z fungovania. Táto možnosť je mimoriadne dôležitou možnosťou pre praktickú implementáciu algoritmu;

● Vyhodnotenie algoritmu rozpoznávania vzorov pomocou štúdie neurónovej siete môže mať kvantitatívny význam, preto existujú mechanizmy na úpravu parametrov na požadovanú hodnotu pomocou výpočtu požadovaných váhových koeficientov.

V súčasnosti sa ďalší výskum neurónových sietí javí ako perspektívna oblasť výskumu, ktorá sa úspešne uplatní v ešte viacerých odvetviach vedy a techniky, ako aj ľudských aktivít. Hlavný dôraz vo vývoji moderných rozpoznávacích systémov sa v súčasnosti presúva do oblasti sémantickej segmentácie 3D obrazov v geodézii, medicíne, prototypovaní a iných oblastiach ľudskej činnosti - ide o pomerne zložité algoritmy a je to spôsobené:

● nedostatok dostatočného počtu databáz referenčných obrázkov;

● nedostatok dostatočného počtu bezplatných odborníkov na úvodné zaškolenie systému;

● obrázky nie sú uložené v pixeloch, čo si vyžaduje dodatočné zdroje od počítača aj od vývojárov.

Treba tiež poznamenať, že v súčasnosti existuje veľké množstvo štandardných architektúr na konštrukciu neurónových sietí, čo značne uľahčuje úlohu budovania neurónovej siete od začiatku a redukuje ju na výber sieťovej štruktúry vhodnej pre konkrétnu úlohu.

V súčasnosti je na trhu pomerne veľké množstvo inovatívnych spoločností, ktoré sa zaoberajú rozpoznávaním obrazu pomocou technológií učenia neurónových sietí pre systém. Je s istotou známe, že pomocou databázy 10 000 obrázkov dosiahli presnosť rozpoznávania obrázkov v oblasti 95 %. Všetky úspechy sa však týkajú statických obrázkov, s videosekvenciami je momentálne všetko oveľa komplikovanejšie.

Bibliografický odkaz

Markova S.V., Zhigalov K.Yu. APLIKÁCIA NEURÁLNEJ SIETE NA VYTVORENIE SYSTÉMU NA ROZPOZNÁVANIE OBRAZOV // Základný výskum. - 2017. - č.8-1. - S. 60-64;
URL: http://fundamental-research.ru/ru/article/view?id=41621 (dátum prístupu: 03.24. Dávame do pozornosti časopisy vydávané "Akadémiou prírodných vied"

Priatelia, pokračujeme v príbehu o neurónových sieťach, ktorý sme začali minule, a o.

Čo je to neurónová sieť

V najjednoduchšom prípade je neurónová sieť matematický model pozostávajúci z niekoľkých vrstiev prvkov, ktoré vykonávajú paralelné výpočty. Spočiatku bola takáto architektúra vytvorená analogicky s najmenšími výpočtovými prvkami ľudského mozgu - neurónmi. Najmenšie výpočtové prvky umelej neurónovej siete sa nazývajú aj neuróny. Neurónové siete sa zvyčajne skladajú z troch alebo viacerých vrstiev: vstupná vrstva, skrytá vrstva (alebo vrstvy) a výstupná vrstva (obr. 1), v niektorých prípadoch sa vstupná a výstupná vrstva neberie do úvahy a potom počet vrstiev v sieti sa počíta podľa počtu skrytých vrstiev. Tento typ neurónovej siete sa nazýva perceptrón.

Ryža. 1. Najjednoduchší perceptrón

Dôležitou vlastnosťou neurónovej siete je jej schopnosť učiť sa príkladom, nazýva sa to učenie pod dohľadom. Neurónová sieť je trénovaná na veľkom množstve príkladov pozostávajúcich zo vstupno-výstupných párov (vstup a výstup si navzájom zodpovedajú). Pri problémoch s rozpoznávaním objektov bude takouto dvojicou vstupný obrázok a príslušný štítok - názov objektu. Učenie neurónovej siete je iteratívny proces, ktorý znižuje odchýlku výstupu siete od danej „učiteľskej odpovede“ – označenia zodpovedajúceho danému obrázku (obr. 2). Tento proces pozostáva z krokov nazývaných epochy učenia (zvyčajne sú v tisícoch), pri každom z nich sa upravujú „váhy“ neurónovej siete – parametre skrytých vrstiev siete. Po ukončení tréningového procesu je kvalita neurónovej siete zvyčajne dostatočná na to, aby vykonala úlohu, pre ktorú bola natrénovaná, hoci optimálnu sadu parametrov, ktorá dokonale rozpoznáva všetky obrázky, často nie je možné nájsť.


Ryža. 2. Tréning neurónovej siete

Čo sú hlboké neurónové siete

Hlboké alebo hlboké neurónové siete sú neurónové siete pozostávajúce z niekoľkých skrytých vrstiev (obr. 3). Tento obrázok je obrazom hlbokej neurónovej siete, ktorá dáva čitateľovi všeobecnú predstavu o tom, ako neurónová sieť vyzerá. Skutočná architektúra hlbokých neurónových sietí je však oveľa zložitejšia.


Ryža. 3. Neurónová sieť s mnohými skrytými vrstvami

Tvorcovia konvolučných neurónových sietí sa samozrejme najprv inšpirovali biologickými štruktúrami zrakového systému. Prvé výpočtové modely založené na koncepte hierarchického vizuálneho toku primátov sú známe ako Fukušimský neokognitrón (obrázok 4). Moderné chápanie fyziológie vizuálneho systému je podobné typu spracovania informácií v konvolučných sieťach, prinajmenšom pre rýchle rozpoznávanie objektov.


Ryža. 4. Diagram znázorňujúci spojenia medzi vrstvami v modeli Neocognitron.

Neskôr tento koncept implementoval kanadský výskumník Ian LeCune vo svojej konvolučnej neurónovej sieti, ktorú vytvoril na rozpoznávanie ručne písaných znakov. Táto neurónová sieť pozostávala z dvoch typov vrstiev: konvolučných vrstiev a vrstiev podvzorkovania (alebo združovacích vrstiev). V ňom má každá vrstva topografickú štruktúru, to znamená, že každý neurón je spojený s pevným bodom pôvodného obrazu, ako aj s receptívnym poľom (oblasť vstupného obrazu, ktorú tento neurón spracováva). Na každom mieste v každej vrstve je množstvo rôznych neurónov, z ktorých každý má svoju vlastnú sadu vstupných váh spojených s neurónmi v obdĺžnikovom reze predchádzajúcej vrstvy. Rôzne vstupné pravouhlé fragmenty s rovnakou sadou váh sú spojené s neurónmi z rôznych miest.

Všeobecná architektúra hlbokej neurónovej siete na rozpoznávanie vzorov je znázornená na obrázku 5. Vstupný obrázok je reprezentovaný ako súbor pixelov alebo malých oblastí obrázka (napríklad 5 x 5 pixelov)


Ryža. 5. Diagram konvolučnej neurónovej siete

Hlboké neurónové siete sú spravidla znázornené v zjednodušenej forme: ako fázy spracovania, ktoré sa niekedy nazývajú filtre. Každá fáza sa líši od druhej v množstve charakteristík, ako je veľkosť receptívneho poľa, typ funkcií, ktoré sa sieť učí rozpoznávať v danej vrstve, a typ výpočtu vykonávaného v každej fáze.

Oblasti použitia hlbokých neurónových sietí, vrátane konvolučných sietí, nie sú obmedzené na rozpoznávanie tvárí. Široko sa používajú na rozpoznávanie reči a zvukových signálov, spracovanie údajov z rôznych typov senzorov alebo na segmentáciu zložitých viacvrstvových obrazov (ako sú satelitné mapy) alebo medicínskych obrazov (röntgenové snímky, snímky fMRI - pozri).

Neurónové siete v biometrii a rozpoznávaní tváre

Na dosiahnutie vysokej presnosti rozpoznávania je neurónová sieť vopred natrénovaná na veľké množstvo obrázkov, napríklad v databáze MegaFace, čo je hlavná tréningová metóda na rozpoznávanie tváre.


Ryža. 6. Databáza MegaFace obsahuje 1 milión obrázkov viac ako 690 tisíc ľudí

Po natrénovaní siete na rozpoznávanie tvárí možno proces rozpoznávania tvárí opísať nasledovne (obrázok 7). Najprv sa obraz spracuje pomocou detektora tváre: algoritmus, ktorý deteguje pravouhlú časť obrazu s tvárou. Tento fragment je normalizovaný, aby ho neurónová sieť ľahšie spracovala: najlepší výsledok sa dosiahne, ak budú všetky vstupné obrázky rovnakej veľkosti, farby atď. Normalizovaný obrázok sa privedie na vstup neurónovej siete na spracovanie podľa algoritmu. Tento algoritmus je zvyčajne jedinečným vývojom spoločnosti na zlepšenie kvality rozpoznávania, existujú však aj „štandardné“ riešenia tohto problému. Neurónová sieť vytvára jedinečný vektor, ktorý sa potom prenáša do databázy. Vyhľadávač ho porovná so všetkými vektormi znakov uloženými v databáze a výsledok vyhľadávania poskytne vo forme určitého počtu mien alebo používateľských profilov s podobnými črtami tváre, z ktorých každý má pridelené určité číslo. Toto číslo predstavuje stupeň podobnosti nášho vektora prvkov s vektorom nájdeným v databáze.


Ryža. 7. Proces rozpoznávania tváre

Určenie kvality algoritmu

Presnosť

Keď si vyberáme, ktorý algoritmus použijeme na problém s rozpoznávaním objektu alebo tváre, musíme mať prostriedky na porovnanie účinnosti rôznych algoritmov. V tejto časti popíšeme nástroje, pomocou ktorých sa to robí.

Kvalita systému rozpoznávania tváre sa hodnotí pomocou súboru metrík, ktoré zodpovedajú typickým scenárom používania systému na autentifikáciu pomocou biometrie.

Výkon ľubovoľnej neurónovej siete možno spravidla merať z hľadiska presnosti: po nastavení parametrov a absolvovaní tréningového procesu sa sieť otestuje na testovacej súprave, na ktorú máme odpoveď učiteľa, ktorá je však oddelená od tréningovú súpravu. Tento parameter je zvyčajne kvantitatívna miera: číslo (často v percentách), ktoré udáva, ako dobre je systém schopný rozpoznať nové objekty. Ďalšou častou mierou je chyba (môže byť vyjadrená v percentách alebo v číselnom ekvivalente). Pre biometriu však existujú presnejšie miery.

V biometrii vo všeobecnosti a biometrii na rozpoznávanie tváre konkrétne existujú dva typy aplikácií: overovanie a identifikácia. Verifikácia je proces potvrdenia určitej identity porovnaním snímky jednotlivca (vektor čŕt tváre alebo iný vektor čŕt, napríklad sietnica alebo odtlačky prstov) s jednou alebo viacerými predtým uloženými šablónami. Identifikácia je proces určovania identity jednotlivca. Biometrické vzorky sa zhromažďujú a porovnávajú so všetkými šablónami v databáze. V uzavretom súbore prvkov existuje identifikácia, ak sa predpokladá, že v databáze existuje osoba. Rozpoznanie teda spája jeden alebo oba pojmy – overenie a identifikácia.

Často sa okrem priameho výsledku porovnávania vyžaduje aj posúdenie úrovne „dôvery“ systému vo svoje rozhodnutie. Táto hodnota sa nazýva „skóre podobnosti“ (alebo skóre podobnosti). Vyššie skóre podobnosti naznačuje, že dve porovnávané biometrické vzorky sú si viac podobné.

Existuje množstvo metód na hodnotenie kvality systému (pre úlohu verifikácie aj identifikácie). O nich si povieme nabudúce. A vy zostanete s nami a neváhajte zanechať komentáre a klásť otázky.

POZNÁMKY

  1. Fukushima (1980) "Neocognitron: Model samoorganizujúcej sa neurónovej siete pre mechanizmus rozpoznávania vzorov neovplyvnený posunom polohy," Biologická kybernetika.
  2. LeCun, B. Boser, J.S. Denker, D. Henderson, R.E. Howard, W. Hubbard a L.D. Jackel (1989) "Backpropagation Applied to Handwritten Zip Code Recognition", Neural Computation, zv. 1, str. 541-551.
  3. Jiaxuan You, Xiaocheng Li, Melvin Low, David Lobell, Stefano Ermon Hlboký gaussovský proces na predpovedanie výnosu plodín na základe údajov diaľkového snímania.
  4. Ian Goodfellow, Yoshua Bengio, Aaron Courville (2016) Deep Learning. lis MIT.
  5. Poh, C-H. Chan, J. Kittler, Julian Fierrez (UAM) a Javier Galbally (UAM) (2012) Popis metrík pre hodnotenie biometrickej výkonnosti.