Neurálne siete: Praktická aplikácia

V kapitole sme sa zoznámili s takýmito koncepciami ako umelá inteligencia, strojárstvo a umelé neurologické siete.

V tejto kapitole budem podrobne popísať umelý neurónový model, budem hovoriť o prístupe k sieťovému vzdelávaniu, ako aj ja opím nejaké známe typy umelých nervových sietí, ktoré budeme študovať v nasledujúcich kapitolách.

Zjednodušenie

Posledná kapitola, neustále hovorím o niektorých vážnych zjednodušení. Dôvodom zjednodušenia je, že žiadne moderné počítače môžu rýchly Simulovať takéto komplexné systémy, ako je náš mozog. Okrem toho, ako som povedal, náš mozog je naplnený rôznymi biologickými mechanizmami, ktoré nesúvisia s spracovaním informácií.

Potrebujeme model na konverziu vstupného signálu na víkend potrebujeme. Všetko ostatné sa nestará. Začneme zjednodušiť.

Biologická štruktúra → Schéma

V predchádzajúcej kapitole ste pochopili, aké ťažké sú usporiadané biologické neurologické siete a biologické neuróny. Namiesto obrazu neurónov vo forme príšer s chápadlami, poďme len kresliť diagramy.

Všeobecne povedané, existuje niekoľko spôsobov grafického obrazu nervových sietí a neurónov. Tu budeme zobrazovať umelé neuróny vo forme kruhov.

Namiesto komplexného prepojenia vstupov a výstupov budeme používať šípky označujúce smer signálu.

Tak, umelá neurónová sieť môže byť reprezentovaná ako sada kruhov (umelých neurónov) spojených so šípkami.

Elektrické signály → čísla

V skutočnej biologickej neurologickej sieti sa elektrický signál prenáša zo sieťových vstupov k výstupom. V procese prechádzajúcej neurónovej siete sa môže líšiť.

Elektrický signál bude vždy elektrický signál. Koncepčne nič nemení. Ale čo sa potom mení? Veľkosť tohto elektrického signálu sa mení (silnejší / slabší). A každá hodnota môže byť vždy vyjadrená číslom (viac / menej).

V našom modeli umelej neurónovej siete nemusíme absolútne implementovať správanie elektrického signálu, pretože to stále nebude závisieť od jeho implementácie.

Akýkoľvek čísla odosielame na sieťové vstupy, symbolizujú znaky elektrického signálu, ak by to boli. Tieto čísla sa presunú cez sieť a nejako sa zmenia. Pri výstupe zo siete získame nejaké výsledky, čo je reakcia so sieťou.

Pre pohodlie budete stále nazývať naše čísla v sieti, signály.

Synaps → Hmotnosti väzieb

Pripomeňme si obrázok z prvej kapitoly, na ktorej bola farba zobrazená medzi neurónmi - synapses. Synapses môžu zlepšiť alebo uvoľniť elektrický signál prechádzajúci pozdĺž nich.

Poďme charakterizovať každý takýto vzťah s určitým číslom nazývaným hmotnosťou tejto súvislosti. Signál prešiel cez toto spojenie sa vynásobí hmotnosťou príslušnej komunikácie.

Toto je kľúčový bod v koncepte umelých nervových sietí, budem to vysvetliť podrobnejšie. Pozrite sa na obrázok nižšie. Teraz každá čierna šípka (komunikácia) v tomto obrázku zodpovedá určitému číslu (w_i) (komunikačná hmotnosť). A keď signál prechádza podľa tejto súvislosti, jeho hodnota sa vynásobí hmotnosťou tejto súvislosti.

Na vyššie uvedenom obrázku hmotnosť nestojí za každé pripojenie len preto, že nie je miesto pre označenie. V skutočnosti, každá (i) -th pripojenie je ich vlastná (w_i \\) hmotnosťou.

Umelý neurón

Teraz ideme do úvahy vnútornej štruktúry umelého neurónu a spôsob, akým konvertuje signál prichádzajúci na jeho vstupy.

Obrázok nižšie zobrazuje kompletný model umelého neurónu.

Nebojte sa, nie je tu nič ťažké. Pozrime sa na všetko podrobne zľava doprava.

Vstupy, hmotnosť a adder

Každý neurón, vrátane umelého, by mal mať akékoľvek vstupy, cez ktoré dostáva signál. Už sme zaviedli koncepciu váh, na ktoré sa násobia signály prechádzajúce spojením. Na obrázku nad hmotnosťou je znázornená kruhmi.

Signály zadané vstupy sa vynásobia ich hmotnosťou. Prvý vstupný signál (X_1) sa vynásobí hmotnosťou (W_1) zodpovedajúcim tomuto vstupu. V dôsledku toho dostaneme (x_1w_1). A tak, aby (n) -th vchod. Výsledkom je, že na poslednom vstupe získavame (x_nw_n).

Teraz sú všetky práce prenesené do adders. Už na základe svojho mena môžete pochopiť, čo to robí. Jednoducho sumarizuje všetky vstupné signály vynásobené vhodnými váhami:

\\ [X_1W_1 + X_2W_2 + CDOTS + X_NW_N \u003d súčet limitov ^ n_ (i \u003d 1) x_iw_i \\]

Matematický odkaz

SIGMA - WIKIPEDIA

Keď potrebujete stručne zaznamenať veľký výraz pozostávajúci z množstva opakujúcich sa / podobných členov, potom sa používa znak Sigmy.

Zvážte najjednoduchšiu možnosť Write:

[Súčet limitov ^ 5_ (i \u003d 1) i \u003d 1 + 2 + 3 + 4 + 5]

Zo spodnej časti Sigma sa teda priradíme východiskovú hodnotu variabilného počítadla (I), ktorá sa zvýši, až kým nedosiahne hornú hranicu (v príklade, je 5).

Horná hranica môže byť variabilná. Uvediem príklad takéhoto prípadu.

Dovoľte nám, aby sme mali obchody. Každý obchod má svoje vlastné číslo: od 1 do \\ t (n \\). Každý obchod prináša zisk. Vezmite nejaký druh (bez ohľadu na to, čo) \\ t Zisk z nej sa rovná (P_I).

\\ [P \u003d p_1 + p_2 + cdots + p_i + cdots + p_n]

Ako možno vidieť, všetci členovia tohto množstva rovnakého typu sú. Potom môžu byť krátko zaznamenané takto:

\\ [P \u003d súčet limitov ^ n_ (i \u003d 1) p_i]

S slovami: "Súhrn ziskov všetkých obchodov, počnúc prvou a koncovou (n) -. Vo vzorci je oveľa jednoduchšie, pohodlnejšie a krajšie.

Výsledkom práce addera je číslo nazývané vážené množstvo.

Vážené množstvo(Vážená suma.) ((NET)) - súčet vstupných signálov vynásobených ich príslušných váh.

\\ [NET \u003d súčet limitov ^ n_ (i \u003d 1) x_iw_i]

Úloha ADDER je zrejmá - agreguje všetky vstupné signály (čo môže byť oveľa) na niektoré jednorazové číslo - vážené množstvo, ktoré charakterizuje signál, ktorý vstúpil do neurónu všeobecne. Ďalšie vážené množstvo môže byť reprezentované ako stupeň celkovej neurónovej excitácie.

Príklad

Ak chcete pochopiť úlohu poslednej zložky umelého neurónu - aktivačná funkcia - budem dávať analógiu.

Pozrime sa na jeden umelý neurón. Jeho úlohou je rozhodnúť, či relaxovať na mori. Aby sme to urobili, na jeho vstupoch aplikujeme rôzne údaje. Nechajte náš Neuron mať 4 vchod:

  1. Náklady na cestovanie
  2. Aké je počasie na mori
  3. Aktuálna práca s prácou
  4. Bude tam snack bar

Všetky tieto parametre budú charakterizovať 0 alebo 1. V súlade s tým, ak je počasie dobré pri mori, potom sa na tento vstup aplikujeme 1. A tak so všetkými ostatnými parametrami.

Ak má neurón štyri vstupy, musí existovať štyri hmotnostné koeficienty. V našom príklade môžu byť hmotnostné koeficienty reprezentované ako ukazovatele dôležitosti každého vstupu, ktoré majú vplyv na všeobecné riešenie neurónu. Hmotnosť vstupov bude rozdelená takto:

Je ľahké vidieť, že faktory hodnoty a počasia na mori zohrávajú veľmi veľkú úlohu (prvé dva vstupy). Pri riešení neurónu budú hrať rozhodujúcu úlohu.

Nechajte dodať nasledujúce signály na našich vstupoch Neuron:

Vznikla hmotnosť vstupov do signálov zodpovedajúcich vstupov:

Vážené množstvo pre takéto súbor vstupných signálov je 6:

\\ [NET \u003d súčet limitov ^ 4_ (i \u003d 1) x_iw_i \u003d 5 + 0 + 0 + 1 \u003d 6]

Aktivačná funkcia prichádza na scénu.

Aktivačná funkcia

Takže predložte vážené množstvo na produkte je celkom bezvýznamné. Neuron by mal nejako zvládnuť a vytvoriť adekvátny výstupný signál. Na tieto účely, ktoré používajú aktivačné funkcie.

Konvertuje vážené množstvo na číslo, ktoré je výstupom neurónu (výťažok neurónu je označený premennou (OUT)).

Pre rôzne typy umelých neurónov používajú rôzne aktivačné funkcie. Všeobecne platí, že sú označené symbolom (PHI (NET)). Určenie váženého signálu v zátvorkách znamená, že aktivačná funkcia trvá vážené množstvo ako parameter.

Aktivačná funkcia (Aktivačná funkcia.) (\\ (PHI (NET))) - funkcia prijímajúca váženú sumu ako argument. Hodnota tejto funkcie je výstup neurónu ((out)).

Funkcia jedného skoku

Najjednoduchší pohľad na aktivačné funkcie. Výťažok neurónu môže byť rovný len 0 alebo 1. Ak je vážený súčet väčší ako určitá prahová hodnota (b), potom je neurónový výťažok 1. Ak je to nižšie, potom 0.

Ako to môžem použiť? Predpokladajme, že pôjdeme do mora len vtedy, keď je vážené množstvo väčšie alebo rovné 5. Takže naša prahová hodnota je 5:

V našom príklade bolo vážené množstvo 6, čo znamená, že výstupný signál nášho neurónu je 1. Takže ideme do mora.

Avšak, ak by bolo počasie na mori zlé, rovnako ako cesta by bola veľmi drahá, ale tam by bol snack bar a situácia s prácou normálne (vstupy: 0011), potom vážené množstvo by bolo 2, \\ t A preto by bol výnos neurónu 0. Takže nie sme nikam.

Všeobecne platí, že Neuron sa pozrie na vážené množstvo a ak sa ukáže viac z jeho prahovej hodnoty, potom neurón zobrazí výstupný signál rovný 1.

Graficky sa táto aktivačná funkcia môže zobraziť nasledovne.

Na horizontálnej osi sú hodnoty váženého množstva. Na vertikálnej osi - hodnota výstupného signálu. Ako je ľahko vidieť, sú možné iba dve výstupné hodnoty: 0 alebo 1. a 0 bude vždy vydané z mínus nekonečno a až do určitej hodnoty váženej sumy nazývanej prah. Ak sa vážené množstvo rovné prahovej hodnote alebo viac, potom sa funkcia zobrazí 1. Všetko je mimoriadne jednoduché.

Teraz napíšte túto aktiváciu funkciu matematicky. Takmer ste pravdepodobne stretli s takýmto konceptom ako kompozitnou funkciou. Toto je, keď kombinujeme niekoľko pravidiel podľa jednej funkcie, pre ktorú sa vypočíta jeho hodnota. Vo forme kompozitnej funkcie bude funkcia jedného skoku vyzerať takto:

[OUT (NET) \u003d Začiatok (prípady) 0, sieť< b \\ 1, net \geq b \end{cases} \]

V tomto zázname nie je nič komplikované. Výstup neurónu ((out)) závisí od vyváženého množstva ((čistá)) nasledovne: ak (čistá) (vážená suma) je menšia ako nejaká prahová hodnota ((b \\ t) ), Potom (out) (neurónový výťažok) je 0. a ak je (čistá) je väčšia alebo rovná prahovému hodnoteniu (B), potom (out) sa rovná 1.

Sigmoidná funkcia

V skutočnosti existuje celá rodina sigmoidných funkcií, z ktorých niektoré sa používajú ako aktivačná funkcia v umelých neurónoch.

Všetky tieto funkcie majú niektoré veľmi užitočné vlastnosti, pre ktoré sa používajú v neurónových sieťach. Tieto vlastnosti budú zrejmé po uvidí grafy týchto funkcií.

Takže ... najčastejšie používané v neurónových sieťach Sigmoid - funkcia logistiky.

Plán tejto funkcie vyzerá dostatočne jednoducho. Ak sa pozorne pozeráte, môžete vidieť určitú podobnosť anglického písmena (S \\-, od miesta, kde prišiel názov rodiny týchto funkcií.

Ale je to napísané analyticky:

[OUT (NET) \u003d FAC (1) (1+ EXP (-A NET))]

Aký je parameter (A)? Toto je niektoré číslo, ktoré charakterizuje stupeň strmosti funkcie. Nižšie sú logistické funkcie s iným parametrom (A).

Pripomeňme si náš umelý neurón definujúci, či je potrebné ísť do mora. V prípade vlastnosti jedného skoku bolo všetko zrejmé. Buď ideme do mora (1) alebo nie (0).

Tu je ten prípad viac blízko reality. Sme úplne istí (najmä ak ste paranoidný) - stojí za to ísť? Potom použitie logistickej funkcie ako aktivačná funkcia bude mať za následok, že dostanete číslicu medzi 0 a 1. a pozastavenej sumy, tým bližšie bude výstup 1 (ale nikdy sa to nebude rovnať) . A naopak, tým menšie vážené množstvo, tým bližšie je výťažok neurónu 0.

Napríklad výnos nášho neurónu je 0,8. To znamená, že verí, že stále stojí za to ísť do mora. Ak by jeho výstup bola rovná 0,2, potom to znamená, že je takmer určite proti ceste do mora.

Aké nádherné vlastnosti majú logistickú funkciu?

  • je to "kompresívna" funkcia, to znamená, že bez ohľadu na argument (pozastavený sumu) sa výstup bude vždy pohybovať od 0 do 1.
  • je to pružnejšie ako funkcia jedného skoku - jeho výsledok môže byť nielen 0 a 1, ale aj akékoľvek číslo medzi nimi
  • vo všetkých bodoch má derivát a tento derivát môže byť vyjadrený rovnakou funkciou

Je to preto, že tieto vlastnosti, ktoré je logistická funkcia najčastejšie používaná ako aktivačná funkcia v umelých neurónoch.

Hyperbolický tangent

Existuje však ďalší sigmoid - hyperbolický tangent. Používa sa ako funkcia aktivácie biológmi pre realistickejší model nervovej bunky.

Táto funkcia vám umožňuje získať hodnotu rôznych značiek na výstup (napríklad od -1 do 1), ktorý môže byť užitočný pre rad sietí.

Funkcia je napísaná takto:

[OUT (NET) \u003d TANH Vľavo (frac (netto) (a) vpravo)]

V tomto vzore, parameter (A) tiež určuje stupeň strmosti grafu tejto funkcie.

Ale vyzerá to ako graf tejto funkcie.

Ako vidíte, je to podobné grafu logistickej funkcie. Hyperbolický Tangent má všetky užitočné vlastnosti, ktoré majú logistickú funkciu.

Čo vieme?

Teraz ste dostali úplný obraz vnútornej štruktúry umelého neurónu. Dám opäť stručný popis jeho práce.

Neron má vstupy. Sú odosielané signály vo forme čísel. Každý vstup má svoju vlastnú hmotnosť (tiež číslo). Vstupné signály sa vynásobia vhodnými váhami. Dostaneme sadu "vážených" vstupných signálov.

Potom sa konvertuje vážené množstvo aktivačná funkcia A dostaneme sa naibrovaný výstup.

Teraz formulujeme najkratší popis neurónovej práce - jeho matematický model:

Matematický model umelého neurónu C (n \\) vstupov:

kde
\\ (PHI \\) - aktivačná funkcia
(Súčet ^ n_ (i \u003d 1) x_iw_i)- vážené množstvo, ako súčet (n) prác vstupných signálov na zodpovedajúce závažia.

Typy ins

Rozhodli sme sa so štruktúrou umelého neurónu. Umelé neurónové siete sa skladajú zo súboru umelých neurónov. Existuje logická otázka - a ako mať / spojiť tieto umelé neuróny?

Vo väčšine nervových sietí je spravidla tzv prívodná vrstvaktorý vykonáva iba jednu úlohu - distribúciu vstupných signálov do zvyšku neurónov. Neuróny tejto vrstvy nevytvárajú žiadne výpočty.

Jednovvrstvové nervové siete

V jednovrstvových nervových sieťach sa signály zo vstupnej vrstvy okamžite privádzajú na výstupnej vrstve. Vytvára potrebné výpočty, ktorých výsledky sa okamžite predkladajú na výstupy.

Existuje jednovrstvová neurónová sieť takto:

Na tomto obrázku je vstupná vrstva označená kruhmi (nie je započítaná za vrstvou nervovej siete) a na pravej strane je vrstva obyčajných neurónov.

Neuróny sú pripojené k navzájom šípky. Nad šípkami sú hmotnosti zodpovedajúcich väzieb (hmotnostné koeficienty).

Jednovvrstvová neurónová sieť (Jednovvrstvová neurónová sieť) - sieť, v ktorej sa signály zo vstupnej vrstvy okamžite privádzajú na výstupnej vrstve, ktorá konvertuje signál a okamžite zobrazí odpoveď.

Viacvrstvové neurónové siete

Takéto siete, okrem vstupných a výstupných vrstiev neurónov, sú tiež charakterizované skrytou vrstvou (vrstiev). Na pochopenie ich umiestnenia je jednoduché - tieto vrstvy sú medzi vstupnými a výstupnými vrstvami.

Takáto štruktúra nervových sietí skopíruje viacvrstvovú štruktúru určitých mozgových oddelení.

Názov skrytej vrstvy nemá náhoda. Faktom je, že len relatívne nedávno vyvinuté metódy pre vyučovanie neurónov skrytej vrstvy. Predtým boli len jednosmerné neurónové siete.

Viacvrstvové neurónové siete majú oveľa väčšie možnosti ako jednovrstvová.

Práca skrytých vrstiev neurónov možno porovnať s prácou veľkej rastliny. Produkt (výstup) v továrni je zostavený v etapách. Po každom počítači sa získa určitý medziprodukt. Skryté vrstvy tiež konvertujú vstupné signály do niektorých medziproduktov.

Multilayer Neural Network (Multilayer Neural Network.) - Neurónová sieť pozostávajúca z vstupu, výstupu a umiestnenia medzi nimi jedného (niekoľkých) skrytých vrstiev neurónov.

Priama distribučná sieť

V príkladoch vyššie môžete vidieť jednu veľmi zaujímavú položku v neurónových sieťach.

Vo všetkých príkladoch, šípky striktne odchádzajú zľava doprava, to znamená, že signál v takýchto sieťach je striktne zo vstupnej vrstvy k výstupu.

Priama distribučná sieť (Spojovacia neurónová sieť.) (Sieťová sieť) - umelé neurónové siete, v ktorých sa signál propaguje prísne zo vstupnej vrstvy k výstupu. V opačnom smere sa signál neplatí.

Takéto siete sú široko používané a pomerne úspešne vyriešiť určitú triedu úloh: Predpoveď, klastrovanie a uznanie.

Nikto však nezakazuje signál ísť v opačnom smere.

Siete so spätnou väzbou

V sieťach tohto typu môže signál ísť v opačnom smere. Aká je výhoda?

Faktom je, že v priamych distribučných sieťach je výstup siete určený vstupným signálom a hmotnostnými koeficientmi v umelých neurónoch.

A v spätých väzbových sieťach sa neuróny môžu vrátiť do vstupov. To znamená, že výstup niektorého neurónu je určený nielen svojou hmotnosťou a vstupným signálom, ale aj predchádzajúcimi výstupmi (keď sa opäť vrátili k vstupom).

Schopnosť obiehať v sieti otvára nové, úžasné vlastnosti nervových sietí. Pomocou takýchto sietí môžete vytvoriť neurónové siete obnovenia alebo komplementárne signály. Inými slovami, takéto neurónové siete majú krátkodobé vlastnosti pamäte (ako osoba).

Siete so spätnou väzbou (Opakovaná neurónová sieť.) - Umelé neurónové siete, v ktorých môže byť výstup neurónu znovu privedený na jeho vstup. Vo všeobecnejšom prípade to znamená schopnosť distribuovať signál z výstupov na vstupy.

Školenia Neural Network

Pozrime sa teraz na otázku učenia neurónovej siete. Čo to je? A ako sa to stane?

Čo je školenie siete?

Umelá neurónová sieť je kombináciou umelých neurónov. Teraz si vezmeme, napríklad 100 neurónov a spojte ich navzájom. Je zrejmé, že keď sa signál predloží vstup do vchodu, dostaneme na výstupe niečo nezmyselné.

Takže potrebujeme zmeniť niektoré parametre siete, kým sa vstupný signál nebude premenený na víkend potrebujeme.

Čo sa môžeme zmeniť v neuróne?

Zmeniť celkové množstvo umelých neurónov je zvotní z dvoch dôvodov. Po prvé, zvýšenie počtu výpočtových prvkov ako celku len robí systém ťažký a nadbytočný. Po druhé, ak zbierate 1000 bláznov namiesto 100, potom nebudú môcť odpovedať na otázku správne.

Adder sa nedá zmeniť, pretože vykonáva jednu pevne zadanú funkciu - nahnutie. Ak ho nahradíme niečím alebo úplne odstrániť, nebude to vôbec umelý neurón.

Ak zmeníte aktivačné funkcie z každého neurónu, potom dostaneme príliš veľa a nekontrolovanej neurónovej siete. Okrem toho vo väčšine prípadov neuróny v nervových sieťach rovnakého typu. To znamená, že všetci majú rovnakú aktivačné funkcie.

Zostáva len jedna možnosť - zmeňte hmotnosti pripojení.

Školenia Neural Network (Školenia) - Vyhľadajte takú množinu koeficientov hmotnosti, v ktorom je vstupný signál po prechode cez sieť premenený na víkend potrebujeme.

Tento prístup k pojmu "učenie neurónovej siete" zodpovedá obom biologickým neurologickým sieťam. Náš mozog sa skladá z obrovského množstva neurónovej siete spojenej s ostatnými. Každý z nich pozostáva z neurónov rovnakého typu (aktivačná funkcia je rovnaká). Sme vyškolení zmenou synapses - prvky, ktoré sú zvýšené / oslabiť vstupný signál.

Existuje však ďalší dôležitý bod. Ak učíte sieť pomocou iba jedného vstupného signálu, sieť jednoducho "si bude pamätať správnu odpoveď." Zo stranej strany sa zdalo, že je veľmi rýchlo "naučená". A hneď ako kŕmte mierne upravený signál, čakám na správnu odpoveď, sieť vydá nezmysel.

V skutočnosti, prečo potrebujeme sieť, ktorá definuje tvár len v jednej fotografii. Čakáme na sieťovú sieť zovšeobecniť Niektoré príznaky a uznanie osôb a aj na iných fotografiách.

Na tento účel sa vytvorí vzdelávacie vzorky.

Vzdelávacia vzorka (Školenia.) - Konečný súbor vstupných signálov (niekedy spolu so správnymi výstupnými signálmi), na ktorom je škola vyškolená.

Po učení sa siete, to znamená, že keď sieť poskytuje správne výsledky pre všetky vstupné signály z výcvikovej vzorky, môže sa použiť v praxi.

Avšak, predtým, než nechať čerstvo pečeného neurlallet do bitky, často vytvára hodnotenie svojej kvality práce na tzv. skúšobná vzorka.

Skúšobná vzorka (Testovacia súprava.) - konečný súbor vstupných signálov (niekedy spolu so správnymi výstupnými signálmi), podľa ktorého sa vyhodnotí kvalita siete.

Rozumeli sme, čo "sieťový tréning" je výber správnej sady váh. Teraz vzniká otázka - ako môžem vyškoliť sieť? V najobecnejšom prípade existujú dva prístupy, ktoré vedú k rôznym výsledkom: školenia s učiteľom a školením bez učiteľa.

Školenie s učiteľom

Podstatou tohto prístupu je, že dáte signál na vstup, pozrite sa na sieťovú odozvu a potom ho porovnať s už pripravenou správnou odpoveďou.

Dôležitý moment. Nezamieňajte správne odpovede a známe riešenia algoritmus! Môžete zakryť prst na fotografiu (správnu odpoveď), ale nemôžete povedať, ako to bolo vykonané (známy algoritmus). Tu je rovnaká situácia.

Potom, s pomocou špeciálnych algoritmov zmeníte hmotnosť odkazov neurónovej siete a znova ho udám vstupný signál. Porovnajte svoju odpoveď s pravým a opakujte tento proces, kým sieť nezačne reagovať s prijateľnou presnosťou (ako som povedal v 1 kapitole, jedinečne presné odpovede nemôžu poskytnúť sieť).

Školenie s učiteľom (Uvedenie dohľadu) - Typ sieťového tréningu, v ktorom sa jeho váha zmenia, aby sa sieťové reakcie boli minimálne odlišné od už hotových odpovedí.

Kde získať správne odpovede?

Ak chceme, aby sieť rozpoznala tváre, môžeme vytvoriť učebnú vzorku na 1000 fotografiách (vstupné signály) a nezávisle prideliť jednotlivcov na ňom (správne odpovede).

Ak chceme, aby sieť predpovedala rast / pokles cien, potom sa výbor školenia musí vykonať na základe minulých údajov. Môžete užívať určité dni, všeobecný stav trhu a iné parametre ako vstupné signály. A ako správne odpovede - rast a pokles cien v tých dňoch.

Stojí za zmienku, že učiteľ, samozrejme, nie je nevyhnutne osoba. Faktom je, že niekedy sieť musí trénovať hodiny a dni, takže tisíce a desiatky tisíc pokusov. V 99% prípadov táto úloha vykonáva počítač, alebo skôr špeciálny počítačový program.

Školenia bez učiteľa

Vzdelávanie bez učiteľa sa používa, keď nemáme správne odpovede na vstupné signály. V tomto prípade sa celý výskum vzdelávania skladá zo súboru vstupných signálov.

Čo sa deje s takýmto sieťovým tréningom? Ukazuje sa, že s takýmto "učením" sa sieť začína prideliť triedy signálov predložených vstupu. Stručne povedané, sieť spustí klastra.

Napríklad demonštujete cukríkové siete, koláče a koláče. Netlačíte sieť. Jednoducho odosielate údaje o tomto objekte na jeho vstupoch. Postupom času začne sieť signály troch rôznych typov, ktoré sú zodpovedné za vstupné objekty.

Školenia bez učiteľa (Učenie bez dozoru) - Typ sieťového tréningu, v ktorom sieť nezávisle klasifikuje vstupné signály. Vpravo (referenčné) výstupné signály nie sú preukázané.

závery

V tejto kapitole ste sa naučili všetko o štruktúre umelého neurónu a tiež dostal kompletný obraz o tom, ako to funguje (a o jeho matematickom modeli).

Okrem toho teraz viete o rôznych typoch umelých neurónových sietí: jednoprotrvajúce, viacvrstvové, rovnako ako informačné siete a siete so spätnou väzbou.

Tiež ste sa zoznámili s tým, čo je školenie siete s učiteľom a bez učiteľa.

Už poznáte potrebnú teóriu. Následné kapitoly - zváženie špecifických typov nervových sietí, špecifické algoritmy pre ich odbornú prípravu a programovanie.

Otázky a ciele

Materiál tejto kapitoly by mal byť veľmi dobre známy, pretože obsahuje hlavné teoretické informácie o umelých nervových sieťach. Uistite sa, že ste dosiahli presvedčené a správne odpovede na všetky nižšie uvedené otázky a úlohy.

Popíšte zjednodušenie v porovnaní s biologickými neurónovými sieťami.

1. Komplexná a mätúca štruktúra biologických neurónových sietí je zjednodušená a prezentovaná vo forme schém. Zostane len model spracovania signálu.

2. Povaha elektrických signálov v neurónových sieťach je rovnaká. Rozdiel je len v ich veľkosti. Odstraňujeme elektrické signály, a namiesto toho používame čísla, ktoré označujú hodnotu podstupujúceho signálu.

Aktivačná funkcia je často označená (PHI (NET)).

Zapíšte si matematický model umelého neurónu.

Umelé neuron c (n) vstupy prevádza vstupný signál (číslo) na výstupný signál (číslo) nasledovne:

[OUT \u003d PHI LEFTION (\\ SMIRÍTKY ^ N_ (I \u003d 1) X_IW_I PRAVIČENÉ)]

Aký je rozdiel medzi jednovrstvovými a viacvrstvovými neurónovými sieťami?

Jednovvrstvové neurónové siete sa skladajú z jednej výpočtovej vrstvy neurónov. Vstupná vrstva sa okamžite vzťahuje signály na výstupnej vrstve, ktorá konvertuje signál a okamžite vydáva výsledok.

Multilayer Neural Networks, okrem vstupných a výstupných vrstiev, majú tiež skryté vrstvy. Tieto skryté vrstvy trávia niektoré vnútorné medziprodukty, ako napríklad výrobné fázy v továrni.

Aký je rozdiel v informačných sieťach zo sietí spätnej väzby?

Priame distribučné siete (Sieťová sieť) umožňujú priechod signálu len v jednom smere - zo vstupov do výstupov. Siete so spätnými väzbami týchto obmedzení nemajú, a výstupy Neuron môžu byť znovu podávané na vstupy.

Čo je to školenie? Aký je jeho význam?

Pred použitím siete v praxi (napríklad na riešenie aktuálnych úloh, odpovede, na ktoré nemáte), musíte zbierať zbierku úloh s hotovými odpoveďami, na ktorých je sieť vyškolená. Táto kolekcia sa nazýva školenie vzorky.

Ak zbierate príliš malý súbor vstupných a výstupných signálov, sieť jednoducho pamätá na odpovede a účel učenia sa nedosiahne.

Čo rozumiete v rámci sieťového tréningu?

Pod školením siete sa proces meniacich sa váhových koeficientov umelých neurónov siete rozumie, aby sa vyzdvihli ich kombináciu, ktorá konvertuje vstupný signál na správny výstup.

Čo je školenie s učiteľom a bez neho?

Pri výučbe siete s učiteľom sú signály vstupov a potom porovnať svoj výstup s vopred určeným správnym výstupom. Tento proces sa opakuje, kým sa nedosiahne požadovaná presnosť odpovedí.

Ak siete slúžia iba vstupným signálom, bez toho, aby ich porovnávali s hotovými výstupmi, sieť začína nezávislú klasifikáciu týchto vstupných signálov. Inými slovami, vykonáva kontrolné vstupné signály. Takéto školenie sa nazýva učenie bez učiteľa.

NEURÁLNE SIETE Umelé, viacvrstvové vysoké paralelné (t.j. s veľkým počtom, nezávisle paralelnými pracovnými prvkami) Logické štruktúry zložené z formálnych neurónov. Začiatok teórie nervových sietí a neuropočítač Dajte prácu amerických neurofyziológov W. MAC CALLOCA A W. PITTS "Logický výpočet myšlienok týkajúcich sa nervovej aktivity" (1943), v ktorom navrhli matematický model biologického neurónu. Medzi zásadnou prácou by mal byť pridelený modelom D. Habba, ktorý v roku 1949 navrhol právo odbornej prípravy, ktorý bol východiskovým bodom pre algoritmy pre učenie umelých neurónových sietí. O ďalšom rozvoji teórie neurónovej siete, monografia amerického neurofyziológa F. Rosenblatt "Princípy neurodynamiky", v ktorom podrobne opísal systém Perceptron (zariadenie, ktoré simuluje proces informačného vnímania ľudským mozgom ). Jeho nápady boli vyvinuté vo vedeckých prácach mnohých autorov. V rokoch 1985-86 Teória nervových sietí získala "technologický impulz", spôsobený možnosťou modelovania neurónových sietí na dostupnom a vysoko výkonnom prístupnom a vysoko výkonnom osobné počítače . Teória nervovej siete sa naďalej aktívne rozvíja na začiatku 21. storočia. Podľa odborníkov sa v blízkej budúcnosti očakáva významný technologický rast v dizajne nervových sietí a neurocompočítačov. V posledných rokoch už bolo otvorených mnohých nových funkcií nervových sietí a práca v tejto oblasti významne prispieva k priemyslu, vede a technike, majú veľký hospodársky význam.

Hlavné smerovanie používania neurónových sietí

Potenciálne aplikácie umelých nervových sietí sú tie, kde je ľudská inteligencia neefektívne a tradičné hardvérové \u200b\u200bvýpočty alebo sú fyzicky nedostatočné (t.j., neodrážajú alebo nedostatočne odrážajú skutočné fyzikálne procesy a objekty). Relevantnosť používania neurónových sietí (t.j. neurocomputers) sa zvyšuje mnohokrát, keď sa objaví potreba vyriešiť chudobné formalizované úlohyh. Základné oblasti používania neurónových sietí: Automatizácia procesu klasifikácie, automatizácia predikcie, automatizácia procesu uznávania, automatizácia rozhodovacieho procesu; riadenie, kódovanie a dekódovanie informácií; Aproximácia závislostí atď.

Pomocou neurónových sietí sa úspešne vyrieši dôležitá úloha v poli. telekomunikácie - Návrh a optimalizácia komunikačných sietí (nájsť optimálnu cestu medzi uzlami). Okrem riadiaceho prietoku sa používajú neurónové siete na získanie efektívnych riešení v dizajne nových telekomunikačných sietí.

Rozpoznávanie reči - jedna z najobľúbenejších oblastí nervových sietí.

Ďalšia oblasť - cena a výroba (Straty z neoptimálneho plánovania výroby sú často podceňované). Keďže dopyt a podmienky pre predaj výrobkov závisia od času, sezóny, menových sadzieb a mnohých ďalších faktorov, objem výroby by mal byť flexibilne rôzny na účely optimálneho využívania zdrojov (systém neurálnej siete detekuje komplexné závislosti medzi reklamou Náklady, objemy predaja, cena, konkurenti ceny, deň v týždni, sezóna atď.). V dôsledku použitia systému je optimálna stratégia výroby vybraná z hľadiska maximalizácie predaja alebo ziskov.

Pre analýza spotrebiteľského trhu (Marketing) Ak bežné (klasické) metódy predpovedania odozvy spotrebiteľov nemusia byť dostatočne presné, prediktívny systém neurónovej siete sa používa s adaptívnou architektúrou neurátora.

Dopyt výskumu Umožňuje vám zachovať obchod spoločnosti v kontexte súťaže, t.j. udržiavať neustály kontakt so spotrebiteľmi prostredníctvom "spätnej väzby". Veľké spoločnosti vykonávajú spotrebiteľské prieskumy, aby zistili, ktoré faktory sú rozhodujúce pre nich pri nákupe tohto produktu alebo služby, prečo sa v niektorých prípadoch udeľuje preferencia konkurentom a ktorému spotrebiteľ tovaru by chcel vidieť v budúcnosti. Analýza výsledkov takéhoto prieskumu je pomerne zložitá úloha, pretože existuje veľký počet korelovaných parametrov. Systém neurónového sieťového systému vám umožňuje identifikovať komplexné závislosti medzi faktormi dopytu, predpovedať správanie spotrebiteľov pri meniacich sa marketingových politík, nájsť najvýznamnejšie faktory a optimálne reklamné stratégie, ako aj načrtnúť segment spotrebiteľov, najsľubnejší pre tento produkt .

V lekárska diagnostika Neurálne siete sa používajú napríklad na diagnostikovanie sluchu u dojčiat. Objektívny diagnostický systém spracováva registrované "spôsobené potenciály" (reakcie mozgu), ktoré sa prejavili vo forme prasknutí na elektroencefalogram, v reakcii na zvukový stimul, syntetizovaný počas procesu prieskumu. Zvyčajne sa na dôvernú diagnózu sluchu dieťaťa, musí byť skúsený expertný audiológ držať až do 2000 testov, čo trvá asi hodinu. Systém založený na neurónovej sieti je schopný určiť úroveň vypočutia na 200 pripomienkach v priebehu niekoľkých minút a bez účasti kvalifikovaných pracovníkov.

Neurónové siete sa vzťahujú aj na prognózovanie krátkodobé a dlhodobé trendy V rôznych oblastiach (finančné, ekonomické, bankovníctvo atď.).

Štruktúra nervových sietí

Nervový systém a ľudský mozog pozostávajú z neurónov spojených nervovými vláknami. Nervové vlákna sú schopné prenášať elektrické impulzy medzi neurónmi. Všetky procesy vysielania podráždenia z našej pokožky, uší a očí do mozgu, procesy myslenia a kontrolných činností - to všetko je implementované v živom organizme ako prenos elektrických impulzov medzi neurónmi.

Biologický neurón(Cell) má jadro (jadro), ako aj procesy nervových vlákien dvoch typov (obr. 1) - dendritov (dendritov), \u200b\u200bpre ktoré sú impulzy akceptované (nesie signály v) a jediný Axon (Axon) , v ktorom môže neurón vysielať impulz (nesie signály preč). Akson kontakty Dendrites iných neurónov prostredníctvom špeciálneho vzdelávania - synapses (synapses), ktoré ovplyvňujú výkon prenášaného impulzu. Štruktúra pozostávajúca z populácie veľkého počtu takýchto neurónov bol názov biologickej (alebo prírodnej) neurónovej siete.

Vzhľad formálny neurón z veľkej časti kvôli štúdiu biologických neurónov. Formálny neurón (ďalej len neurón) je základom akejkoľvek umelej neurologickej siete. Neuróny sú relatívne jednoduché, jednoé-typy prvky, ktoré napodobňujú prevádzku neurónov mozgu. Každý neurón je charakterizovaný svojím súčasným stavom analogicky s bunkami nervov mozgu, ktoré môžu byť nadšené a injekčne. Umelý neuror, ako aj jeho prirodzený prototyp, má skupinu synapsu (vstupov), ktoré sú spojené s výstupmi iných neurónov, ako aj Axon - výstupné pripojenie tohto neurónu, odkiaľ signál excitácie alebo brzdenia príde na synapsy iných neurónov.

Formálny Neuron je logický prvok s $ n $ vstupov, ($ n + 1 $) podľa hmotnosti koeficientov, adder a nelineárny konvertor. Najjednoduchší formálný neurón, ktorý vykonáva logickú transformáciu $ Y \u003d text (znak) sum_ (i \u003d 0) ^ (n) a_ix_i $ Vstupné signály (ktoré sú napr. Výstupné signály druhých. Formálne neuróny N. s.) Vo výstupnom signáli, znázornenom na obr. jeden.

Tu $ y $ je hodnota produkcie formálneho neurónu; $ A_I $ - Hmotnosť koeficienty; $ x_i $ - vstupné hodnoty formálneho neurónu ($ x_i∈ľa (0,1 pravý), \\ t X_0 \u003d 1 $). Proces výpočtu výstupnej hodnoty formálneho neurónu je tok dátového prúdu a ich konverzie. Po prvé, údaje sa prenášajú do formálnej neurónovej vstupnej jednotky, kde počiatočné údaje sa vynásobia zodpovedajúce koeficienty hmotnosti atď. N. Synoptické váhy (v súlade s synapsmi biologických neurónov). Hmotnostný koeficient je opatrenie, ktoré určuje, koľko zodpovedajúca vstupná hodnota ovplyvňuje stav formálneho neurónu. Hmotnostné koeficienty sa môžu líšiť v súlade s príkladmi odbornej prípravy, N. Architecture, Pravidlá učenia atď. Získané hodnoty sa prevedú na addér na jednu číselnú hodnotu $ g (podľa sústava). Potom určiť výstup formálneho neurónu v bloku nelineárnej konverzie (implementácia prevodového pomeru) $ g $ v porovnaní s niektorým číslom (prah). Ak je suma väčšia ako prahová hodnota, formálny neurón generuje signál, inak bude signál nulový alebo brzdenie. V tomto formálnom neuróne sa aplikuje nelineárna konverzia $$ text (znak) (g) \u003d začiatočníci (prípady) 0, \\ t G.< 0 \\ 1,\; g ⩾ 0 \end{cases},\quad \text{где}\,\,g = \sum_{i=0}^N a_i x_i.$$

Výber štruktúry neurónovej siete sa vykonáva v súlade s charakteristikami a zložitosťou úlohy. Teoreticky, počet vrstiev a počet neurónov v každej vrstve neurónovej siete môže byť ľubovoľná, ale v skutočnosti je obmedzená počítačovými zdrojmi alebo špecializovaným čipom, ktorý je zvyčajne implementovaný neurónovými sieťami. V tomto prípade, ak je funkcia jedného skoku použitá ako aktivačná funkcia pre všetky neuróny siete, neurónová sieť sa nazýva multilayer Pershepponom.

Na obr. 3 znázorňuje všeobecnú schému viacvrstvovej nervovej siete s následnými väzbami. Vysoká rovnobežnosť liečby sa dosiahne kombináciou veľkého počtu formálnych neurónov do vrstiev a zlúčenín určitým spôsobom rôznych neurónov medzi sebou.

Vo všeobecnom prípade môžu byť do tejto štruktúry zavedené zosieťovacie a spätné väzby s prispôsobiteľnými koeficientmi hmotnosti (obr. 4).

Neurónové siete sú komplexné nelineárne systémy s obrovským počtom stupňov slobody. Princíp, ktorým spracúvajú informácie, sa líši od princípu používanej v počítačoch na základe procesorov s architektúrou na pozadí-neumanov - s logickým základom a alebo nie (pozri J. pozadie Neum, Výpočtový stroj). Namiesto klasického programovania (ako v tradičných počítačových systémoch) sa používa výcvik neurónovej siete, ktorý sa spravidla zníži na nastavenie hmotnostných koeficientov na optimalizáciu špecifikovaného kritéria pre kvalitu fungovania neurónovej siete.

Algoritmy neurónových sietí

Algoritmus neurónovej siete na riešenie problémov sa nazýva výpočtový postup, plne alebo z väčšej časti implementovanej vo forme nervovej siete konkrétnej štruktúry (napríklad viacvrstvová neurónová sieť s postupnými alebo krížovými väzbami medzi vrstvami formálnych neurónov ) S zodpovedajúcim algoritmom váhových koeficientov. Základom pre rozvoj algoritmu neurónovej siete je systematickým prístupom, v ktorom je proces riešenia problému reprezentovaný ako fungovanie v čase určitého dynamického systému. Ak ho chcete postaviť, je potrebné určiť: objekt pôsobiaci ako vstupný signál neurónovej siete; Objekt pôsobiaci ako výstupný signál nervovej siete (napríklad priamo roztok alebo niektoré z jeho charakteristiky); požadovaný (povinný) výstupný signál neurónovej siete; Štruktúra nervovej siete (počet vrstiev, prepojení medzi vrstvami, objektmi, ktoré slúžia ako koeficienty hmotnosti); Funkcia chýb systému (charakterizácia odchýlky požadovaného výstupného signálu neurónovej siete zo skutočného výstupného signálu); Kritérium pre kvalitu systému a funkčnosť jeho optimalizácie v závislosti od chyby; Hodnota koeficientov hmotnosti (napríklad určená analyticky priamo z nastavenia problému, pomocou niektorých numerických metód alebo postupov na nastavenie váhových koeficientov neurónovej siete).

Počet a typ formálnych neurónov vo vrstvách, ako aj počet vrstiev neurónov sú vybrané na základe špecifík úloh a požadovanej kvality riešenia. Neurónová sieť v procese nastavenia na riešenie konkrétneho problému sa považuje za multidimenzionálny nelineárny systém, ktorý v iteračnom režime zámerne vyhľadáva optimálnu niektorých funkčných, kvantifikácia kvality riešenia úlohy. Pre neurónové siete, ako multidimenzionálne nelineárne kontrolné predmety, algoritmy na nastavenie množiny hmotnostných koeficientov sú vytvorené. Hlavné štádiá štúdie neurónovej siete a konštrukcia algoritmov nastavenia (prispôsobenie) ich hmotnostných koeficientov zahŕňajú: štúdium charakteristík vstupného signálu pre rôzne režimy neurónovej siete (vstupný signál neurónovej siete je, Spravidla vstupné informácie a označenie tzv. "Učiteľ I" neurónovej siete); Voľba optimalizačných kritérií (s pravdepodobnostným modelom vonkajšieho sveta, môžu byť takéto kritériá minimalizovať priemernú funkciu rizík, maximum posteriori pravdepodobnosti, najmä s obmedzeniami jednotlivých zložiek priemernej funkcie rizík); Vývoj algoritmu pre nájdenie extrémnych optimalizačných funkcií (napríklad na implementáciu vyhľadávacích algoritmov pre miestne a globálne extrémy); konštrukčné algoritmy na prispôsobenie koeficientov neurónovej siete; Analýza spoľahlivosti a spôsobov diagnostiky neurónovej siete atď.

Treba poznamenať, že zavedenie spätnej väzby a v dôsledku toho vývoj algoritmov na stanovenie svojich koeficientov v rokoch 1960-80 mal čisto teoretický význam, pretože na takéto štruktúry neexistovali žiadne praktické úlohy. Len na konci osemdesiatych rokov - začiatkom 90. rokov sa začali objavovať takéto problémy a najjednoduchšie štruktúry s prispôsobiteľnou spätnou väzbou na ich riešenie (tzv. Opakované neurónové siete). Vývojári v oblasti technológií neurónových sietí sa zaoberali nielen vytváraním algoritmov na zriadenie viacvrstvových neurónových sietí a neurónových sietí algoritmov na riešenie rôznych úloh, ale aj najúčinnejších (pri súčasnom vývoji elektronických technológií) hardvérových emulátorov (špeciálne programy, ktoré sú Zamýšľal začať jeden systém v škrupine inej) algoritmy nervovej siete. V šesťdesiatych rokoch minulého storočia, pred vystúpením mikroprocesora, najúčinnejších emulátoroch neuroprávnych sietí mali analógovú implementáciu otvorených neurónových sietí s rozvinutými konfiguračnými algoritmami na univerzálnych počítačoch (niekedy systémy na adaptívnych prvkoch s analógou pamäťou). Takáto úroveň vývoja elektroniky bola relevantná pre zavedenie krížových dlhopisov v štruktúre nervových sietí. To viedlo k výraznému poklesu počtu neurónov v neurónovej sieti pri zachovaní kvality riešenia problému (napríklad diskriminačným schopnostiam pri riešení úloh rozpoznávania obrázkov). Štúdie 1960-70 v oblasti optimalizácie štruktúr neurónových sietí s krížovými dlhopismi určite nájdu rozvoj v implementácii memristor Neural Systems [MEMRISTOR (MEMRISTOR, z pamäte - pamäť a rezistor - elektrický odpor), pasívny prvok v mikroelektronike, schopný meniť jeho odporu v závislosti od náboja, ktorý prechádza cez neho], pričom zohľadní ich špecifiká v časti analógovo-to-digitálne Spracovanie informácií a veľmi významné množstvo prispôsobiteľných koeficientov. Osobitné požiadavky na uplatňovanie úloh boli určené niektorými vlastnosťami štruktúr neurónových sietí pomocou algoritmov nastavenia: kontinua (z Lat. Kontinuum je kontinuálny, pevný) počet tried, keď pokyny "učiteľa" systému je vytvorená ako nepretržitá funkčná hodnota v určitom rozsahu zmeny; Kontinuálne riešenia viacvrstvovej nervovej siete generovanej voľbou pokračujúcej funkcie aktivácie neurónu poslednej vrstvy; Kontinuum počtu vlastností generovaných prechodom v charakteristickom priestore z reprezentácie výstupného signálu vo forme $ n $-dimenzionálneho vektora reálnych čísel na skutočnú funkciu v určitom rozsahu zmeny argumentu; Kontinuum počtu značiek, v dôsledku toho vyžaduje špecifický softvér a implementáciu softvéru a hardvéru neurónovej siete; Možnosť kontinuických príznakov vstupného priestoru bola implementovaná v probléme rozpoznávania periodických signálov bez toho, aby ich premenili aNALOG-DIGITAL CONVERTER (ADC) pri vstupe do systému a implementácia analógovo-digitálnej viacvrstvovej neurónovej siete; Kontinuum počet neurónov vo vrstve; Implementácia viacvrstvových nervových sietí s kontinuóz tried a riešení sa vykonáva výberom zodpovedajúcich typov funkcií aktivácie neurónov poslednej vrstvy.

Tabuľka zobrazuje systematický súbor variantov algoritmov pre nastavenie viacvrstvových neurónových sietí v priestore "vstupného signálu - priestor". Prezentovali sa mnoho variantov charakteristík vstupných a výstupných signálov nervových sietí, pre ktoré algoritmy na nastavenie koeficientov vyvinutých ruskou vedeckou školou v rokoch 1960-70 sú prezentované. Signál na vstupe neurónovej siete je popísaný počtom tried (gradácie) obrázkov, ktoré predstavujú pokyny "učiteľa". Výstupným signálom neurónovej siete je kvantitatívny opis riešení. Tabuľka je daná klasifikácia variantov fungovania neurónových sietí pre rôzne typy vstupných signálov (2 triedy, $ k $ triedy, konsolidácia tried) a rôzne možnosti pre kvantifikáciu priestoru riešení (2 rozhodnutia, $ K_P $ Solutions, Riešenia kontinua). Čísla 1, 7, 8 Súčasné špecifické možnosti pre fungovanie neurónových sietí.

Tabuľka. Sada možností na nastavenie algoritmov

Riešenia priestoru (číslo)

Vstupný signál

Trieda 2$ K $ triedyTriedy kontinua
2 1 7 8
$ K_p $$ K_p \u003d $ 33a.$ K K K_P $9 10
$ K \u003d K_P $2
$ K_p \u003d text (const) $3b$ K gt k_p $4
Kontinuum5 6 11

Hlavné výhody neurónových sietí ako logického základu pre algoritmy na riešenie zložitých úloh sú: Invariancia (nezmenené, nezávislosť) metód syntézy nervových sietí na rozmere známok príznakov; Schopnosť vybrať štruktúru neurónových sietí vo významnom škále parametrov, v závislosti od zložitosti a špecifík riešeného problému, aby sa dosiahla požadovaná kvalita riešenia; primeranosť súčasných a prospektívnych technológií mikroelektroniky; Tolerancia zlyhania v zmysle, je malá a nie katastrofická zmena kvality riešenia problému v závislosti od počtu prvkov zlyhala.

Neurónové siete - Súkromný pohľad na kontrolný objekt v adaptívnom systéme

Neurónové siete boli v teórii riadenia jeden z prvých príkladov prechodu z kontroly najjednoduchších lineárnych stacionárnych systémov na kontrolu komplexných nelineárnych, nestacionárnych, multidimenzionálnych, multikultových systémov. V druhej polovici 60-tych rokov sa narodila metodika syntézy nervových sietí, ktorá sa vyvíjala a bola úspešne použitá v najbližších takmer päťdesiatich rokoch. Všeobecná štruktúra tejto techniky je uvedená na obr. päť.

Vstupné signály neurónovej siete

Pravdepodobným modelom okolitého sveta je základom neurónových sietí. Podobný model je základom matematických štatistík. Neurálne siete sa vyskytli práve v čase, keď boli spýtané experimenty s použitím metód matematických štatistík: "A prečo by sme mali opísať funkcie distribúcie vstupných náhodných signálov vo forme špecifických analytických výrazov (normálna distribúcia, poisson distribúcia atď.) ? Ak je to správne a na tom je nejaký fyzický dôvod, potom sa úloha spracovania náhodných signálov stáva celkom jednoduchým. "

Špecialisti v neurónových sieti technológie povedal: "Nevieme nič o distribučnej funkcii vstupných signálov, odmietame formálne opísať distribučnú funkciu vstupných signálov, aj keď sme suzim triedy riešených úloh. Považujeme funkcie distribúcie komplexných signálov vstupných signálov, neznáme a budeme riešiť súkromné \u200b\u200bšpecifické úlohy podobným spôsobom a priori neistota (t.j. neúplnosť opisu; neexistujú žiadne informácie a možné výsledky). " To je dôvod, prečo sa neurónové siete na začiatku 60. rokov účinne používali pri riešení úloh uznávania obrázkov. Okrem toho úloha uznania obrázkov bola považovaná za úlohu aproximáciu multidimenzionálnej náhodnej funkcie prijímajúcej hodnoty $ k $ k $, kde $ k $ je počet obrázkov obrázkov.

Nižšie sú uvedené niektoré spôsoby fungovania viacvrstvových nervových sietí, určené vlastnosťami náhodných vstupných signálov, pre ktoré boli vyvinuté algoritmy na nastavenie koeficientov.

Školenia nervových sietí

Je zrejmé, že fungovanie nervovej siete, t.j. akcie, ktoré je schopné vykonávať, závisí od veličín synoptických spojení. Preto, stanovením štruktúry neurónovej siete, ktorá spĺňa určitú úlohu, musí developer nájsť optimálne hodnoty pre všetky koeficienty hmotnosti $ w $. Táto etapa sa nazýva výučba neurónovej siete a o tom, ako kvalitatívne bude dokončená, schopnosť siete rozhodnúť počas prevádzky problému. Najdôležitejšie parametre vzdelávania sú: kvalita výberu koeficientov hmotnosti a čas, ktorý sa má očakávať, že bude vyškolený. Dva z týchto parametrov sú spravidla spojené s inverznou závislosťou a musia byť zvolené na základe kompromisu. V súčasnosti môžu byť všetky algoritmy pre vyučovanie neurónových sietí rozdelené do dvoch veľkých tried: "S učiteľom" a "bez učiteľa."

A priori pravdepodobnosť tried

So všetkou nedostatočnosťou informácií o funkciách distribúcie vstupných signálov môže ignorovanie niektorých užitočných informácií viesť k strate kvalite riešenia problému. Týka sa to predovšetkým priori pravdepodobnosti vzhľadu tried. Algoritmy boli vyvinuté pre zriadenie viacvrstvových nervových sietí, pričom zohľadnili dostupné informácie o priori pravdepodobnosti tried. To sa koná v takýchto úlohách, ktoré rozpoznávanie písmen v texte, keď pre tento jazyk je známa pravdepodobnosť vzhľadu každého listu a tieto informácie sa musia používať pri konštrukcii algoritmu na nastavenie koeficientov viacvrstvovej neurónovej siete.

Kvalifikácia "Učitelia"

Neurálna sieť je uložená hodnoty vstupných aj výstupných parametrov a nastaví váhy svojich synaptických väzieb nejakým vnútorným algoritmom. Tréning "s učiteľom" naznačuje, že pre každý vstupný vektor je cieľový vektor predstavujúci požadovaný výstup. Všeobecne platí, že kvalifikácia "učiteľa" môže byť odlišná pre rôzne triedy obrázkov. Spolu reprezentatívny alebo výber školeniath. Zvyčajne je neurónová sieť vyškolená na určitom počte takýchto vzoriek. Výstupný vektor sa vyrába, výstupom neurónovej siete sa vypočíta a v porovnaní s príslušným cieľovým vektorom, rozdiel (chyba) spätnou väzbou sa dodáva do neurónovej siete a váhy sa menia v súlade s algoritmom, ktorý hľadá minimalizáciu chyba. Vzdelávacie nastavené vektory sú prezentované postupne, chyby a hmotnosti sa vypočítajú pre každý vektor, kým sa chyba v celom tréningovom poli dosiahne prijateľnú nízku úroveň.

V úlohách uznania obrázkov, podľa pravidla, štandardne je kvalifikácia "učiteľa" kompletná, t.j. Pravdepodobnosť správneho priradenia k "učiteľovi" obrázkov na jednu alebo inú triedu je jedna. V praxi to v prítomnosti nepriamych meraní to často nie je pravdivé, napríklad v lekárskych diagnostických úloh, pri overovaní (overenie) archívu zdravotníckych údajov určených na odbornú prípravu, pravdepodobnosť pripisovania týchto údajov na jednu alebo inú chorobu nie je rovná jednej. Zavedenie koncepcie kvalifikácie "Učiteľ" umožnilo vyvinúť jednotné algoritmy na stanovenie koeficientov viacvrstvových nervových sietí pre vzdelávacie režimy, učenie "s učiteľom", ktorý má konečnú kvalifikáciu a samoštúdium (klastrovanie), Keď v prítomnosti $ k $ alebo dve kvalifikácie učiteľa (učitelia "pravdepodobnosť prideľovania obrázkov jednej alebo inej triede) je $ frac (1) (k) $ alebo 1/2. Zavedenie koncepcie kvalifikácie "učiteľa" v systémoch rozpoznávania obrázkov umožnilo čisto teoreticky zvážiť režimy "kríženia" systému, keď je údajne false (s rôznymi stupňami), priraďuje obrázky na jednu alebo inú triedu . Tento spôsob nastavenia koeficientov multilayerovej neurónovej siete zatiaľ nenašiel praktickú aplikáciu.

Klastrovanie

KLUSTERIZÁCIA (samoštúdium, školenie "bez učiteľa") je súkromný spôsob fungovania viacvrstvových nervových sietí, keď systém neuvádza informácie o príslušnosti vzoriek do určitej triedy. Neurálna sieť je prezentovaná iba vstupné signály a sieťové výstupy sú vytvorené nezávisle, pričom sa zohľadnia len vstupné a deriváty z nich. Napriek mnohým aplikovaným úspechom, učenie "s učiteľom" bol kritizovaný za biologickú nevhodnosť. Je ťažké si predstaviť tréningový mechanizmus v prirodzenej ľudskej inteligencii, ktorá by porovnávala požadované a skutočné výstupné hodnoty, vykonávanie korekcie spätnou väzbou. Ak povolíte podobný mechanizmus v ľudskom mozgu, odkiaľ pochádzajú požadované výstupy? Učenie "bez učiteľa" je veriaciteľný model odbornej prípravy v biologickom systéme. Nepotrebuje cieľový vektor pre východy, a preto nevyžaduje porovnanie s preddefinovanými dokonalými odpoveďami. Sada učenia sa skladá len zo vstupných vektorov. Tréningový algoritmus upravuje hmotnosť nervovej siete, takže dohodnuté výstupné vektory získané, t.j., takže prezentácia dostatočne blízkych vstupných vektorov dal rovnaké výstupy. Proces učenia sa preto prideľuje štatistické vlastnosti vzdelávacieho súboru a skupiny podobných vektorov v triedach. Prezentácia vektora vstupu z tejto triedy poskytne špecifický výstupný vektor, ale nie je možné predpovedať tréningu, ktorý výstup bude vykonaná touto triedou vstupných vektorov. V dôsledku toho by sa výstupy takejto siete mali transformovať na nejakú zrozumiteľnú formu v dôsledku procesu učenia. Toto nie je vážny problém. Zvyčajne nie je ťažké identifikovať spojenie medzi vstupom a výstupom nastaveným sieťou.

Klastrovanie je venované mnohým vedeckým prácam. Hlavnou úlohou klastrovania je spracovaním mnohých vektorov v multidimenzionálnom priestore funkcií s uvoľňovaním kompaktných podmnožín (podmnožky blízko seba), ich množstvá a vlastnosti. Najčastejšou metódou klastrovania je metóda "$ K $-mean", ktorá je prakticky nie je spojená s metódami reverznej šírenia a nie je zovšeobecnená na architektúru typu viacvrstvových nervových sietí.

Zavedenie koncepcie kvalifikácie "učiteľa" a jediného prístupu k učeniu a samoštúdiu v šesťdesiatych rokoch minulého storočia umožnilo skutočne vytvoriť základ pre implementáciu klastrovania režimu v viacvrstvových nervových sieťach širokej triedy štruktúr.

Nonstationary Images

Existujúci vývoj v oblasti systémov rozpoznávania obrazu na základe viacvrstvových nervových sietí súvisí najmä so stacionárnymi obrázkami, tj. Náhodné vstupné signály, ktoré majú komplexné, ale stacionárne distribučné funkcie v čase. V niektorých prácach bol vykonaný pokus o distribúciu navrhovaného spôsobu nastavovania viacvrstvových nervových sietí na nestacionárne obrázky, keď zamýšľaná neznáma funkcia rozdelenia vstupného signálu závisí od času alebo vstupného náhodného signálu je superpozícia a Pravidelný komponent a náhodná zložka s neznámym komplexným distribučným funkciou, ktorá nezávisí od času.

O kritériách primárnej optimalizácie v viacvrstvových nervových sieťach

Pravdepodobnostný model sveta, ktorý sa považuje za základ pre výstavbu adaptačných algoritmov vo viacvrstvových nervových sieťach, umožnilo vytvoriť kritérium primárneho optimalizácie v systémoch, ktoré sa posudzujú vo forme minimálneho priemernej funkcie rizika a jeho modifikácií: \\ t Maximum posteriori pravdepodobnosti (podmienená šanca náhodnej udalosti za predpokladu, že je známa posteriori, t.j. na základe skúseností, údajov); minimálne priemernej funkcie rizika; Minimálne priemerné riziko, s výhradou rovnosti podmienených funkcií rizika pre rôzne triedy; Minimálne priemerná riziková funkcia za podmienok stanovenej hodnoty funkcie podmieneného rizika pre jednu z tried; Ďalšie kritériá primárnej optimalizácie vyplývajúce z požiadaviek konkrétnej praktickej úlohy. V dielach ruských vedcov boli prezentované úpravy algoritmov na nastavenie viacvrstvových neurónových sietí pre vyššie uvedené kritériá primárnej optimalizácie. Treba poznamenať, že v ohrozovacej väčšine práce v oblasti teórie neurónovej siete av algoritoch inverzných distribúcií sa najjednoduchšie kritérium považuje za minimum RMS chyby bez akýchkoľvek obmedzení konvenčných rizikových funkcií.

V samoštúdiovom režime (klastrovanie), je predpokladom tvorby kritéria a funkčný primárnou optimalizáciou neurónových sietí reprezentácia funkcie distribúcie vstupného signálu vo forme multimodálnej funkcie v multidimenzionálnom Priestor známok, kde každý režim s určitou pravdepodobnosťou zodpovedá triede. Ako kritériá pre primárnu optimalizáciu v režime samoštúru sa použili modifikácie priemernej rizikovej funkcie.

Prezentované úpravy kritérií primárnej optimalizácie boli zhrnuté v prípadoch kontinua tried a riešení; Kontinuvné príznaky vstupného priestoru; kontinua počtu neurónov vo vrstve; S ľubovoľným kvalifikáciou učiteľa. Dôležitou časťou tvorby kritéria a funkčného primárnej optimalizácie vo viacvrstvových nervových sieťach na pravdepodobnostnom modeli sveta je výber straty matrice, ktorá v teórii štatistických riešení určuje stratový koeficient $ L_ (12) $ s chybnou klasifikáciou obrazu 1. triedy 2. a stratového faktora $ L_ (21) $ pri klasifikácii obrázkov 2. triedy do 1. \\ t Spravidla, v predvolenom nastavení, matica $ L $ z týchto koeficientov v syntéze algoritmov na zriadenie viacvrstvových neurónových sietí, aj pri aplikácii metódy inverznej šírenia, je akceptovaná symetrická. V praxi to nezodpovedá realite. Charakteristickým príkladom je banský systém s geolocrátorom. V tomto prípade je strata v chybnom pridelení kameňa do môjho ekvivalentná nejakej malej strate času užívateľom geolokratu. Straty spojené s chybným atribútom baní do triedy kameňov súvisia so životnosťou alebo významnou stratou zdravia užívateľmi geolocrátora.

Analýza otvorených neurónových sietí

Cieľom tejto sady syntézy je určiť v celkovej forme štatistických vlastností výstupu a medziproduktov neurónových sietí ako multidimenzionálnych, nelineárnych kontrolných predmetov, aby sa ďalej vytvorili kritérium a funkčné sekundárne optimalizáciu, tj funkčnosť je skutočne optimalizovaná adaptačným algoritmom v konkrétnej neurologickej sieti. V ohrozovacej väčšine práce ako taká funkčnosť sa vykonáva chyba RMS ako taká funkčnosť, ktorá zhoršuje kvalitu riešenia alebo nezodpovedá úlohe optimalizácie stanovenej kritériom primárnej optimalizácie.

Vypracujú sa technika a algoritmy na vytvorenie sekundárnej optimalizácie zodpovedajúcej zadanej funkcii primárnej optimalizácie.

Algoritmy pre vyhľadávanie extrémne sekundárnych optimalizačných funkcií

Algoritmus extrema vyhľadávania vo vzťahu k špecifickej sekundárnej optimalizačnej funkcii určuje algoritmus na nastavenie koeficientov multilayerovej neurónovej siete. Na začiatku 21. storočia sú takéto algoritmy implementované v systéme MATLAB najväčším praktickým záujmom (skratka z angličtiny "Matrix Laboratórium" je balík aplikačných programov na riešenie technických výpočtových úloh a programovacieho jazyka). Je však potrebné poznamenať najmä konkrétne adaptačné algoritmy v multilayerových neurónových sieťach používaných v systémoch MOTLAB (nástroj nástrojov Neurory Network - poskytuje funkcie a aplikácie pre modelovanie komplexných nelineárnych systémov, ktoré sú opísané rovnicami; Podporuje učenie "s učiteľom" a "bez učiteľa ", priame distribúcia, s radiálnymi funkciami atď.) A orientácia týchto algoritmov nie je na špecifikách úloh vyriešených, ale na imaginárnej" geometrii "funkcií sekundárnej optimalizácie. Tieto algoritmy neberú do úvahy mnoho podrobností o špecifikách používania viacvrstvových neurónových sietí pri riešení špecifických úloh a samozrejme si vyžadujú zásadné, ak nie sú základom, spracovanie počas prechodu na membránové nervové systémy. Vykonala sa podrobná porovnávacia analýza metódy reverznej distribúcie a ruských metód 60. a 70. rokov. Hlavným znakom týchto algoritmov je nájsť potrebu hľadať miestne a globálne extrémy multi-extrémne funkčného funkcie v multidimenzionálnom priestore prispôsobiteľných koeficientov nervovej siete. Rast veľkosti nervovej siete vedie k výraznému zvýšeniu počtu prispôsobiteľných koeficientov, t.j. rastu veľkosti vyhľadávacieho priestoru. Späť v šesťdesiatych rokoch 19. storočia boli diela ponúknuté vyhľadávaním a analytickými postupmi na výpočet gradientu sekundárnej optimalizácie funkčného funkcie av triede analytických postupov, ktoré bolo navrhnuté a aplikácia bola preskúmaná na usporiadanie vyhľadávania nielen najprv, ale aj druhé Derivát sekundárnej optimalizácie funkčného. Špecifickosť viacnásobného optimalitu funkčnej sekundárnej optimalizácie viedla v priebehu nasledujúcich desaťročí k vzniku rôznych modifikácií metód vyhľadávania (genetické algoritmy atď.). Algoritmy pre nájdenie extrémnych extrémnych funkcií sekundárnej optimalizácie s obmedzeniami veľkosti, rýchlosťou a inými parametrami váhových koeficientov nervových sietí. Je to tieto metódy, ktoré musia byť základom práce na metódach nastavenia neurónových sietí s použitím membrány (hmotnostné koeficienty), pričom sa zohľadnia takéto špecifické vlastnosti ako prevodové pomery.

Primárne podmienky pri vytváraní koeficientov

Výber počiatočných podmienok iteratívneho postupu pre vyhľadávanie extrémnych funkcií sekundárnej optimalizácie je dôležitým krokom v syntéze algoritmov na zriadenie viacvrstvových nervových sietí. Úloha výberu počiatočných podmienok by sa mala vyriešiť špeciálne pre každú úlohu, ktorá rieši neurónová sieť, a byť neoddeliteľnou súčasťou všeobecného postupu syntézy algoritmov na vytvorenie viacvrstvových nervových sietí. Kvalitatívne riešenie tejto úlohy môže výrazne znížiť čas nastavenia. A priori zložitosť sekundárnej optimalizácie funkcie vykonala potrebnú zavedenie postupu na výber počiatočných podmienok vo forme náhodných hodnôt koeficientov s opakovaním tohto postupu a postupov nastavenia koeficientu. Tento postup v šesťdesiatych rokoch sa zdal mimoriadne nadbytočný z hľadiska času stráveného na nastavenie koeficientov. Napriek tomu je však široko aplikovaný pomerne široko. Pre jednotlivé úlohy bola prijatá myšlienka výberu počiatočných podmienok špecifických pre túto úlohu. Takýto postup bol vypracovaný pre tri úlohy: rozpoznávanie obrazu; klastrovanie; Neurostentácia nelineárnych dynamických objektov.

Pamäť v okruhu nastavenia koeficientu

Systémový prístup k konštrukcii algoritmov vyhľadávania extrémou sekundárnej optimalizácie funkčného naznačuje, ako jeden z režimov nastavenia na nastavenie koeficientov v každom spôsobe zadávania snímok na vstup na aktuálnu hodnotu sekundárnej optimalizácie funkčného gradientu. Algoritmy pre nastavenie viacvrstvových nervových sietí s filtrovaním sekvencie gradientových hodnôt sekundárnej optimalizácie funkčných funkcií sú vyvinuté: Filter nulových objednávok s $ M_N $ pamäte (pre stacionárne obrázky); Filtrovať $ 1, ..., K $ -O objednávku s pamäťou $ M_N $ (pre nestálych obrázkov) s rôznymi zmenami hypotézy v čase distribučných funkcií pre obrazy rôznych tried.

Štúdium adaptačných algoritmov v nervových sieťach

Hlavnou otázkou je, ako vybrať štruktúru viacvrstvovej neurónovej siete na vyriešenie vybranej špecifickej úlohy - je to stále do značnej miery vyriešené. Môžete ponúknuť len rozumné smerové busty uskutočnení štruktúr s posúdením ich účinnosti v procese riešenia problému. Avšak kvalita výkonu konfiguračného algoritmu na špecifickej zvolenej štruktúre, konkrétna úloha nemusí byť správne správna. Typické vstupné signály (postupne, kvadratické, atď) sa teda používajú na posúdenie kvality lineárnych dynamických riadiacich systémov, podľa reakcie, na ktorú sa odhaduje vytvorená chyba (systém anatamation) a chýb v prechodných procesoch.

Podobne, typické vstupné signály boli vyvinuté pre viacvrstvové neurónové siete na testovanie a porovnanie výkonu rôznych algoritmov nastavenia. Samozrejme, typické vstupné signály pre objekty, ako sú viacvrstvové neurónové siete, sú špecifické pre každú riešenú úlohu. V prvom rade sa vyvinuli signály typu vstupné signály pre tieto úlohy: rozpoznávanie obrazu; klastrovanie; Neurupping dynamickými objektmi.

Hlavným axiomatickým princípom aplikácie technológií neurálnej siete namiesto metód klasických matematických štatistík, je to odmietnutie formalizovaného opisu funkcií rozdelenia pravdepodobnosti pre vstupné signály a prijatie koncepcie neznámych, komplexných distribučných funkcií. Z tohto dôvodu bolo navrhnuté nasledujúce typové vstupné signály.

Pre problém klastrovania bola navrhnutá vzorka náhodného signálu s multimodálnou distribúciou, implementovaná v $ n $-dimenzionálneho priestoru funkcií s režimami distribučnej funkcie, ktorých centrá vo výške $ Z $ sú umiestnené na Hyperbission $ n $-dimenzionálne značky. Každý mod predáva náhodnú vzorku s normálnou distribúciou a štandardnou odchýlkou \u200b\u200b$ σ $ rovná každému z $ Z $ Mod. Predmetom porovnania rôznych metód klastrov bude dynamikou nastavenia a kvality riešenia problému v závislosti od $ N $, $ Z $ a $ σ $, s dostatočne veľkou náhodnou vzorkou $ M $. Tento prístup môže byť považovaný za jeden z prvých objektívnych prístupov k porovnaniu algoritmov klastrov, vrátane viacvrstvových neurónových sietí s zodpovedajúcim výberom štruktúry na dosiahnutie požadovanej kvality klastrov. Pre klasifikačné úlohy sú vstupné signály na testovanie podobné signálom pre klastrovanie zmenou, že výber s multimodálnou distribúciou je rozdelená do dvoch (v prípade dvoch tried) alebo $ k $ (v prípade $ k $) časti s prerušovanými distribučnými funkciami pre jednotlivé triedy.

Neurálne siete s variabilnou štruktúrou

Odmietnutie neurónových sietí technológie z priori informácie, z informácií o funkcii distribúcie vstupných signálov vedie k potrebe implementovať primeranú integritu parametrov štruktúry viacvrstvových nervových sietí na zabezpečenie potrebnej kvality riešenia problému.

V šesťdesiatych rokoch minulého storočia, pre veľmi relevantnú triedu úlohy - rozpoznávanie obrazu - postup bol navrhnutý na vytvorenie viacvrstvových neurónových sietí, v ktorých nie je priori štruktúra, a je výsledkom nastavenia spolu s hodnotami prispôsobiteľných koeficientov . V tomto prípade sa počas nastavenia vyberie počet vrstiev a počet neurónov v vrstvách. Postup nastavenia koeficientov viacvrstvovej neurologickej siete s variabilnou štruktúrou sa ľahko prenáša z úlohy rozpoznania dvoch tried snímok na uznanie tried $ k $ obrazu. Navyše, nastavenie výsledkov je $ k $ neurónové siete, z ktorých každý je prvá trieda $ k $ trieda ($ K \u003d 1, Ldots, K $) a druhá sú všetci ostatní. Podobná myšlienka založenia viacvrstvových nervových sietí s premenlivou štruktúrou je tiež použiteľná na riešenie problému klastrovania. V rovnakej dobe, počiatočná vzorka sa berie ako prvá trieda obrázkov a ako druhá trieda - vzorka s jednotným distribúciou v rozsahu zmien indikácie. Viacvrstvová neurónová sieť s variabilnou štruktúrou implementovanou v konfiguračnom procese s kvalitatívnym a kvantitatívne odráža zložitosť riešenia problému. Z tohto hľadiska je úloha klastrovania ako úlohou narodenia nových znalostí o študovanom objekte, je zvýrazniť a analyzovať tie oblasti multidimenzionálnych príznakov príznakov, v ktorých funkcia distribúcie pravdepodobnosti presahuje úroveň jednotnej distribúcie v rozsahu zmeny hodnôt značiek.

Vývojové vyhliadky

Na začiatku 21. storočia je jedným z hlavných koncepcií vývoja (učenie) viacvrstvovej nervovej siete je túžba zvýšiť počet vrstiev, čo zahŕňa zabezpečenie výberu štruktúry neurónovej siete, primeranú úlohu, \\ t Vytvorenie nových metód na vytvorenie algoritmov nastavenia koeficientu. Výhody neurónových sietí sú: majetok tzv. Postupná degradácia - pri riešení jednotlivých prvkov sa kvalita systému postupne klesá (na porovnanie, logické siete z prvkov a, alebo nie zlyhať v narušení akéhokoľvek sieťového prvku); Zvýšená odolnosť voči zmene meniacich sa parametrov schém, implementácia (napríklad veľmi významné zmeny hmotnosti nevedú k chybám pri implementácii jednoduchej logickej funkcie dvoch premenných) atď.

Rozsiahla distribúcia algoritmov neurónových sietí v oblasti komplexných formalizačných, slabo formalizovaných a informalizovaných úloh viedla k vytvoreniu nového smeru v oblasti výpočtovej matematiky - nemomathematika. Neuromathematika zahŕňa algoritmy neurónových sietí na riešenie nasledujúcich úloh: uznanie obrazu; optimalizácia a extrapolácia funkcií; teória grafov; Kryptografické úlohy; Riešenie reálnych a booleovských systémov lineárnych a nelineárnych rovníc, bežné jednorozmerné a multidimenzionálne diferenciálne rovnice, diferenciálne rovnice v súkromných derivátoch atď. Na základe teórie nervových sietí, nová časť bola vytvorená nová časť modernej teórie riadenia zložitých nelineárnych a multidimenzionálnych, viacpojených dynamických systémov - neurčitýktoré zahŕňa metódy identifikácie neurónovej siete komplexných dynamických objektov; Výstavba neuroregulátorov v obrysoch kontrolných komplexných dynamických objektov atď.

Umelá inteligencia, nervové siete, strojové učenie - Čo naozaj znamenáš všetky tieto populárne pojmy? Pre väčšinu nezaznamenaných ľudí, ja sám som sám, vždy sa zdali niečo fantastické, ale v skutočnosti je podstatou z nich leží na povrchu. Dlho som zvršil myšlienku napísať jednoduchý jazyk o umelých nervových sieťach. Učte sa a povedzte ostatným, čo je táto technológia, ako to funguje, zvážte jeho históriu a perspektívy. V tomto článku som sa snažil vyliezť na trosky, ale jednoducho a populárne povedať o tomto sľubnom smere vo svete vysokých technológií.

Umelá inteligencia, nervové siete, strojové učenie - Čo naozaj znamenáš všetky tieto populárne pojmy? Pre väčšinu nezaznamenaných ľudí, ja sám a ja sám sám, vždy sa zdali niečo fantastické, ale v skutočnosti je podstatou z nich leží na povrchu. Dlho som zvršil myšlienku napísať jednoduchý jazyk o umelých nervových sieťach. Zistite a povedzte ostatným, čo predstavuje túto technológiu, pretože to funguje, zvážte jej príbeh a vyhliadky. V tomto článku som sa snažil vyliezť na trosky, ale jednoducho a populárne povedať o tomto sľubnom smere vo svete vysokých technológií.

Trochu histórie

Po prvýkrát sa koncepcia umelých nervových sietí (INS) vznikla pri pokuse o simuláciu procesov mozgu. Prvý závažný prielom v tejto oblasti možno považovať za vytvorenie modelu nervových sietí McCLall-Pitts v roku 1943. Vedci prvýkrát bol vyvinutý model umelého neurónu. Navrhli tiež návrh siete z týchto prvkov na vykonávanie logických operácií. Najdôležitejšie je, že vedci dokázali, že takáto sieť je schopná študovať.

Ďalším dôležitým krokom bol vývoj Donald Herbb prvého algoritmu pre výpočet INS v roku 1949, ktorý sa stal základom niekoľko desaťročí. V roku 1958 bol Frank Rosenblatt vyvinutý PassPartronom - systémom, napodobňujúcim procesom mozgu. Technológia nemala naraz analógy a je stále zásadný v nervových sieťach. V roku 1986, takmer súčasne, nezávisle od seba amerických a sovietskych vedcov, bola podstatne zlepšila základná metóda vzdelávania viacvrstvového perceptrónu. V roku 2007 neurónové siete utrpeli druhé narodenie. Britský informant Jeffrey Hinton Prvýkrát vyvinul algoritmus hlbokého tréningu viacvrstvových nervových sietí, ktoré sa teraz používajú na prevádzku bezpilotných vozidiel.

Stručne o hlavnej veci

Vo všeobecnom zmysle slova, neurónové siete sú matematické modely pracujúce na princípe sietí nervových buniek živočíšneho organizmu. Ins je možné implementovať v programovateľných aj hardvérových riešeniach. Pre jednoduchosť vnímania môže byť neurón reprezentovaný ako určitá bunka, ktorá má množstvo vstupov a jeden výstup. Ako sa v exit vytvára množstvo prichádzajúcich signálov, stačí určiť algoritmus výpočtu. Pre každý vstup neurónov sa aplikujú účinné hodnoty, ktoré sa potom aplikujú internekonomickými väzbami (synopsis). V synapses je jeden parameter - hmotnosť, vďaka ktorej vstupné informácie sa zmenia pri pohybe z jedného neurónu do druhého. Najjednoduchší princíp prevádzky neurónovej siete môže byť reprezentovaný príkladom miešania farieb. Modré, zelené a červené neuróny majú rôzne váhy. Informácie o tomto neuróne, ktorého hmotnosť bude dominantnejšia v nasledujúcom neuróne.

Samotná neurónová sieť je systémom z rôznych takýchto neurónov (procesorov). Samostatne sú tieto spracovatelia pomerne jednoduché (oveľa jednoduchšie ako osobný počítačový procesor), ale sú pripojené k veľkému systému neurónov sú schopné vykonávať veľmi zložité úlohy.

V závislosti od aplikácie neurónovej siete je možné interpretovať rôznymi spôsobmi, napríklad z hľadiska strojového vzdelávania je INS metóda rozpoznávania obrázkov. Z matematického hľadiska je úloha multiparametra. Z hľadiska kybernetiky - Adaptívny model riadenia robotiky. Pre umelé intelekt Interess - to je základná zložka pre modelovanie prirodzenej inteligencie pomocou výpočtových algoritmov.

Hlavnou výhodou nervovej siete nad zvyčajnými algoritmami výpočtu je ich schopnosť učiť. Vo všeobecnom zmysle je slovo učenia nájsť správny komunikačný pomer medzi neurónmi, ako aj vo zovšeobecňovaní údajov a identifikovať komplexné závislosti medzi vstupnými a výstupnými signálmi. Úspešné vyučovanie neurónovej siete v skutočnosti znamená, že systém bude schopný identifikovať správny výsledok na základe údajov, ktoré chýbajú v učebnej vzorke.

Dnešná pozícia

A bez ohľadu na to, čo sľubné túto technológiu by bolo, doteraz je INS stále veľmi ďaleko od možností ľudského mozgu a myslenia. Teraz sa však v mnohých oblastiach ľudskej činnosti používajú neurónové siete. Doteraz nie sú schopní urobiť vysoko inteligentné riešenia, ale schopný nahradiť osobu, kde bol potrebný. Medzi mnohými aplikáciami INS možno poznamenať: vytvorenie samočinných systémov priemyselných procesov, bezpilotných vozidiel, systémov rozpoznávania obrazu, inteligentné bezpečnostné systémy, robotiky, systémy monitorovania kvality, hlasových rozhraní, analytických systémov a oveľa viac. Takéto rozšírené neurónové siete okrem iného sú spôsobené vznikom rôznych spôsobov, ako urýchliť tréning ins.

K dnešnému dňu je trh neurónovej siete obrovský - je to miliardy a miliardy dolárov. Ako ukazuje prax, väčšina neurónových sietí technológie na celom svete sa líši od seba. Použitie neurónovej siete je však veľmi drahá lekcia, ktorá vo väčšine prípadov môže dovoliť len veľké spoločnosti. Pre vývoj, učenie a testovanie nervových sietí sa vyžaduje veľká výpočtová sila, je zrejmé, že toto je v dostatočnosti vo veľkých hráčoch na trhu IT. Medzi hlavné spoločnosti, vedúci vývoj v tejto oblasti možno poznamenať divíziu Deepmind Google, Divízia Microsoft Research, IBM, Facebook a Baidu spoločnosti.

Samozrejme, toto je všetko dobré: Neurónové siete sa rozvíjajú, trh rastie, ale doteraz sa hlavná úloha nevyrieši. Ľudstvo nedokázalo vytvoriť technológiu, aspoň aproximácia možností pre ľudský mozog. Poďme zvážiť hlavné rozdiely medzi ľudským mozgom a umelými neurónovými sieťami.

Prečo sú neurozetika stále ďaleko do ľudského mozgu?

Najdôležitejší rozdiel, ktorý v koreňovom mení zásadu a efektívnosť systému, je iný prenos signálov v umelých neurónových sieťach av biologickej sieti neurónov. Faktom je, že neuróny sa prenášajú do hodnôt, ktoré sú platnými hodnotami, to znamená čísla. V ľudskom mozgu sa uskutočňuje prenos impulzov s pevnou amplitúdenou a tieto impulzy sú prakticky okamžité. Odtiaľ existuje množstvo výhod ľudskej siete neurónov.

Po prvé, linky link v mozgu sú oveľa efektívnejšie a ekonomickejšie ako v ins. Po druhé, systém impulzov zabezpečuje jednoduchosť implementácie technológie: stačí použiť analógové systémy namiesto komplexných počítačových mechanizmov. V konečnom dôsledku sú impulzné siete chránené pred rušením zvuku. Účinné čísla sú ovplyvnené hlukom, v dôsledku čoho sa vyskytne pravdepodobnosť chyby.

Výsledok

Samozrejme, v poslednom desaťročí sa vyskytol skutočný rozmach vývoja neurónových sietí. Po prvé, to je spôsobené tým, že proces školení sa stal oveľa rýchlejším a jednoduchším. Začal tiež aktívne rozvíjať takzvané "preferenčné" neurónové siete, ktoré nám umožňujú výrazne urýchliť proces zavádzania technológie. A ak je to tak ďaleko, je príliš skoro hovoriť o tom, či neurosette bude môcť úplne reprodukovať možnosť ľudského mozgu, pravdepodobnosť, že v nasledujúcom desaťročí budú môcť nahradiť osobu vo štvrtine existujúcich profesií viac a viac sa stáva ako pravda.

Pre tých, ktorí chcú vedieť viac

  • Veľká nervová vojna: Čo je skutočne zatvorené Google
  • Ako môžu kognitívne počítače zmeniť našu budúcnosť

Otázky umelej inteligencie a neurónových sietí sa v súčasnosti stávajú populárnymi ako kedykoľvek predtým. Mnohí používatelia sú čoraz viac a častejšie sa pýtajú na to, ako fungujú nervové siete, čo predstavujú a aká je zásada ich aktivít?

Tieto otázky spolu s popularitou majú značné ťažkosti, pretože procesy sú komplexné algoritmy strojového vzdelávania určené na rôzne účely, z analýzy zmien modelových rizík spojených s určitými činnosťami.

Čo sú neurónové siete a ich typy?

Prvá otázka, ktorá vzniká od tých, ktorí majú záujem, čo je neurónová sieť? V klasickej definícii je to určitá sekvencia neurónov, ktoré sú kombinované s synapsiou. Neurálne siete sú zjednodušený model biologických analógov.

Program, ktorý má štruktúru neurónovej siete, umožňuje analyzovať vstupné údaje a zapamätať si výsledok získaný z určitých zdrojov. Následne, takýto prístup vám umožňuje extrahovať výsledok z pamäte, ktorý zodpovedá aktuálnemu nastaveniu údajov, ak už bolo v zážitku sieťových cyklov.

Mnohí vnímajú nervovú sieť ako analóg ľudského mozgu. Na jednej strane tento rozsudok možno považovať za blízky pravdu, ale na druhej strane ľudský mozog je príliš zložitý mechanizmus, takže je možné znovu vytvoriť pomocou auta aspoň percentuálneho podielu. Neurónová sieť je predovšetkým programom založeným na princípe pôsobenia mozgu, ale nie jeho analógový.

Neurónová sieť je banda neurónov, z ktorých každý prijíma informácie, spracováva a prenáša do iného neurónu. Každý Neuron sa riadi signál úplne rovnako.

Ako potom robí iný výsledok? Je to všetko o synapses, ktoré navzájom spájajú neuróny. Jeden neurón môže mať obrovské množstvo synapses, vystuženie alebo oslabenie signálu, zatiaľ čo majú funkciu na zmenu ich vlastností v priebehu času.

Je to správne zvolené parametre synapse, ktoré umožňujú získať správny výsledok vstupnej konverzie.

Rozhodovanie vo všeobecnosti, čo je neurónová sieť, je možné zdôrazniť hlavné typy ich klasifikácie. Pred pokračovaním k klasifikácii musíte zadať jedno zjemnenie. Každá sieť má prvú vrstvu neurónov, ktorá sa nazýva vstup.

Nesplní žiadne výpočty a transformácie, jeho úloha sa skladá len v jednom: vziať a distribuovať vstupné signály cez zvyšok neurónov. Toto je jediná vrstva, ktorá je spoločná pre všetky typy nervových sietí, ich ďalšou štruktúrou je kritériom pre hlavnú divíziu.

  • Jednobvrstvová neurónová sieť. Ide o štruktúru interakcie neurónov, pri ktorých sa po zadaní vstupných dát, prvá vstupná vrstva sa okamžite prenáša na koncovú výslednú vrstvu. V rovnakej dobe, prvá vstupná vrstva sa neberie do úvahy, pretože nevykonáva žiadne akcie, s výnimkou prijímania a distribúcie, už to bolo uvedené vyššie. A druhá vrstva vytvára všetky potrebné výpočty a spracovanie a okamžite udeľuje konečný výsledok. Vstupné neuróny sú kombinované s hlavnou vrstvou synapsov, ktoré majú inú hmotnostnú koeficient poskytujúci kvalitné vzťahy.
  • Multilayer Neural Network. Ako z definície je zrejmé, tento typ neurónových sietí okrem vstupných a výstupných vrstiev má tiež stredné vrstvy. Ich množstvo závisí od stupňa zložitosti samotnej siete. Je viac podobná štruktúre biologickej neurologickej siete. Takéto typy sietí boli v poslednej dobe vyvinuté, predtým, všetky procesy boli implementované pomocou jednoduchých sietí. Takéto riešenie má preto oveľa viac príležitostí ako jej predkov. V procese spracovania informácií je každá medzivrstvová vrstva medziproduktom spracovania a distribúcie informácií.

V závislosti od smeru distribúcie informácií o synapsiách z jedného neurónu do druhého môžete klasifikovať siete do dvoch kategórií.

  • Sieť priamej distribúcie alebo jednosmerného, \u200b\u200bto znamená, že štruktúra, v ktorej sa signál striktne pohybuje zo vstupnej vrstvy k výstupu. Pohyb signálu v opačnom smere je nemožný. Takýto vývoj je pomerne rozšírený a je v súčasnosti úspešne vyriešený takéto úlohy ako rozpoznávanie, prognózy alebo klastrovanie.
  • Siete so spätnou väzbou alebo opakovaním. Takéto siete umožňujú, aby sa signál pohyboval nielen priamym, ale v opačnom smere. Čo to dáva? V takýchto sieťach sa výsledok výstupu môže vrátiť na vstup na to, výstup neurónu je určený hmotnosťou a signálmi vstupu a je doplnená predchádzajúcimi výstupmi, ktoré sa vrátili k vstupu. Takéto siete sú charakterizované krátkodobou pamäťou funkcie, na základe ktorých sú signály obnovené a doplnené počas procesu spracovania.

Nie sú to jediné možnosti klasifikácie sietí.

Môžu byť rozdelené na homogénne a hybridné spoliehanie sa na typy neurónov, ktorí tvoria sieť. A tiež na heteroasciative alebo autosociráciu, v závislosti od spôsobu siete, s učiteľom alebo bez. Môžete tiež klasifikovať siete podľa ich účelu.

Kde používajú neurónové siete?

Neurálne siete sa používajú na riešenie rôznych úloh. Ak považujeme úlohy podľa stupňa zložitosti, obvyklý počítačový program je vhodný na riešenie najjednoduchších úloh, viac
kompletné úlohy vyžadujúce jednoduché predikcie alebo približné riešenia rovníc, programy sa používajú na prilákanie štatistických metód.

Úlohy ešte komplexnejšej úrovne si však vyžadujú úplne iný prístup. To sa týka najmä rozpoznania obrázkov, prejavov alebo komplexných prognózovaní. V mužskej hlave sa takéto procesy vyskytujú nevedome, to znamená, že rozpoznávanie a zapamätanie obrazov, osobu si neuvedomuje, ako sa tento proces objaví, a preto to nemôže kontrolovať.

Tieto úlohy pomáhajú riešiť neurónové siete, to znamená, že sú vytvorené na vykonávanie procesov, ktorých algoritmy nie sú známe.

Preto sú neurónové siete široko používané v nasledujúcich oblastiach:

  • upozornenie a tento smer je v súčasnosti najširším spôsobom;
  • predpoveď ďalšieho kroku, táto funkcia je použiteľná na aukcii a akciových trhoch;
  • klasifikácia vstupných údajov podľa parametrov, takáto funkcia vykonávajú úverové roboty, ktoré sú schopné rozhodnúť o schválení úveru na človeka, spoliehať sa na vstupný súbor rôznych parametrov.

Schopnosti nervovej siete ich robia veľmi populárnymi. Môžu sa veľa naučiť, napríklad hranie hier, rozpoznať určitý hlas a tak ďalej. Na základe skutočnosti, že umelé siete sú postavené na princípe biologických sietí, môžu byť vyškolení na všetky procesy, ktoré osoba vykonáva nevedome.

Čo je neurón a synaps?

Čo je teda neurón v kontexte umelej nervovej siete? V rámci tejto koncepcie znamená jednotku, ktorá vykonáva výpočty. Prijíma informácie zo vstupnej vrstvy siete, vykonáva jednoduché výpočty s ním a jej s nasledujúcim neurónom.

Sieť obsahuje tri typy neurónov: vstup, skrytý a výstup. A ak je sieť jednostupňová, potom neobsahuje skryté neuróny. Okrem toho existuje typ jednotiek, ktoré nesú mená vysídlenia neurónu a kontextového neurónu.

Každý Neuron má dva typy údajov: vstup a výstup. V tomto prípade je prvá vrstva vstupné údaje rovnaké ako výstup. V ostatných prípadoch, celkové informácie o predchádzajúcich vrstvách padá na vstup neurónu, potom prechádza procesom normalizácie, to znamená, že všetky hodnoty pady z požadovaného rozsahu sú konvertované aktivačným funkciou.

Ako je uvedené vyššie, Sinaps je vzťah medzi neurónmi, z ktorých každý má svoj vlastný stupeň hmotnosti. Je to spôsobené týmto funkciou, že vstupné informácie sa počas procesu prenosu upravujú. V procese spracovania budú prevládané informácie, ktoré prenášajú synaps, s veľkým indikátorom hmotnosti.

Ukazuje sa, že žiadne neuróny neovplyvňujú výsledok, a to synapsy, ktoré poskytujú určitú kombináciu hmotnosti vstupných dát, pretože samotní neuróny pri každom vykonávajú úplne rovnaké výpočty.

Zároveň sú váhy nastavené v náhodnom poradí.

Systém neurónovej siete

Na predstavenie princípu prevádzky neurónovej siete sú potrebné osobitné zručnosti. Na vstupnej vrstve neurónov existujú určité informácie. Je prenášaný synapsiou na ďalšiu vrstvu, pričom každá synaps má svoj vlastný koeficient hmotnosti a každý ďalší neurón môže mať niekoľko prichádzajúcich synapsií.

V dôsledku toho sú informácie získané nasledujúcim neurónom súčtom všetkých údajov vynásobených každým k jeho hmotnostnému koeficientu. Výsledná hodnota je nahradená do aktivačnej funkcie a získajú sa výstupné informácie, ktoré sa odovzdávajú, kým nedosiahne konečný výstup. Prvé spustenie siete nedáva správne výsledky, pretože sieť ešte nie je vyškolená.

Aktivačná funkcia sa používa na normalizáciu vstupných údajov. Existuje mnoho takýchto funkcií, ale môžete zvýrazniť niekoľko základných, ktoré majú najrozšírenejšie. Ich hlavné rozdiely sú rozsah hodnôt, v ktorých pracujú.

  • Lineárna funkcia f (x) \u003d x, najjednoduchší zo všetkých možných, sa používa len na testovanie vytvorenej neurónovej siete alebo prenosu údajov v pôvodnej forme.
  • Sigmoid sa považuje za najčastejšiu aktivačnú funkciu a má formu F (x) \u003d 1/1 + e- ×; Súčasne, jeho rozsah hodnôt od 0 do 1. Nazýva sa aj logistická funkcia.
  • Na pokrytie a záporné hodnoty používajú hyperbolické tangenty. F (x) \u003d e² × - 1 / e² × + 1 - tento druh má túto funkciu a rozsah, ktorý má od -1 do 1. Ak neurónová sieť neposkytuje použitie negatívnych hodnôt, potom to nie je stojí za to.

Ak chcete nastaviť údaje o sieti, ktoré bude prevádzkovať potrebné školiace sedadlá.

Integrácia je counter, ktorý sa zvyšuje s každým tréningovým množstvom.

ERA je indikátor Travelory Neural Network, tento indikátor sa zvyšuje zakaždým, keď sieť prejde cyklus kompletnej sady vzdelávacích sietí.

Preto na vykonanie sieťového vzdelávania správne musí vykonávať súbory, ktoré dôsledne zvyšujú indikátor ERA.

V procese tréningu sa zistia chyby. Ide o percentuálny ukazovateľ rozdielu medzi získaným a požadovaným výsledkom. Tento ukazovateľ by sa mal znížiť v procese zvýšenia indikátora ERA, inak niekde nejaká chyba vývojára.

Čo je to posunutie neurón a čo je potrebné?

V nervových sieťach je ďalší druh neurónov - posunutie neurónu. To sa líši od hlavného typu neurónov skutočnosťou, že jeho vstup a výstup v každom prípade sa rovná jednému. V tomto prípade vstup vstupy nemajú takéto neuróny.

Umiestnenie takýchto neurónov sa vyskytuje jeden po druhom na vrstve a nie viac, môžu byť tiež spojené so synapsom navzájom. Umiestnenie takýchto neurónov na výstupnej vrstve nie je vhodné.

Na čo sú potrebné? Existujú situácie, v ktorých neuroset jednoducho nemôže nájsť správne rozhodnutie z dôvodu skutočnosti, že požadovaný bod bude mimo dosahu REACH. Je to pre to, ktoré takéto neuróny potrebuje, aby mohli posunúť oblasť definície.

To znamená, že hmotnosť synapse zmení ohyb funkcie funkcie, zatiaľ čo vysídlenie neurón umožňuje posunu pozdĺž osi súradnice, takže neurónová sieť bola schopná zachytiť oblasť neprístupnú k nemu bez posunu. V tomto prípade môže byť posun vykonaná tak vpravo a doľava. Schéma sa schematicky nezobrazujú, ich hmotnosť sa berie do úvahy štandardne pri výpočte vstupnej hodnoty.

Tiež, posuvné neuróny umožnia výsledok v prípade, keď všetky ostatné neuróny poskytujú 0 ako výstupný parameter. V tomto prípade bez ohľadu na hmotnosť synapsu pre každú ďalšiu vrstvu sa táto hodnota prenáša.

Prítomnosť posunu neurónu opraví situáciu a získa iný výsledok. Uskutočniteľnosť použitia vysídľovacích neurónov je určená testovaním siete s nimi bez nich a porovnávanie výsledkov.

Je však dôležité si uvedomiť, že nestačí na vytvorenie neurónovej siete na dosiahnutie výsledkov. Musí byť tiež vyškolený, čo si vyžaduje aj osobitné prístupy a má svoje vlastné algoritmy. Tento proces je ťažké zavolať jednoduché, pretože jeho implementácia si vyžaduje určité vedomosti a úsilie.

Riešenie úlohy klasifikácie je jednou z najdôležitejších aplikácií neurónových sietí.

Úlohou klasifikácie je úlohou klasifikácie vzorky na jeden z niekoľkých interne netlačiacich sadov. Príkladom takýchto úloh môže byť napríklad úlohou určovania úverovej bonity klienta banky, lekárske úlohy, v ktorých je potrebné určiť napríklad výsledok choroby, riešenie úlohy riadenia portfólia cenných papierov ( Predávajte kúpiť alebo "Hold" Zásoby v závislosti od situácie na trhu), definície úlohy životaschopnosti a naklonení konkurzných firiem.

Účel klasifikácie

Pri riešení úloh klasifikácie je potrebné pripisovať statické vzorky (Charakteristika situácie na trhu, lekárske údaje, informácie o klientoch) špecifické triedy. Možno niekoľko spôsobov, ako reprezentovať údaje. Najbežnejšia je metóda, v ktorej je vzorka reprezentovaná vektorom. Komponenty tohto vektora sú rôzne vzorkové charakteristiky, ktoré ovplyvňujú rozhodovanie, na ktorej triede môže obsahovať túto vzorku. Napríklad údaje z lekárskej karty pacienta môžu byť určené na lekárske problémy ako komponenty tohto vektora. Na základe niektorých informácií o príklade je teda potrebné určiť, ako to možno pripísať. Klasifikátor teda odkazuje na predmet na jednu z tried v súlade s určitým rozdelením N-dimenzionálneho priestoru, ktorý sa nazýva vstupný priestor, A rozmer tohto priestoru je množstvo zložky vektora.

V prvom rade je potrebné určiť úroveň zložitosti systému. V reálnych úlohách sa situácia často vyskytuje, keď je počet vzoriek obmedzený, čo komplikuje definíciu zložitosti úlohy. Je možné rozlíšiť tri hlavné úrovne zložitosti. Prvý (najjednoduchší) - keď sa triedy môžu rozdeliť rovnými čiarami (alebo hyperplany, ak vstupný priestor má rozmery viac ako dve) - tzv lineárna separácia. V druhom prípade sa triedy nemôžu rozdeliť riadkami (lietadlami), ale je možné ich oddeliť s komplexnejšou divíziou - nelineárne oddelenie. V treťom prípade sa triedy pretínajú a môžu hovoriť len o pravdepodobnosť obliekania.

V dokonalom uskutočnení musíme po predbežnom spracovaní získať lineárne oddeliteľnú úlohu, pretože potom, čo je výstavba klasifikátora veľmi zjednodušená. Bohužiaľ, pri riešení skutočných problémov máme obmedzený počet vzoriek, na základe ktorých je vybudovaný klasifikátor. Zároveň nemôžeme vykonávať takéto precesné údaje, pri ktorých sa dosiahne lineárne oddelenie vzoriek.

Pomocou neurónových sietí ako klasifikátora

Priame komunikačné siete sú univerzálnym nástrojom pre aproximáciu funkcií, čo im umožňuje používať pri riešení klasifikačných úloh. Spravidla sú neurónové siete najúčinnejším spôsobom, ako klasifikovať, pretože skutočne vytvárate veľký počet regresných modelov (ktoré sa používajú pri riešení úloh klasifikácie štatistických metód).

Bohužiaľ, mnohé problémy vznikajú pri používaní neurónových sietí v praktických úlohách. Po prvé, vopred nie je známe, aký zložitosť (veľkosť) môže vyžadovať sieť pre pomerne presné mapovanie. Táto ťažkosť môže byť nadmerne vysoká, čo bude vyžadovať komplexnú sieťovú architektúru. Takže Minsk vo svojej práci "Perzistronon" dokázal, že najjednoduchšie jednoduché neurónové siete sú schopné vyriešiť iba lineárne oddelené úlohy. Toto obmedzenie je prekonané pomocou viacvrstvových nervových sietí. Všeobecne možno povedať, že v sieti s jednou skrytou vrstvou je vektor zodpovedajúci vstupnej vzorke konvertovaný skrytou vrstvou v nejakom novom priestore, ktorá môže mať iný rozmer a potom hyperplane zodpovedajúce neurónom Výstupná vrstva, rozdeliť ju do tried. Sieť teda rozpozná nielen vlastnosti zdrojových údajov, ale aj "charakteristiky vlastností" tvorené skrytou vrstvou.

Príprava zdrojových údajov

Ak chcete vybudovať klasifikátor, je potrebné určiť, ktoré parametre ovplyvňujú rozhodnutie o tom, ako vzorka patrí do ktorej triedy. Zároveň môžu existovať dva problémy. Po prvé, ak počet parametrov nestačí, potom sa môže vyskytnúť situácia, v ktorej rovnaký súbor zdrojových údajov spĺňa príklady v rôznych triedach. Potom nie je možné trénovať nervovú sieť a systém nebude fungovať správne (nie je možné nájsť minimum, ktoré zodpovedá takejto sade zdrojových údajov). Zdrojové údaje musia byť konzistentné. Na vyriešenie tohto problému je potrebné zvýšiť rozmer známok značiek (počet vstupných vektorových zložiek zodpovedajúcich vzorke). So zvýšením rozmeru príznakov príznakov sa však situácia môže vyskytnúť, keď počet príkladov môže byť nedostatočná na naučenie siete, a to jednoducho jednoducho zapamätá príklady z odbornej vzorky a nemôže fungovať správne. Pri určovaní značiek je teda potrebné nájsť kompromis s ich číslom.

Ďalej je potrebné určiť spôsob reprezentácie vstupných údajov pre neurónovú sieť, t.j. Určiť spôsob retácie. Zapaľovanie je potrebné, pretože neurónové siete fungujú s údajmi zobrazenými v rozmedziach v rozsahu 0..1 a počiatočné údaje môžu mať ľubovoľný rozsah alebo vo všeobecnosti, aby boli nečíselné údaje. V tomto prípade sú možné rôzne metódy, od jednoduchej lineárnej transformácie do požadovaného rozsahu a končiace s multidimenzionálnou analýzou parametrov a nelineárnej racionalizácie v závislosti od účinku parametrov na seba.

Kódovanie výstupných hodnôt

Úloha klasifikácie v prítomnosti dvoch tried možno vyriešiť v sieti s jedným neurónom vo výstupnej vrstve, ktorá môže trvať jednu z dvoch hodnôt 0 alebo 1, v závislosti na tom, ktorá trieda patrí do vzorky. Ak existuje viacero tried, vystupuje problém spojený s prezentáciou týchto údajov na výstup siete. Najjednoduchší spôsob, ako reprezentovať výstupné údaje v tomto prípade je vektor, ktorého komponenty zodpovedajú rôznym číslam triedy. Súčasne je I-I Vector zložka zodpovedá I-Th triede. Všetky ostatné komponenty sú inštalované v 0. Potom, napríklad druhá trieda bude zodpovedať 1 na 2 sieťový výstup a 0 do zvyšku. Pri interpretácii výsledku sa zvyčajne usúdi, že číslo triedy je určené číslom sieťového výstupu, na ktorom sa objavila maximálna hodnota. Napríklad, ak máme vektor výstupných hodnôt v sieti s tromi výstupmi (0,2.0.6.0.4), potom vidíme, že druhá zložka vektora má maximálnu hodnotu, čo znamená, že trieda, na ktorú tento príklad sa vzťahuje - 2. S touto metódou kódovania je niekedy zavedený koncept dôvera Sieť je, že príklad sa týka tejto triedy. Najjednoduchší spôsob, ako určiť dôveru, je určiť rozdiel medzi maximálnou hodnotou výstupu a hodnotu iného výstupu, ktorý je najbližšie k maximum. Napríklad pre príklad uvedený vyššie, dôvera siete je, že príklad sa vzťahuje na druhú triedu, je určená ako rozdiel medzi druhou a treťou zložkou vektora a je 0,6-0,4 \u003d 0,2. V súlade s tým, tým vyššia je dôvera, tým väčšia je pravdepodobnosť, že sieť poskytla správnu odpoveď. Táto metóda kódovania je najjednoduchšia, ale nie vždy najvhodnejším spôsobom, ako odoslať údaje.

Ostatné spôsoby sú tiež známe. Výstupným vektorom je napríklad číslo klastra zaznamenané v binárnej forme. Potom, ak existuje 8 tried, potrebujeme vektor 3 prvkov, a povedzme, 3 trieda bude zodpovedať vektoru 011. Ale v prípade získania nesprávnej hodnoty na jednej z výstupov môžeme získať nesprávnu klasifikáciu ( Nesprávne číslo klastra), takže má zmysel zvýšiť vzdialenosť medzi dvoma zoskupeniami pomocou kódovania výstupu do kódu o choice, ktorý zvýši spoľahlivosť klasifikácie.

Ďalším prístupom je rozdeliť úlohu s triedami K * (K-1) / 2 podtlaky s dvoma triedami (2 pre 2 kódovanie). V tomto prípade sa poddia, že sieť určuje prítomnosť jednej zo zložiek vektora. Tí. Zdrojový vektor je rozdelený do skupín dvoch zložiek v každom takomto spôsobom, že všetky možné kombinácie výstupnej vektorovej zložky sú zahrnuté v nich. Počet týchto skupín môže byť definovaný ako počet neusporiadaných vzoriek dvoch zo zdrojového komponentu. Z kombinácie

$ A_k ^ n \u003d frac (k{n!\,(k\,-\,n)!} = \frac{k!}{2!\,(k\,-\,2)!} = \frac{k\,(k\,-\,1)}{2}$!}

Potom, napríklad pre úlohu so štyrmi triedami, máme 6 výstupov (subnát) distribuované nasledovne:

N poduštík (výstup) Komponenty
1 1-2
2 1-3
3 1-4
4 2-3
5 2-4
6 3-4

Kde 1 na výstupu hovorí o prítomnosti jednej z komponentov. Potom môžeme ísť na číslo triedy podľa výpočtu siete nasledovne: Zistíme, ktoré kombinácie dostali jeden (presnejšie blízke k jednej) výstupnej hodnote (tj, aké podúdy sme aktivovali), a my presvedčení, že trieda Číslo bude ten, ktorý zadal najväčší počet aktivovaných podúhkov (pozri tabuľku).

Toto kódovanie v mnohých úloh dáva najlepší výsledok ako klasická metóda kódovanie.

Výber hlasitosti siete

Dôležitá je správna voľba hlasitosti siete. Ak chcete vybudovať malý a vysoko kvalitný model, je často jednoducho nemožné a veľký model bude jednoducho zapamätať príklady z odbornej vzorky a nie robiť aproximáciu, ktorá bude samozrejme povedie k nesprávnej práci klasifikátora. Existujú dva hlavné prístupy k výstavbe siete - konštruktívna a deštruktívna. V prvom z nich sa najprv vykoná sieť minimálnej veľkosti a postupne ho zvyšuje, kým sa nedosiahne požadovaná presnosť. Zároveň je na každom kroku opätovne vyškolený. K dispozícii je tiež takzvaná metóda kaskádovej korelácie, v ktorej po skončení ERA sa sieťová architektúra upraví, aby sa minimalizovala chyba. S deštruktívnym prístupom sa najprv vyberie sieť nadhodnoteného objemu a potom sa z nej odstránia uzly a spojenia, málo ovplyvňujúce roztok. Je užitočné zapamätať si nasledujúce pravidlo: počet príkladov v učebnom súbore by mal byť väčší ako počet prispôsobených váh. V opačnom prípade namiesto zovšeobecnenia siete sa sieť jednoducho pamätá na údaje a stratí schopnosť klasifikovať - \u200b\u200bvýsledok bude nedefinovaný pre príklady, ktoré nezadali vzorku tréningu.

Výber sieťovej architektúry

Pri výbere sieťovej architektúry sa typicky testuje niekoľko konfigurácií s iným počtom položiek. V tomto prípade je hlavným ukazovateľom objemu tréningového súboru a zovšeobecňovacia sieťová schopnosť. Typicky používa algoritmus pre učenie šírenia späť (inverzné šírenie) s potvrdením.

Algoritmus pre budovanie klasifikátora na základe nervových sietí

  1. Práca s údajmi
    • Urobte databázu z príkladov charakteristických pre túto úlohu
    • Rozdeliť celý súbor údajov do dvoch súborov: Vzdelávanie a test (je možné rozdeliť 3 súbory: Tréning, test a potvrdenie).
  2. Predbežné spracovanie
    • Vyberte si systém funkcií charakteristických pre túto úlohu a zodpovedajúcim spôsobom previesť údaje na podanie na vstup siete (normalizácia, normalizácia atď.). V dôsledku toho je žiaduce získať lineárne oddelený priestor množstva vzoriek.
    • Vyberte systém kódovania výstupu (klasické kódovanie, 2 až 2 kódovanie atď.)
  3. Projektovanie, školenie a hodnotenie kvality
    • Vyberte Topológiu siete: Počet vrstiev, Počet neurónov vo vrstvách atď.
    • Vyberte funkciu aktivácie neurónov (napríklad "Sigmoid")
    • Vyberte si algoritmus siete
    • Posúďte kvalitu siete na základe potvrdenia sady alebo iné kritérium, optimalizovať architektúru (zníženie hmotnosti, riedenie známok značiek)
    • Zastaví v možnosti siete, ktorá poskytuje najlepšiu schopnosť zovšeobecniť a vyhodnotiť kvalitu práce na skúšobnom množstve
  4. Použitie a diagnostiku
    • Zistiť stupeň vplyvu rôznych faktorov na rozhodnutí (heuristický prístup).
    • Uistite sa, že sieť poskytuje požadovanú presnosť klasifikácie (počet nesprávne rozpoznaných príkladov je malé)
    • V prípade potreby sa vrátite na krok 2 zmenou spôsobu reprezentácie vzoriek alebo zmenu databázy.
    • Prakticky používajte sieť na vyriešenie problému.

S cieľom vybudovať kvalitný klasifikátor, musíte mať kvalitné údaje. Žiadna z metód budovania klasifikátorov založených na nervových sieťach alebo štatistických, nikdy nedáva klasifikáciu požadovanej kvality, ak existujúci súbor príkladov nie je úplne plne a reprezentatívny pre úlohu, ktorú bude musieť systém pracovať.