AlexNet je konvoluční neuronová síť pro klasifikaci obrázků. Vývoj systému rozpoznávání obrazu založeného na aparátu umělých neuronových sítí Vícevrstvé neuronové sítě

AlexNet je konvoluční neurální síť, která má zásadní vliv na vývoj strojového učení, zejména algoritmů počítačového vidění. Síť vyhrála v roce 2012 s velkým náskokem soutěž ImageNet LSVRC-2012 (s 15,3% chybami oproti 26,2% na druhém místě).

Architektura AlexNet je podobná LeNet od Yanna LeCuma. AlexNet má však více filtrů na vrstvu a vnořené konvoluční vrstvy. Síť zahrnuje konvoluce, maximální sdružování, výpadek, rozšiřování dat, aktivace ReLU a stochastické klesání.

Vlastnosti AlexNet

  1. Jako aktivační funkce se místo arctangens používá Relu k přidání nelinearity do modelu. Díky tomu je rychlost se stejnou přesností metody 6krát vyšší.
  2. Použití výpadku namísto regularizace řeší problém s přetížením. Doba tréninku se však zdvojnásobí s mírou předčasného ukončení 0,5.
  3. Překrývající se spoje se provádějí za účelem zmenšení velikosti sítě. Kvůli tomu se úroveň chyb první a páté úrovně sníží na 0,4%, respektive 0,3%.

Datová sada ImageNet

ImageNet je sbírka 15 milionů označených obrázků ve vysokém rozlišení rozdělených do 22 000 kategorií. Snímky byly shromážděny online a označeny ručně pomocí crowdsourcingu společnosti Amazon's Mechanical Turk. Od roku 2010 se každoročně koná výzva ImageSet Large-Scale Visual Recognition Challenge (ILSVRC) jako součást Pascal Visual Object Challenge. Výzva využívá část datové sady ImageNet s 1000 obrázky v každé z 1000 kategorií. Celkem bylo získáno 1,2 milionu obrázků pro školení, 50 000 obrázků pro ověření a 150 000 pro testování. Server ImageNet se skládá z obrázků s různým rozlišením. Proto jsou pro soutěž zmenšeny na pevné rozlišení 256 × 256. Pokud byl původní obrázek obdélníkový, pak je oříznut na čtverec ve středu obrázku.

Architektura

Obrázek 1

Síťová architektura je znázorněna na obrázku 1. AlexNet obsahuje osm vážených vrstev. Prvních pět z nich je konvolučních a další tři jsou plně propojeny. Výstup je předán funkcí softmax loss, která generuje distribuci 1000 štítků třídy. Síť maximalizuje víceřádkovou logistickou regresi, která je ekvivalentní maximalizaci průměru všech logaritmů tréninkových případů pravděpodobnosti správného označení nad distribucí očekávání. Jádra druhé, čtvrté a páté konvoluční vrstvy jsou spojena pouze s těmi mapami jádra v předchozí vrstvě, které jsou na stejném GPU. Jádra třetí konvoluční vrstvy jsou spojena se všemi mapami jader druhé vrstvy. Neurony v plně propojených vrstvách jsou spojeny se všemi neurony v předchozí vrstvě.

AlexNet tedy obsahuje 5 konvolučních vrstev a 3 plně propojené vrstvy. Relu se aplikuje po každé konvoluční a plně propojené vrstvě. Výpadek se aplikuje před první a druhou plně spojenou vrstvou. Síť obsahuje 62,3 milionu parametrů a při dopředném průchodu vyžaduje 1,1 miliardy výpočtů. Konvoluční vrstvy, které tvoří 6% všech parametrů, dělají 95% výpočtů.

Vzdělávání

AlexNet prochází 90 obdobími. Školení trvá 6 dní najednou na dvou grafických kartách Nvidia Geforce GTX 580, což je důvod, proč je síť rozdělena na dvě části. Stochastický gradientový sestup se používá s rychlostí učení 0,01, impulsem 0,9 a poklesem hmotnosti 0,0005. Po nasycení přesnosti je rychlost učení dělitelná 10 a v průběhu tréninku se snižuje 3krát. Schéma aktualizace koeficientu vážení w vypadá jako:

kde - číslo iterace, proti Je impulzní proměnná, a epsilon- rychlost učení. Během celé tréninkové fáze byla rychlost učení zvolena pro všechny vrstvy stejná a upravována ručně. Následnou heuristikou bylo vydělit rychlost učení 10, když počet chyb validace přestal klesat.

Příklady použití a implementace

Výsledky ukazují, že velká, hluboká konvoluční neuronová síť je schopna dosáhnout rekordních výsledků u velmi složitých datových sad pouze pomocí supervizovaného učení. Rok po vydání AlexNet začali všichni soutěžící ImageNet k řešení problému s klasifikací používat konvoluční neuronové sítě. AlexNet byla první implementací konvolučních neuronových sítí a zahájila novou éru výzkumu. Nyní je snazší implementovat AlexNet pomocí knihoven hlubokého učení: PyTorch, TensorFlow, Keras.

Výsledek

Síť dosahuje následující úrovně chyb první a páté úrovně: 37,5%, respektive 17,0%. Nejlepší výkon dosažený v soutěži ILSVRC-2010 byl 47,1% a 28,2% pomocí přístupu, který průměruje předpovědi ze šesti řídkých kódovacích modelů trénovaných na různých vektorech funkcí. Od té doby bylo dosaženo výsledků: 45,7% a 25,7% pomocí přístupu, který průměruje předpovědi dvou klasifikátorů vycvičených na Fisherových vektorech. Výsledky ILSVRC-2010 jsou uvedeny v tabulce 1.


Vlevo: osm testovacích obrázků ILSVRC-2010 a pět značek, o kterých si model myslí, že jsou nejpravděpodobnější. Pod každý obrázek je napsán správný štítek a pravděpodobnost je zobrazena červeným pruhem, pokud je v první pětce. Vpravo: pět testovacích obrázků ILSVRC-2010 v prvním sloupci. Zbývající sloupce ukazují šest tréninkových obrázků. 1

Neuronová síť je matematický model a jeho implementace formou softwarové nebo hardwarově-softwarové implementace, která je založena na modelování činnosti biologických neurálních sítí, což jsou sítě neuronů v biologickém organismu. Vědecký zájem o tuto strukturu vznikl, protože studium jejího modelu umožňuje získat informace o určitém systému. To znamená, že takový model může mít praktickou implementaci v řadě odvětví moderní vědy a techniky. Článek pojednává o problémech spojených s používáním neuronových sítí pro konstrukci systémů identifikace obrazu, které jsou široce používány v bezpečnostních systémech. Podrobně jsou prozkoumány problémy související s tématem algoritmu rozpoznávání obrazu a jeho aplikací. Stručně poskytuje informace o metodice výcviku neuronových sítí.

neuronové sítě

učení s neuronovými sítěmi

rozpoznávání obrazu

paradigma místního vnímání

zabezpečovací systémy

1. Yann LeCun, J.S. Denker, S. Solla, R.E. Howard a L. D. Jackel: Optimální poškození mozku, Touretzky, David (Eds), Advances in Neural Information Processing Systems 2 (NIPS * 89). - 2000.- 100 s.

2. Zhigalov K.Yu. Metoda fotorealistické vektorizace dat laserových rozsahů pro další použití v GIS // Izvestiya vysshikh uchebnykh zavod. Geodézie a letecké fotografie. - 2007. - č. 6. - S. 285–287.

3. Ranzato Marc'Aurelio, Christopher Poultney, Sumit Chopra a Yann LeCun: Efficient Learning of Sparse Representations with an Energy-Based Model, in J. Platt et al. (Eds), Advances in Neural Information Processing Systems (NIPS 2006). - 2010.- 400 s.

4. Zhigalov K.Yu. Příprava zařízení pro použití v automatizovaných řídicích systémech pro stavbu silnic // Přírodní a technické vědy. - M., 2014. - č. 1 (69). - S. 285–287.

5. Y. LeCun a Y. Bengio: Konvoluční sítě pro obrazy, řeč a časové řady, Arbib, M. A. (Eds) // The Handbook of Brain Theory and Neural Networks. - 2005.- 150 s.

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

Technologický a výzkumný pokrok dnes pokrývá všechny nové obzory a rychle postupuje. Jedním z nich je modelování okolního světa pomocí matematických algoritmů. V tomto aspektu existují triviální, například modelování mořských vibrací, a extrémně složité, netriviální, vícesložkové úkoly, například modelování fungování lidského mozku. Při studiu této problematiky byl identifikován samostatný koncept - neurální síť. Neuronová síť je matematický model a jeho implementace formou softwarové nebo hardwarově-softwarové implementace, která je založena na modelování činnosti biologických neurálních sítí, což jsou sítě neuronů v biologickém organismu. Vědecký zájem o tuto strukturu vznikl, protože studium jejího modelu umožňuje získat informace o určitém systému. To znamená, že takový model může mít praktickou implementaci v řadě odvětví moderní vědy a techniky.

Stručná historie vývoje neuronových sítí

Je třeba poznamenat, že původně koncept „neuronové sítě“ pochází z práce amerických matematiků, neurolingvistů a neuropsychologů W. McCullocha a W. Pittsa (1943), kde jej autoři poprvé zmiňují, definují a dělají první pokus o vybudovat modelovou neuronovou síť. Již v roce 1949 D. Hebb navrhl první algoritmus učení. Poté proběhla řada studií v oblasti neurálního učení a kolem roku 1990-1991 se objevily první funkční prototypy. minulé století. Přesto výpočetní výkon tehdejšího zařízení nestačil na dostatečně rychlý provoz neuronových sítí. Do roku 2010 se výkon grafických karet GPU výrazně zvýšil a objevil se koncept programování přímo na grafických kartách, což výrazně (3-4krát) zvýšilo výkon počítačů. V roce 2012 neurální sítě poprvé vyhrály šampionát ImageNet, což znamenalo jejich další rychlý rozvoj a vznik pojmu Deep Learning.

V moderním světě mají neurální sítě kolosální pokrytí, vědci považují výzkum provedený v oblasti studia behaviorálních charakteristik a stavů neurálních sítí za extrémně slibný. Seznam oblastí, ve kterých neurální sítě našly uplatnění, je obrovský. To zahrnuje rozpoznávání a klasifikaci vzorů, předpovídání a řešení problémů s aproximací a některé aspekty komprese dat, analýzu dat a samozřejmě aplikaci v bezpečnostních systémech jiné povahy.

Studium neurálních sítí aktivně probíhá ve vědeckých komunitách různých zemí. V takové úvaze je prezentován jako zvláštní případ řady metod rozpoznávání vzorů, diskriminační analýzy a klastrových metod.

Je třeba také poznamenat, že za poslední rok bylo financování přiděleno startupům v oblasti systémů rozpoznávání obrazu na více než předchozích 5 let, což naznačuje poměrně vysokou poptávku po tomto typu vývoje na konečném trhu.

Aplikace neuronových sítí pro rozpoznávání obrazu

Zvažte standardní úkoly vyřešené neuronovými sítěmi při aplikaci na obrázky:

● identifikace předmětů;

● rozpoznávání částí předmětů (například obličejů, paží, nohou atd.);

● sémantická definice hranic objektů (umožňuje ponechat na obrázku pouze hranice objektů);

● sémantická segmentace (umožňuje rozdělit obraz na různé samostatné objekty);

● výběr normálů povrchu (umožňuje převádět dvourozměrné obrázky na trojrozměrné obrázky);

● zvýraznění předmětů pozornosti (umožňuje určit, čemu by člověk na daném obrázku věnoval pozornost).

Je třeba poznamenat, že problém rozpoznávání obrazu má pozoruhodný charakter, řešení tohoto problému je složitý a mimořádný proces. Při provádění rozpoznávání může být objektem lidská tvář, ručně psaná číslice, stejně jako mnoho dalších objektů, které se vyznačují řadou jedinečných vlastností, což výrazně komplikuje proces identifikace.

V této studii bude brán v úvahu algoritmus pro vytváření a učení se rozpoznávat ručně psané symboly neuronové sítě. Obraz bude načten jedním ze vstupů neurální sítě a jeden z výstupů bude použit k výstupu výsledku.

V této fázi je nutné se krátce pozastavit nad klasifikací neurálních sítí. Dnes existují tři hlavní typy:

● konvoluční neurální sítě (CNN);

● opakující se sítě (hloubkové učení);

● učení posilování.

Jedním z nejběžnějších příkladů budování neuronové sítě je klasická topologie neuronových sítí. Takovou neuronovou síť lze reprezentovat jako plně propojený graf, jejím charakteristickým znakem je dopředná šíření informací a zpětná šíření chybové signalizace. Tato technologie nemá rekurzivní vlastnosti. Ilustrativní neurální síť s klasickou topologií lze znázornit na obr. 1.

Rýže. 1. Neuronová síť s nejjednodušší topologií

Rýže. 2. Neuronová síť se 4 vrstvami skrytých neuronů

Jednou z jasně významných nevýhod této topologie sítě je redundance. Vzhledem k redundanci při dodávání dat ve formě například dvourozměrné matice na vstup je možné získat jednorozměrný vektor. Takže pro obraz ručně psaného latinského písmene popsaného pomocí matice 34x34 je zapotřebí 1156 vstupů. To naznačuje, že výpočetní výkon vynaložený na implementaci softwarového a hardwarového řešení tohoto algoritmu bude příliš velký.

Problém vyřešil americký vědec Ian Le Koon, který analyzoval práci nositelů Nobelových cen za medicínu T. Wtesela a D. Hubela. V rámci jejich studia byla předmětem studie zraková kůra kočičího mozku. Analýza výsledků ukázala, že kůra obsahuje řadu jednoduchých buněk a také řadu komplexních buněk. Jednoduché buňky reagovaly na obraz přímých linií přijímaných od zrakových receptorů a složité buňky na translační pohyb v jednom směru. V důsledku toho byl vyvinut princip konstrukce neuronových sítí, nazývaný konvoluční. Idea tohoto principu spočívala v tom, že k implementaci fungování neuronové sítě, střídání konvolučních vrstev, které jsou obvykle označovány jako C - vrstvy, podvzorkovací vrstvy S - vrstvy a plně propojené vrstvy F - vrstvy na výstupu z používá se neurální síť.

V srdci budování sítě tohoto druhu jsou tři paradigmata - paradigma místního vnímání, paradigma sdílených vah a paradigma podvzorkování.

Podstatou paradigmatu místního vnímání je, že do každého vstupního neuronu není přiváděna celá matice obrazu, ale její část. Zbytek částí je přiváděn do dalších vstupních neuronů. V tomto případě můžete sledovat mechanismus paralelizace, pomocí této metody můžete uložit topologii obrazu z vrstvy do vrstvy, multidimenzionálně ji zpracovat, to znamená, že během zpracování lze použít řadu neuronových sítí.

Paradigma sdílených vah naznačuje, že malou sadu vah lze použít pro více vztahů. Tyto sady se také nazývají „jádra“. Pro konečný výsledek zpracování obrazu můžeme říci, že sdílené váhy mají pozitivní vliv na vlastnosti neuronové sítě, studium jejich chování zvyšuje schopnost najít invarianty v obrazech a filtrovat složky šumu bez jejich zpracování.

Na základě výše uvedeného můžeme dojít k závěru, že při použití postupu skládání obrazu na základě jádra se objeví výstupní obraz, jehož prvky budou hlavní charakteristikou stupně shody s filtrem, tj. bude vygenerována mapa funkcí. Tento algoritmus je znázorněn na obr. 3.

Rýže. 3. Algoritmus pro generování mapy funkcí

Paradigma podvzorkování je, že vstupní obraz je zmenšen zmenšením prostorové dimenze jejího matematického ekvivalentu - n -dimenzionální matice. Potřeba podvzorkování je vyjádřena v neměnnosti měřítka původního obrazu. Při aplikaci techniky střídání vrstev je možné generovat nové mapy funkcí ze stávajících, to znamená, že praktická implementace této metody spočívá v tom, že schopnost degenerovat vícerozměrnou matici na vektorovou matici a poté zcela na bude získána skalární hodnota.

Implementace školení o neuronových sítích

Stávající sítě jsou z hlediska učení rozděleny do 3 tříd architektur:

● učení pod dohledem (vjem);

● učení bez dozoru (adaptivní rezonanční sítě);

● smíšené učení (sítě radiálních funkcí).

Jedním z nejdůležitějších kritérií pro hodnocení výkonu neuronové sítě v případě rozpoznávání obrazu je kvalita rozpoznávání obrazu. Je třeba poznamenat, že pro kvantitativní hodnocení kvality rozpoznávání obrazu pomocí fungování neuronové sítě se nejčastěji používá algoritmus chyby odmocniny:

(1)

V této závislosti je Ep p-tou chybou rozpoznávání pro pár neuronů,

Dp je očekávaný výstup neurální sítě (obvykle by se síť měla snažit o 100% rozpoznání, ale v praxi se to neděje) a konstrukce O (Ip, W) 2 je druhá mocnina výstupu sítě, která závisí na p-tý vstup a množina hmotnostních koeficientů W. Tato konstrukce zahrnuje jak konvoluční jádra, tak hmotnostní koeficienty všech vrstev. Výpočet chyb spočívá ve výpočtu aritmetické střední hodnoty pro všechny páry neuronů.

V důsledku analýzy byla odvozena pravidelnost, že nominální hodnotu váhy, když je hodnota chyby minimální, lze vypočítat na základě vztahu (2):

(2)

Z této závislosti můžeme říci, že problém výpočtu optimální hmotnosti je aritmetický rozdíl derivace chybové funkce prvního řádu vzhledem k hmotnosti dělený derivací chybové funkce druhého řádu.

Dané závislosti umožňují triviálně vypočítat chybu, která je ve výstupní vrstvě. Výpočet chyby ve skrytých vrstvách neuronů lze implementovat pomocí metody zpětné propagace chyb. Hlavní myšlenkou metody je šířit informace ve formě signalizace chyby z výstupních neuronů na vstupní neurony, to znamená ve směru opačném k šíření signálů neurální sítí.

Je také třeba poznamenat, že školení sítě probíhá na speciálně připravených databázích obrázků zařazených do velkého počtu tříd a trvá to poměrně dlouho.
Dnes je největší databází ImageNet (www.image_net.org). Má volný přístup k akademickým institucím.

Závěr

V důsledku výše uvedeného je třeba poznamenat, že neuronové sítě a algoritmy implementované na principu jejich fungování mohou najít své uplatnění v systémech rozpoznávání otisků prstů pro orgány vnitřní záležitosti. Často je to softwarová součást softwarového a hardwarového komplexu, jehož cílem je rozpoznat tak jedinečný komplexní obraz jako kresba, což jsou identifikační údaje, které plně neřeší úkoly, které jsou mu přiřazeny. Program založený na algoritmech založených na neuronové síti bude mnohem efektivnější.

Abychom to shrnuli, můžeme shrnout následující:

● neurální sítě mohou najít uplatnění, a to jak v otázce rozpoznávání obrázků, tak textů;

● tato teorie umožňuje hovořit o vytvoření nové slibné třídy modelů, konkrétně modelů založených na inteligentním modelování;

● neurální sítě jsou schopné učení, což naznačuje možnost optimalizace procesu z jeho fungování. Tato možnost je nesmírně důležitou volbou pro praktickou implementaci algoritmu;

● Vyhodnocení algoritmu rozpoznávání vzorů pomocí studie neuronové sítě může mít kvantitativní hodnotu, respektive existují mechanismy pro úpravu parametrů na požadovanou hodnotu výpočtem požadovaných hmotnostních koeficientů.

Dnes se další výzkum neurálních sítí jeví jako slibná oblast výzkumu, který bude úspěšně aplikován v ještě více oborech vědy a techniky, stejně jako v lidských aktivitách. Hlavní důraz při vývoji moderních rozpoznávacích systémů se nyní přesouvá do oblasti sémantické segmentace 3D obrazů v geodézii, medicíně, prototypování a dalších oblastech lidské činnosti - jedná se o poměrně složité algoritmy, a to z důvodu:

● nedostatek dostatečného počtu databází referenčních obrázků;

● nedostatek dostatečného počtu volných odborníků pro počáteční školení systému;

● obrázky nejsou uloženy v pixelech, což vyžaduje další zdroje od počítače i od vývojářů.

Je také třeba poznamenat, že dnes existuje velké množství standardních architektur pro konstrukci neuronových sítí, což značně usnadňuje úkol budování neuronové sítě od nuly a redukuje ji na výběr struktury sítě vhodné pro konkrétní úkol.

V současné době je na trhu poměrně velké množství inovativních společností, které se zabývají rozpoznáváním obrázků pomocí technologií učení neuronových sítí pro systém. Je jisté, že dosáhli přesnosti rozpoznávání obrazu v oblasti 95% pomocí databáze 10 000 obrázků. Přesto se všechny úspěchy týkají statických obrazů, u videosekvencí je v tuto chvíli vše mnohem komplikovanější.

Bibliografický odkaz

Markova S.V., Zhigalov K.Yu. APLIKACE NEURÁLNÍ SÍTĚ PRO VYTVOŘENÍ SYSTÉMU ROZPOZNÁVÁNÍ OBRAZŮ // Základní výzkum. - 2017. - č. 8-1. - S. 60-64;
URL: http://fundamental-research.ru/ru/article/view?id=41621 (datum přístupu: 03.24. Upozorňujeme na časopisy vydávané „Akademií přírodních věd“

Přátelé, pokračujeme v příběhu o neuronových sítích, který jsme začali minule a o.

Co je to neuronová síť

V nejjednodušším případě je neuronová síť matematický model skládající se z několika vrstev prvků, které provádějí paralelní výpočty. Zpočátku byla taková architektura vytvořena analogicky s nejmenšími výpočetními prvky lidského mozku - neurony. Nejmenší výpočetní prvky umělé neuronové sítě se také nazývají neurony. Neuronové sítě se obvykle skládají ze tří nebo více vrstev: vstupní vrstvy, skryté vrstvy (nebo vrstev) a výstupní vrstvy (obr. 1), v některých případech nejsou brány v úvahu vstupní a výstupní vrstvy a poté počet vrstvy v síti se počítají podle počtu skrytých vrstev. Tento typ neuronové sítě se nazývá perceptron.

Rýže. 1. Nejjednodušší perceptron

Důležitou vlastností neuronové sítě je její schopnost učit se příkladem, tomu se říká supervizované učení. Neuronová síť je vycvičena na velkém počtu příkladů sestávajících z dvojic vstup-výstup (vstup a výstup si navzájem odpovídají). Při problémech s rozpoznáváním objektů bude takovou dvojicí vstupní obrázek a odpovídající popisek - název objektu. Trénink neuronových sítí je iterační proces, který snižuje odchylku síťového výstupu od dané „odpovědi učitele“ - štítku odpovídajícímu danému obrázku (obr. 2). Tento proces se skládá z kroků nazývaných epochy učení (obvykle se pohybují v tisících), u každé z nich se upraví „váhy“ neuronové sítě - parametry skrytých vrstev sítě. Po dokončení tréninkového procesu je kvalita neuronové sítě obvykle dost dobrá na to, aby mohla plnit úkoly, pro které byla vyškolena, i když často není možné najít optimální sadu parametrů, která dokonale rozpoznává všechny obrázky.


Rýže. 2. Nácvik neurální sítě

Co jsou to hluboké neuronové sítě

Hluboké nebo hluboké neurální sítě jsou neurální sítě skládající se z několika skrytých vrstev (obr. 3). Tento obrázek je vyobrazením hluboké neuronové sítě, která dává čtenáři obecnou představu o tom, jak neurální síť vypadá. Skutečná architektura hlubokých neuronových sítí je však mnohem složitější.


Rýže. 3. Neuronová síť s mnoha skrytými vrstvami

Tvůrci konvolučních neuronových sítí se zpočátku inspirovali biologickými strukturami vizuálního systému. První výpočetní modely založené na konceptu hierarchické organizace vizuálního toku primátů jsou známy jako Fukušimský necocognitron (obr. 4). Moderní chápání fyziologie vizuálního systému je podobné typu zpracování informací v konvolučních sítích, alespoň pro rychlé rozpoznávání objektů.


Rýže. 4. Diagram ukazující spojení mezi vrstvami v modelu Neocognitron.

Později tento koncept implementoval kanadský výzkumník Ian LeCune ve své konvoluční neuronové síti, kterou vytvořil pro rozpoznávání ručně psaných znaků. Tato neuronová síť se skládala ze dvou typů vrstev: konvoluční vrstvy a podvzorkovací vrstvy (neboli sdružovací vrstvy). V něm má každá vrstva topografickou strukturu, to znamená, že každý neuron je spojen s pevným bodem původního obrazu, stejně jako s receptivním polem (oblastí vstupního obrazu, který je zpracován tímto neuronem). Na každém místě v každé vrstvě existuje řada různých neuronů, každý s vlastní sadou vstupních hmotností spojených s neurony v obdélníkovém řezu předchozí vrstvy. Různé vstupní obdélníkové fragmenty se stejnou sadou hmotností jsou spojeny s neurony z různých míst.

Obecná architektura hluboké neuronové sítě pro rozpoznávání vzorů je znázorněna na obrázku 5. Vstupní obraz je reprezentován jako sada pixelů nebo malých oblastí obrazu (například 5 x 5 pixelů)


Rýže. 5. Konvoluční diagram neurální sítě

Hluboké neuronové sítě jsou zpravidla zobrazovány ve zjednodušené podobě: jako fáze zpracování, kterým se někdy říká filtry. Každý stupeň se od druhého liší řadou charakteristik, jako je velikost receptivního pole, typ funkcí, které se síť učí rozpoznávat v dané vrstvě, a typ výpočtu prováděného v každé fázi.

Oblasti aplikace hlubokých neuronových sítí, včetně konvolučních sítí, se neomezují pouze na rozpoznávání tváří. Jsou široce používány pro rozpoznávání řeči a zvukových signálů, zpracování naměřených hodnot z různých typů senzorů nebo pro segmentaci složitých vícevrstvých snímků (jako jsou satelitní mapy) nebo lékařských snímků (rentgenové snímky, snímky fMRI-viz).

Neuronové sítě v biometrii a rozpoznávání obličejů

Aby se dosáhlo vysoké přesnosti rozpoznávání, je neuronová síť předem natrénována na velké řadě obrázků, například v databázi MegaFace. Toto je hlavní tréninková metoda rozpoznávání obličeje.


Rýže. 6. Databáze MegaFace obsahuje 1 milion obrázků od více než 690 tisíc lidí

Poté, co byla síť vycvičena k rozpoznávání obličejů, lze proces rozpoznávání obličejů popsat následovně (obrázek 7). Nejprve je obraz zpracován pomocí detektoru obličeje: algoritmu, který detekuje obdélníkový řez obrazu pomocí tváře. Tento fragment je normalizován, aby byl snáze zpracován neuronovou sítí: nejlepšího výsledku bude dosaženo, pokud budou všechny vstupní obrázky stejné velikosti, barvy atd. Normalizovaný obraz je přiveden na vstup neuronové sítě ke zpracování podle algoritmu. Tento algoritmus je obvykle jedinečným vývojem společnosti ke zlepšení kvality rozpoznávání, ale existují také „standardní“ řešení tohoto problému. Neuronová síť vytváří jedinečný vektor funkcí, který je poté přenesen do databáze. Vyhledávač jej porovná se všemi vektory funkcí uložených v databázi a poskytne výsledek hledání ve formě určitého počtu jmen nebo uživatelských profilů s podobnými rysy obličeje, přičemž každému z nich je přiřazeno určité číslo. Toto číslo představuje stupeň podobnosti našeho vektoru funkcí s tím, který se nachází v databázi.


Rýže. 7. Proces rozpoznávání obličeje

Určení kvality algoritmu

Přesnost

Když zvolíme, který algoritmus se má použít na problém s rozpoznáváním objektů nebo obličejů, musíme mít prostředky ke srovnávání účinnosti různých algoritmů. V této části popíšeme nástroje, pomocí kterých se to provádí.

Kvalita systému rozpoznávání obličejů je hodnocena pomocí sady metrik, které odpovídají typickým scénářům pro použití systému pro autentizaci pomocí biometrie.

Výkon jakékoli neuronové sítě lze zpravidla měřit z hlediska přesnosti: po nastavení parametrů a dokončení tréninkového procesu se síť testuje na testovací sadě, pro kterou máme odpověď učitele, ale která je oddělená od tréninková sada. Tento parametr je obvykle kvantitativní měřítko: číslo (často v procentech), které udává, jak dobře je systém schopen rozpoznávat nové objekty. Dalším běžným měřítkem je chyba (může být vyjádřena v procentech nebo v číselném ekvivalentu). Pro biometrii však existují přesnější opatření.

V biometrii obecně a zejména v biometrii pro rozpoznávání obličejů existují dva typy aplikací: ověřování a identifikace. Ověření je proces potvrzení určité identity porovnáním obrazu jednotlivce (vektoru rysů obličeje nebo jiného vektoru funkcí, například sítnice nebo otisků prstů) s jednou nebo více dříve uloženými šablonami. Identifikace je proces určování identity jednotlivce. Biometrické vzorky se shromažďují a porovnávají se všemi šablonami v databázi. Pokud se předpokládá, že v databázi existuje osoba, v uzavřené sadě funkcí existuje identifikace. Rozpoznání tedy kombinuje jeden nebo oba pojmy - ověření a identifikace.

Kromě přímého výsledku srovnání je často nutné posoudit úroveň „důvěry“ systému v jeho rozhodnutí. Tato hodnota se nazývá „skóre podobnosti“ (nebo skóre podobnosti). Vyšší skóre podobnosti naznačuje, že dva porovnávané biometrické vzorky jsou si podobnější.

Existuje řada metod pro hodnocení kvality systému (jak pro úkol ověření, tak pro identifikaci). O nich si povíme příště. A zůstanete s námi a neváhejte zanechat komentáře a klást otázky.

POZNÁMKY

  1. Fukushima (1980) „Neocognitron: Samoorganizující model neuronové sítě pro mechanismus rozpoznávání vzorů neovlivněný posunem polohy,“ Biological Cybernetics.
  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, sv. 1, s., 541-551.
  3. Jiaxuan You, Xiaocheng Li, Melvin Low, David Lobell, Stefano Ermon Deep Gaussian Process for Crop Yield Prediction based on Remote Sensing Data.
  4. Ian Goodfellow, Yoshua Bengio, Aaron Courville (2016) Deep Learning. Stiskněte tlačítko MIT.
  5. Poh, C-H. Chan, J. Kittler, Julian Fierrez (UAM) a Javier Galbally (UAM) (2012) Popis metrik pro hodnocení biometrické výkonnosti.