Umělá neuronová síť - Artificial neural network

Umělá neuronová síť je propojená skupina uzlů, inspirovaná zjednodušením neuronů v mozku . Zde každý kruhový uzel představuje umělý neuron a šipka představuje spojení mezi výstupem jednoho umělého neuronu a vstupem jiného.

Umělé neurální sítě ( ANN ), obvykle jednoduše nazývané neurální sítě ( NN ), jsou výpočetní systémy inspirované biologickými neurálními sítěmi, které tvoří mozek zvířat .

ANN je založena na souboru spojených jednotek nebo uzlů nazývaných umělé neurony , které volně modelují neurony v biologickém mozku. Každé spojení, stejně jako synapse v biologickém mozku, může přenášet signál dalším neuronům. Umělý neuron přijme signál, poté jej zpracuje a může signalizovat neurony s ním spojené. „Signál“ při připojení je skutečné číslo a výstup každého neuronu je vypočítán nějakou nelineární funkcí součtu jeho vstupů. Spojením se říká hrany . Neurony a hrany mají obvykle váhu, která se přizpůsobuje v průběhu učení. Hmotnost zvyšuje nebo snižuje sílu signálu při připojení. Neurony mohou mít prahovou hodnotu tak, že signál je vyslán pouze tehdy, pokud souhrnný signál tuto prahovou hodnotu překročí. Neurony jsou obvykle agregovány do vrstev. Různé vrstvy mohou na svých vstupech provádět různé transformace. Signály putují z první vrstvy (vstupní vrstva) do poslední vrstvy (výstupní vrstva), možná po několikanásobném procházení vrstev.

Výcvik

Neuronové sítě se učí (nebo jsou trénovány) zpracováním příkladů, z nichž každá obsahuje známý „vstup“ a „výsledek“, přičemž mezi nimi tvoří asociace vážené pravděpodobností, které jsou uloženy v datové struktuře samotné sítě. Nácvik neurální sítě z daného příkladu se obvykle provádí určením rozdílu mezi zpracovaným výstupem sítě (často predikcí) a cílovým výstupem. Tento rozdíl je chyba. Síť poté upraví své vážené asociace podle pravidla učení a pomocí této chybové hodnoty. Následné úpravy způsobí, že neurální síť bude produkovat výstup, který je stále více podobný cílovému výstupu. Po dostatečném počtu těchto úprav lze školení na základě určitých kritérií ukončit. Toto je známé jako učení pod dohledem .

Takové systémy se „učí“ provádět úkoly zvážením příkladů, obecně bez toho, aby byly naprogramovány pomocí pravidel specifických pro daný úkol. Například v rozpoznávání obrázků se mohou naučit identifikovat obrázky, které obsahují kočky, analyzováním ukázkových obrázků, které byly ručně označeny jako „kočka“ nebo „žádná kočka“, a pomocí výsledků identifikovat kočky na jiných obrázcích. Dělají to bez předchozí znalosti koček, například, že mají srst, ocasy, vousy a kočičí tváře. Místo toho automaticky generují identifikační charakteristiky z příkladů, které zpracovávají.

Dějiny

Warren McCulloch a Walter Pitts (1943) toto téma otevřeli vytvořením výpočetního modelu pro neurální sítě. Na konci čtyřicátých let vytvořil DO Hebb hypotézu učení založenou na mechanismu nervové plasticity, který se stal známým jako hebbovské učení . Farley a Wesley A. Clark (1954) nejprve použili k simulaci hebbijské sítě výpočetní stroje, tehdy nazývané „kalkulačky“. V roce 1958 vynalezl psycholog Frank Rosenblatt perceptron , první umělou neuronovou síť, financovanou americkým Úřadem pro námořní výzkum . První funkční sítě s mnoha vrstvami publikovali Ivakhnenko a Lapa v roce 1965 jako skupinovou metodu zpracování dat . Základy spojité backpropagation byly odvozeny v rámci teorie řízení od Kelley v roce 1960 a od Bryson v roce 1961 s využitím principů dynamického programování . Poté výzkum stagnoval po Minském a Papertovi (1969), kteří zjistili, že základní perceptrony nejsou schopné zpracovat exkluzivní obvod nebo že počítačům chybí dostatečný výkon pro zpracování užitečných neuronových sítí.

V roce 1970 publikoval Seppo Linnainmaa obecnou metodu automatické diferenciace (AD) diskrétních propojených sítí vnořených diferencovatelných funkcí. V roce 1973 Dreyfus použil zpětné šíření k přizpůsobení parametrů regulátorů v poměru k chybovým přechodům. Algoritmus zpětného šíření Werbos (1975) umožnil praktické školení vícevrstvých sítí. V roce 1982 aplikoval Linnainmaaovu AD metodu na neurální sítě způsobem, který se stal široce používaným.

Vývoj velmi rozsáhlé integrace (VLSI) typu metal-oxid-polovodič (MOS) ve formě komplementární technologie MOS (CMOS) umožnil zvýšit počet tranzistorů MOS v digitální elektronice . To poskytlo více výpočetního výkonu pro vývoj praktických umělých neuronových sítí v 80. letech minulého století.

V roce 1986 Rumelhart , Hinton a Williams ukázali, že zpětná propagace se naučila zajímavé vnitřní reprezentace slov jako vektorů funkcí, když byla vycvičena k předpovídání dalšího slova v sekvenci.

V roce 1992 byl zaveden max-pooling, který pomáhá s invariancí nejmenších posunů a tolerancí k deformaci, aby napomohl rozpoznávání 3D objektů . Schmidhuber přijal víceúrovňovou hierarchii sítí (1992) předem vycvičenou po jedné úrovni učením bez dozoru a doladěnou zpětným šířením .

Mezi rané úspěchy neuronových sítí patřilo předpovídání akciového trhu a v roce 1995 (většinou) auto s vlastním pohonem.

Geoffrey Hinton a kol. (2006) navrhli naučit se reprezentaci na vysoké úrovni pomocí postupných vrstev binárních nebo skutečných latentních proměnných s omezeným Boltzmannovým strojem k modelování každé vrstvy. V roce 2012 Ng a Dean vytvořili síť, která se naučila rozpoznávat koncepty vyšší úrovně, jako jsou kočky, pouze ze sledování neoznačených obrázků. Předběžný trénink bez dozoru a zvýšený výpočetní výkon z GPU a distribuovaných počítačů umožňovaly použití větších sítí, zejména v problémech s rozpoznáváním obrazu a zraku, které se staly známými jako „ hluboké učení “.

Ciresan a kolegové (2010) ukázali, že navzdory mizejícímu problému s gradientem umožňují GPU zpětné šíření pro mnohovrstvé dopředné neuronové sítě. V letech 2009 až 2012 ANN začali vyhrávat ceny v soutěžích ANN a přiblížili se výkonům na lidské úrovni při různých úkolech, zpočátku v rozpoznávání vzorů a strojovém učení . Například obousměrná a vícerozměrná dlouhodobá krátkodobá paměť (LSTM) Gravese et al. vyhrál tři soutěže v rozpoznávání spojeného rukopisu v roce 2009 bez předchozích znalostí o třech jazycích, které se mají naučit.

Ciresan a kolegové postavili první rozpoznávače vzorů, aby dosáhli lidského konkurenčního/nadlidského výkonu na benchmarcích, jako je rozpoznávání dopravních značek (IJCNN 2012).

Modely

Neuron a myelinovaný axon, s tokem signálu ze vstupů na dendritech na výstupy na axonových terminálech

ANN začaly jako pokus využít architekturu lidského mozku k plnění úkolů, s nimiž konvenční algoritmy měly malý úspěch. Brzy se přeorientovali na zlepšení empirických výsledků, většinou upustili od pokusů zůstat věrní svým biologickým prekurzorům. Neurony jsou navzájem spojeny v různých vzorech, aby se výstup některých neuronů mohl stát vstupem jiných. Síť tvoří směrovaný , vážený graf .

Umělá neurální síť se skládá ze souboru simulovaných neuronů. Každý neuron je uzel, který je spojen s jinými uzly prostřednictvím odkazů, které odpovídají biologickým spojením axon-synapse-dendrit. Každý odkaz má váhu, která určuje sílu vlivu jednoho uzlu na jiný.

Součásti ANN

Neurony

ANN se skládají z umělých neuronů, které jsou koncepčně odvozeny od biologických neuronů . Každý umělý neuron má vstupy a produkuje jeden výstup, který lze odeslat do několika dalších neuronů. Vstupy mohou být hodnoty vlastností vzorku externích dat, jako jsou obrázky nebo dokumenty, nebo to mohou být výstupy jiných neuronů. Výstupy konečných výstupních neuronů neurální sítě splňují úkol, jako je rozpoznání objektu na obrázku.

Najít výstup neuronu, nejprve vezmeme vážený součet všech vstupů vážený vah jednotlivých spojů ze vstupů do neuronu. K této sumě přidáme zkreslený výraz. Tato vážená částka se někdy nazývá aktivace . Tento vážený součet je poté předán (obvykle nelineární) aktivační funkcí k vytvoření výstupu. Počáteční vstupy jsou externí data, jako jsou obrázky a dokumenty. Konečné výstupy splní úkol, jako je rozpoznání objektu na obrázku.

Spojení a závaží

Síť se skládá z připojení, přičemž každé spojení poskytuje výstup jednoho neuronu jako vstup do jiného neuronu. Každému připojení je přiřazena váha, která představuje jeho relativní důležitost. Daný neuron může mít více vstupních a výstupních připojení.

Propagační funkce

Funkce šíření vypočítá vstup do neuronu z výstupů jeho předchůdců neuronů a jejich spojení jako vážený součet. K výsledku šíření lze přidat předpojatý termín.

Organizace

Neurony jsou typicky organizovány do více vrstev, zejména při hlubokém učení . Neurony jedné vrstvy se připojují pouze k neuronům bezprostředně předcházejících a bezprostředně následujících vrstev. Vrstva, která přijímá externí data je vstupní vrstva . Vrstva, která vytváří konečný výsledek, je výstupní vrstva . Mezi nimi je nula nebo více skrytých vrstev . Používají se také jednovrstvé a nevrstvé sítě. Mezi dvěma vrstvami je možné více vzorů připojení. Mohou být plně propojeny , přičemž každý neuron v jedné vrstvě se připojí ke každému neuronu v další vrstvě. Mohou to být sdružování , kdy se skupina neuronů v jedné vrstvě spojí s jedním neuronem v další vrstvě, čímž se sníží počet neuronů v této vrstvě. Neurony pouze s takovými spojeními tvoří směrovaný acyklický graf a jsou známé jako dopředné sítě . Alternativně jsou sítě, které umožňují spojení mezi neurony ve stejných nebo předchozích vrstvách, známé jako rekurentní sítě .

Hyperparametr

Hyperparametr je konstantní parametr, jehož hodnota je nastavena před zahájením procesu učení. Hodnoty parametrů jsou odvozeny prostřednictvím učení. Mezi příklady hyperparametrů patří rychlost učení , počet skrytých vrstev a velikost dávky. Hodnoty některých hyperparametrů mohou záviset na hodnotách jiných hyperparametrů. Například velikost některých vrstev může záviset na celkovém počtu vrstev.

Učení se

Učení je přizpůsobení sítě k lepšímu zvládnutí úkolu zvážením ukázkových pozorování. Učení zahrnuje úpravu vah (a volitelných prahů) sítě za účelem zlepšení přesnosti výsledku. To se provádí minimalizací pozorovaných chyb. Učení je úplné, když zkoumání dalších pozorování užitečně nesníží chybovost. I po učení chybovost obvykle nedosáhne 0. Pokud je po učení chybovost příliš vysoká, síť musí být typicky přepracována. Prakticky se to provádí definováním nákladové funkce, která se během učení periodicky vyhodnocuje. Dokud jeho produkce stále klesá, učení pokračuje. Náklady jsou často definovány jako statistiky, jejichž hodnotu lze pouze aproximovat. Výstupy jsou ve skutečnosti čísla, takže když je chyba nízká, rozdíl mezi výstupem (téměř jistě kočka) a správnou odpovědí (kočka) je malý. Učení se pokouší snížit součet rozdílů mezi pozorováními. Na většinu výukových modelů lze pohlížet jako na jednoduchou aplikaci teorie optimalizace a statistického odhadu .

Míra učení

Rychlost učení definuje velikost nápravných kroků, které model provede, aby upravil chyby v každém pozorování. Vysoká rychlost učení zkracuje dobu školení, ale s nižší konečnou přesností, zatímco nižší rychlost učení trvá déle, ale s potenciálem vyšší přesnosti. Optimalizace, jako je Quickprop, jsou primárně zaměřeny na zrychlení minimalizace chyb, zatímco další vylepšení se snaží hlavně zvýšit spolehlivost. Aby se zabránilo oscilacím uvnitř sítě, jako jsou střídavé váhy připojení, a aby se zlepšila rychlost konvergence, upřesnění používají adaptivní rychlost učení, která se podle potřeby zvyšuje nebo snižuje. Koncept hybnosti umožňuje zvážit rovnováhu mezi gradientem a předchozí změnou tak, že úprava hmotnosti závisí do určité míry na předchozí změně. Hybnost blízká 0 zdůrazňuje gradient, zatímco hodnota blízká 1 zdůrazňuje poslední změnu.

Nákladová funkce

I když je možné definovat nákladovou funkci ad hoc , často je volba určena požadovanými vlastnostmi funkce (jako je konvexita ) nebo proto, že vychází z modelu (např. V pravděpodobnostním modelu lze pozdější pravděpodobnost modelu použít jako inverzní náklady).

Zpětné šíření

Backpropagation je metoda používaná k úpravě hmotnosti připojení ke kompenzaci každé chyby zjištěné během učení. Množství chyb je efektivně rozděleno mezi připojení. Technicky backprop vypočítá gradient (derivát) nákladové funkce související s daným stavem s ohledem na váhy. Aktualizace váhy lze provádět pomocí stochastického gradientu nebo jinými metodami, jako jsou Extreme Learning Machines , „No-prop“ sítě, trénink bez zpětného sledování, „weightless“ sítě a non-connectionist neurální sítě .

Učící se paradigmata

Tři hlavní vzdělávací paradigmata jsou učení s učitelem , učení bez učitele a učení zesílení . Každý odpovídá konkrétnímu učebnímu úkolu

Učení pod dohledem

Učení pod dohledem využívá sadu spárovaných vstupů a požadovaných výstupů. Úkolem učení je vytvořit požadovaný výstup pro každý vstup. V tomto případě nákladová funkce souvisí s odstraněním nesprávných odpočtů. Běžně používanou cenou je průměrná kvadratická chyba , která se snaží minimalizovat průměrnou čtvercovou chybu mezi výstupem sítě a požadovaným výstupem. Úkoly vhodné pro supervizované učení jsou rozpoznávání vzorů (také známé jako klasifikace) a regrese (také známé jako aproximace funkcí). Dohledové učení je použitelné také pro sekvenční data (např. Pro ruční psaní, rozpoznávání řeči a gest ). Lze to chápat jako učení se „učiteli“ ve formě funkce, která poskytuje nepřetržitou zpětnou vazbu o kvalitě dosud získaných řešení.

Učení bez dozoru

Při učení bez dozoru jsou vstupní data uvedena společně s nákladovou funkcí, nějakou funkcí dat a výstupem sítě. Nákladová funkce závisí na úkolu (doména modelu) a jakýchkoli apriorních předpokladech (implicitní vlastnosti modelu, jeho parametry a pozorované proměnné). Jako triviální příklad zvažte model, kde je konstanta a náklady . Minimalizace těchto nákladů vytvoří hodnotu, která se rovná průměru dat. Nákladová funkce může být mnohem komplikovanější. Jeho forma závisí na aplikaci: například v kompresi by to mohlo souviset se vzájemnými informacemi mezi a , zatímco ve statistickém modelování by to mohlo souviset se zadní pravděpodobností modelu vzhledem k datům (všimněte si, že v obou těchto příkladech tato množství by byla spíše maximalizována než minimalizována). Úkoly, které spadají do paradigmatu učení bez dozoru, jsou obecně problémy s odhadem ; aplikace zahrnují shlukování , odhad statistických distribucí , kompresi a filtrování .

Posílení učení

V aplikacích, jako je hraní videoher, herec provede řadu akcí a po každé z nich dostane obecně nepředvídatelnou odpověď od prostředí. Cílem je hru vyhrát, tj. Generovat co nejvíce pozitivních odpovědí (s nejnižšími náklady). Při posilování učení je cílem vážit síť (navrhnout zásadu) k provádění akcí, které minimalizují dlouhodobé (očekávané kumulativní) náklady. V každém časovém okamžiku agent provede akci a prostředí generuje pozorování a okamžité náklady podle některých (obvykle neznámých) pravidel. Pravidla a dlouhodobé náklady lze obvykle pouze odhadnout. V každém okamžiku se agent rozhodne, zda prozkoumá nové akce, aby odhalil své náklady, nebo využije předchozí učení, aby postupoval rychleji.

Formálně je prostředí modelováno jako Markovův rozhodovací proces (MDP) se stavy a akcemi . Protože nejsou známy přechody stavu, je místo toho použito rozdělení pravděpodobnosti: okamžité rozložení nákladů, rozdělení pozorování a rozdělení přechodu , zatímco zásada je definována jako podmíněné rozdělení na akce dané pozorováním. Dohromady tyto dva definují Markovův řetězec (MC). Cílem je objevit MC s nejnižší cenou.

ANN slouží jako učební komponenta v takových aplikacích. Dynamické programování ve spojení s ANN (poskytující neurodynamické programování) bylo aplikováno na problémy, jako jsou ty, které se týkají směrování vozidel , videoher, správy přírodních zdrojů a medicíny, protože schopnost ANN zmírnit ztráty přesnosti i při snížení hustoty diskretizační mřížky pro numerické aproximace řešení problémů s ovládáním. Úkoly, které spadají do paradigmatu posilovacího učení, jsou problémy s kontrolou, hry a další sekvenční rozhodovací úkoly.

Sebevzdělávání

Samoučení v neurálních sítích bylo zavedeno v roce 1982 spolu s neurální sítí schopnou samoučení s názvem Crossbar Adaptive Array (CAA). Je to systém, který má pouze jeden vstup, situaci s a pouze jeden výstup, akci (nebo chování) a. Nemá ani externí poradenství, ani externí posílení z prostředí. Úřad CAA vypočítává příčným způsobem rozhodnutí o akcích i emoce (pocity) o situacích, se kterými se setkal. Systém je řízen interakcí mezi poznáním a emocemi. Vzhledem k matici paměti, W = || w (a, s) ||, algoritmus samostudia příčníku v každé iteraci provede následující výpočet:

  In situation s perform action a;
  Receive consequence situation s';
  Compute emotion of being in consequence situation v(s');
  Update crossbar memory w'(a,s) = w(a,s) + v(s').

Zpětně šířená hodnota (sekundární výztuž) je emocí vůči situaci následků. CAA existuje ve dvou prostředích, jedním je behaviorální prostředí, kde se chová, a druhým je genetické prostředí, kde z něj zpočátku a pouze jednou přijímá počáteční emoce, se kterými se lze setkat v situacích v behaviorálním prostředí. Po obdržení genomového vektoru (druhového vektoru) z genetického prostředí se CAA naučí chování hledající cíl v behaviorálním prostředí, které obsahuje jak žádoucí, tak nežádoucí situace.

Neuroevoluce

Neuroevolution může vytvářet topologie a váhy neuronových sítí pomocí evolučních výpočtů . Je konkurenceschopný se sofistikovanými přístupy s klesáním. Jednou z výhod neuroevoluce je, že může být méně náchylné k zachycení ve „slepých uličkách“.

jiný

V bayesovském rámci je pro minimalizaci nákladů zvolena distribuce přes sadu povolených modelů. Evoluční metody , programování genové exprese , simulované žíhání , maximalizace očekávání , neparametrické metody a optimalizace částicového roje jsou další učební algoritmy. Konvergentní rekurze je učební algoritmus pro neuronové sítě CMAC ( cerebellar model articulation controller ).

Režimy

K dispozici jsou dva způsoby učení: stochastický a dávkový. Při stochastickém učení vytváří každý vstup úpravu hmotnosti. V dávkovém učení se váhy upravují na základě dávky vstupů a hromadí se chyby v dávce. Stochastické učení zavádí do procesu „hluk“ pomocí lokálního gradientu vypočítaného z jednoho datového bodu; tím se snižuje šance, že se síť zasekne v místních minimech. Dávkové učení však obvykle přináší rychlejší a stabilnější sestup na místní minimum, protože každá aktualizace se provádí ve směru průměrné chyby dávky. Běžným kompromisem je použití „malých dávek“, malých dávek se vzorky v každé dávce vybraných stochasticky z celého souboru dat.

Typy

ANN se vyvinuly do široké rodiny technik, které pokročily ve stavu techniky napříč více doménami. Nejjednodušší typy mají jednu nebo více statických komponent, včetně počtu jednotek, počtu vrstev, jednotkových hmotností a topologie . Dynamické typy umožňují, aby se jeden nebo více z nich vyvíjelo prostřednictvím učení. Ty jsou mnohem komplikovanější, ale mohou zkrátit období učení a přinést lepší výsledky. Některé typy umožňují/vyžadují, aby učení „dohlížel“ operátor, zatímco jiné fungují samostatně. Některé typy fungují čistě v hardwaru, zatímco jiné jsou čistě softwarové a běží na počítačích pro všeobecné použití.

Mezi hlavní průlomy patří: konvoluční neurální sítě, které se ukázaly jako obzvláště úspěšné při zpracování vizuálních a jiných dvourozměrných dat; dlouhodobá krátkodobá paměť se vyhýbá mizejícímu problému s přechodem a dokáže zpracovat signály, které mají kombinaci nízko a vysokofrekvenčních složek, které pomáhají rozpoznávání řeči s velkou slovní zásobou, syntézou převodu textu na řeč a fotorealistickými mluvícími hlavami; konkurenční sítě, jako jsou generativní kontradiktorní sítě, ve kterých mezi sebou soutěží více sítí (různé struktury), o úkolech, jako je vítězství ve hře nebo o klamání soupeře o pravosti vstupu.

Návrh sítě

Vyhledávání neurální architektury (NAS) využívá strojové učení k automatizaci návrhu ANN. Různé přístupy k NAS navrhly sítě, které se dobře srovnávají s ručně navrženými systémy. Základní vyhledávací algoritmus je navrhnout kandidátský model, vyhodnotit jej proti datové sadě a použít výsledky jako zpětnou vazbu pro výuku sítě NAS. Mezi dostupné systémy patří AutoML a AutoKeras.

Problémy s návrhem zahrnují rozhodování o počtu, typu a propojenosti síťových vrstev, stejně jako o velikosti každé a typu připojení (úplné, sdružování, ...).

Hyperparametry musí být také definovány jako součást návrhu (nejsou naučeny), řídící záležitosti, jako je počet neuronů v každé vrstvě, rychlost učení, krok, krok, hloubka, receptivní pole a polstrování (pro CNN) atd.

Použití

Používání umělých neuronových sítí vyžaduje pochopení jejich vlastností.

  • Volba modelu: To závisí na reprezentaci dat a aplikaci. Příliš složité modely jsou pomalé učení.
  • Algoritmus učení: Mezi algoritmy učení existuje řada kompromisů. Téměř jakýkoli algoritmus bude dobře fungovat se správnými hyperparametry pro školení o konkrétní sadě dat. Výběr a vyladění algoritmu pro školení o neviditelných datech však vyžaduje značné experimentování.
  • Robustnost: Pokud je vhodně zvolen model, nákladová funkce a učební algoritmus, výsledná ANN se může stát robustní.

Možnosti ANN spadají do následujících širokých kategorií:

Aplikace

Díky své schopnosti reprodukovat a modelovat nelineární procesy našly umělé neurální sítě uplatnění v mnoha oborech. Mezi oblasti aplikace patří identifikace a řízení systému (řízení vozidla, predikce trajektorie, řízení procesů , správa přírodních zdrojů ), kvantová chemie , obecné hraní her , rozpoznávání vzorů (radarové systémy, identifikace obličeje , klasifikace signálu, 3D rekonstrukce , rozpoznávání objektů a další), rozpoznávání sekvencí (rozpoznávání gest, řeči, ručně psaného a tištěného textu), lékařská diagnostika , finance (např. automatizované obchodní systémy ), dolování dat , vizualizace, strojový překlad , filtrování sociálních sítí a filtrování nevyžádané pošty. ANN byly použity k diagnostice několika typů rakoviny a k rozlišení vysoce invazivních buněčných linií rakoviny od méně invazivních linií pomocí pouze informací o tvaru buněk.

ANN byly použity k urychlení analýzy spolehlivosti infrastruktur vystavených přírodním katastrofám a k předpovídání základových osad. ANN byly také použity pro stavbu modelů černé skříňky v geovědě : hydrologie , oceánské modelování a pobřežní inženýrství a geomorfologie . ANN byly použity v kybernetické bezpečnosti s cílem rozlišovat mezi legitimními aktivitami a škodlivými aktivitami. Strojové učení bylo například použito ke klasifikaci malwaru pro Android, k identifikaci domén patřících aktérům hrozeb a ke zjišťování adres URL představujících bezpečnostní riziko. Probíhá výzkum systémů ANN určených pro penetrační testování, pro detekci botnetů, podvodů s kreditními kartami a narušení sítě.

ANN byly navrženy jako nástroj k řešení parciálních diferenciálních rovnic ve fyzice a simulaci vlastností mnoha těles otevřených kvantových systémů . Ve výzkumu mozku ANN studovaly krátkodobé chování jednotlivých neuronů , dynamika nervových obvodů vyplývá z interakcí mezi jednotlivými neurony a jak může chování vzniknout z abstraktních neurálních modulů, které představují kompletní subsystémy. Studie zvažovaly dlouhodobou a krátkodobou plasticitu nervových systémů a jejich vztah k učení a paměti od jednotlivého neuronu k systémové úrovni.

Teoretické vlastnosti

Výpočetní výkon

Vícevrstvý perceptron je univerzální funkce aproximátor, o čemž svědčí univerzální aproximace teorém . Důkaz však není konstruktivní, pokud jde o počet požadovaných neuronů, topologii sítě, váhy a parametry učení.

Specifická opakující se architektura s racionálně váženými váhami (na rozdíl od plně přesných skutečných čísel hodnotených hmotností) má sílu univerzálního Turingova stroje využívající konečný počet neuronů a standardní lineární spojení. Dále použití iracionálních hodnot pro hmotnosti vede ke stroji se super-Turingovým výkonem.

Kapacita

Vlastnost „kapacity“ modelu odpovídá jeho schopnosti modelovat jakoukoli danou funkci. Souvisí to s množstvím informací, které lze uložit v síti, a s pojmem složitosti. Komunita zná dva pojmy kapacity. Informační kapacita a dimenze VC. Informační kapacita perceptronu je intenzivně diskutována v knize sira Davida MacKaye, která shrnuje práci Thomas Cover. Kapacitu sítě standardních neuronů (nikoli konvolučních) lze odvodit pomocí čtyř pravidel, která vyplývají z chápání neuronu jako elektrického prvku . Informační kapacita zachycuje funkce, které lze v síti nastavit jako vstupní data. Druhým pojmem je dimenze VC . VC Dimension využívá principů teorie měření a zjišťuje maximální kapacitu za nejlepších možných okolností. Jedná se o daná vstupní data v konkrétní formě. Jak je uvedeno v, dimenze VC pro libovolné vstupy je poloviční informační kapacitou perceptronu. Dimenze VC pro libovolné body se někdy označuje jako kapacita paměti.

Konvergence

Modely se nemusí důsledně sbíhat na jednom řešení, za prvé proto, že v závislosti na nákladové funkci a modelu mohou existovat lokální minima. Za druhé, použitá metoda optimalizace nemusí zaručit konvergenci, když začíná daleko od místního minima. Za třetí, pro dostatečně velká data nebo parametry se některé metody stávají nepraktickými.

Konvergenční chování určitých typů architektur ANN je srozumitelnější než jiné. Když se šířka sítě přiblíží k nekonečnu, ANN je dobře popsána jejím Taylorovým rozšířením prvního řádu během tréninku, a tak dědí konvergenční chování afinních modelů . Dalším příkladem je, když jsou parametry malé, je pozorováno, že ANN často vyhovují cílovým funkcím od nízkých po vysoké frekvence. Toto chování se označuje jako spektrální zkreslení neboli frekvenční princip neurálních sítí. Tento jev je opakem chování některých dobře studovaných iterativních numerických schémat, jako je Jacobiho metoda . Bylo pozorováno, že hlubší neurální sítě jsou více zkreslené směrem k nízkofrekvenčním funkcím.

Zobecnění a statistika

Aplikace, jejichž cílem je vytvořit systém, který dobře zevšeobecňuje na neviditelné příklady, čelí možnosti nadměrného školení. K tomu dochází ve spletitých nebo příliš specifikovaných systémech, když kapacita sítě výrazně překračuje potřebné volné parametry. Dva přístupy řeší přetrénování. První je použít křížovou validaci a podobné techniky ke kontrole přítomnosti nadměrného tréninku a výběru hyperparametrů, aby se minimalizovala chyba generalizace.

Druhým je použít nějakou formu regularizace . Tento koncept se objevuje v pravděpodobnostním (bayesovském) rámci, kde lze regularizaci provést výběrem vyšší předchozí pravděpodobnosti oproti jednodušším modelům; ale také v teorii statistického učení, kde je cílem minimalizovat více než dvě veličiny: „empirické riziko“ a „strukturální riziko“, což zhruba odpovídá chybě v tréninkové sadě a předpokládané chybě v neviditelných datech v důsledku nadměrného vybavení.

Analýza spolehlivosti neurální sítě

Dohledové neuronové sítě, které používají nákladovou funkci průměrné čtvercové chyby (MSE), mohou k určení spolehlivosti trénovaného modelu použít formální statistické metody. MSE na ověřovací sadě lze použít jako odhad rozptylu. Tuto hodnotu pak lze použít k výpočtu intervalu spolehlivosti síťového výstupu za předpokladu normálního rozdělení . Takto provedená analýza spolehlivosti je statisticky platná, pokud rozdělení pravděpodobnosti výstupu zůstane stejné a síť se nezmění.

Přiřazením funkce aktivace softmax , generalizace logistické funkce , na výstupní vrstvu neuronové sítě (nebo komponentu softmax v síti založené na komponentách) pro kategorické cílové proměnné lze výstupy interpretovat jako pozdější pravděpodobnosti. To je užitečné při klasifikaci, protože poskytuje měřítko jistoty pro klasifikace.

Funkce aktivace softmax je:


Kritika

Výcvik

Běžnou kritikou neurálních sítí, zejména v robotice, je, že vyžadují příliš mnoho školení pro provoz v reálném světě. Potenciální řešení zahrnují náhodné míchání příkladů školení, pomocí algoritmu numerické optimalizace, který při změně síťových připojení po příkladu nevyžaduje příliš velké kroky, seskupování příkladů v takzvaných mini dávkách a/nebo zavedení rekurzivního algoritmu nejmenších čtverců pro CMAC .

Teorie

Zásadní námitkou je, že ANN dostatečně neodrážejí funkci neuronů. Zpětné šíření je kritickým krokem, ačkoli v biologických neurálních sítích žádný takový mechanismus neexistuje. Jak jsou informace kódovány skutečnými neurony, není známo. Snímač neurony oheň akční potenciály častěji s aktivací snímače a svalových buněk vytáhnout silněji, když jejich příslušné motorické neurony přijímat akční potenciály častěji. Kromě případu přenosu informací ze senzorového neuronu na motorický neuron není známo téměř nic z principů, jak jsou informace zpracovávány biologickými neuronovými sítěmi.

Ústředním tvrzením ANN je, že ztělesňují nové a účinné obecné zásady pro zpracování informací. Tyto zásady jsou špatně definovány. Často se tvrdí, že jsou vznikající z vlastní sítě. To umožňuje jednoduchou statistickou asociaci (základní funkci umělých neuronových sítí) popsat jako učení nebo rozpoznávání. Alexander Dewdney poznamenal, že v důsledku toho mají umělé neuronové sítě „kvalitu něco za nic, takovou, která propůjčuje zvláštní auru lenosti a zjevný nedostatek zvědavosti ohledně toho, jak dobré tyto výpočetní systémy jsou. Žádná lidská ruka (nebo mysl) zasahuje; řešení se nalézají jakoby kouzlem; a zdá se, že se nikdo ničemu nenaučil “. Jednou z reakcí na Dewdney je, že neurální sítě zvládají mnoho složitých a různorodých úkolů, od autonomně létajících letadel přes detekci podvodů s kreditními kartami až po zvládnutí hry Go .

Technologický spisovatel Roger Bridgman uvedl:

Neuronové sítě jsou například v lavici obžalovaných nejen proto, že byly vyspělé do vysokého nebe (co ne?), Ale také proto, že jste mohli vytvořit úspěšnou síť, aniž byste pochopili, jak fungovala: hromada čísel, která zachycuje její chování by bylo s největší pravděpodobností „neprůhledný, nečitelný stůl ... bezcenný jako vědecký zdroj“.

Navzdory svému důraznému prohlášení, že věda není technologie, se zdá, že Dewdney zde pranýřuje neurální sítě jako špatnou vědu, když se většina těch, kteří je vymýšlejí, snaží být dobrými inženýry. Nečitelná tabulka, kterou by užitečný stroj dokázal přečíst, by stále stála za to ji mít.

Biologické mozky používají jak mělké, tak hluboké obvody, jak uvádí anatomie mozku, a vykazují širokou škálu invariance. Weng tvrdil, že se mozek samodrátuje do značné míry podle statistik signálu, a proto sériová kaskáda nemůže zachytit všechny hlavní statistické závislosti.

Hardware

Velké a efektivní neuronové sítě vyžadují značné výpočetní prostředky. Zatímco mozek má hardware přizpůsobený úkolu zpracovávat signály pomocí grafu neuronů, simulace i zjednodušeného neuronu na von Neumannově architektuře může spotřebovat obrovské množství paměti a úložiště. Kromě toho návrhář často potřebuje přenášet signály prostřednictvím mnoha z těchto připojení a jejich přidružených neuronů - které vyžadují enormní výkon a čas CPU .

Schmidhuber poznamenal, že obnova neuronových sítí ve dvacátém prvním století je do značné míry přičítána pokroku v oblasti hardwaru: od roku 1991 do roku 2015 se výpočetní výkon, zejména dodávaný GPGPU (na GPU ), zvýšil přibližně milionkrát, což způsobilo standardní algoritmus zpětné propagace proveditelný pro tréninkové sítě, které jsou o několik vrstev hlubší než dříve. Použití akcelerátorů, jako jsou FPGA a GPU, může zkrátit dobu školení z měsíců na dny.

Neuromorfní inženýrství nebo fyzická neuronová síť řeší potíže s hardwarem přímo, a to konstruováním čipů bez von-Neumanna k přímé implementaci neuronových sítí do obvodů. Jiný typ čipu optimalizovaného pro zpracování neuronových sítí se nazývá Tensor Processing Unit nebo TPU.

Praktické protipříklady

Analýza toho, co se naučila ANN, je mnohem snazší než analýza toho, co se naučila biologická neurální síť. Kromě toho vědci zapojení do zkoumání algoritmů učení pro neuronové sítě postupně odkrývají obecné principy, které umožňují, aby byl učební stroj úspěšný. Například místní vs. nelokální učení a mělká vs. hluboká architektura.

Hybridní přístupy

Zastánci hybridních modelů (kombinujících neuronové sítě a symbolické přístupy) tvrdí, že taková směs může lépe vystihnout mechanismy lidské mysli.

Galerie

Viz také

Poznámky

Reference

Bibliografie

externí odkazy