Neurónové siete: príklad, definícia, význam, rozsah

Umelá inteligencia a neurónové siete sú neuveriteľne vzrušujúce a výkonné metódy založené na strojovom učení, ktoré sa používajú na riešenie mnohých problémov v reálnom svete. Najjednoduchším príkladom neurónovej siete je štúdium interpunkcie a gramatiky automaticky vytvorte úplne nový text s implementáciou všetkých pravidiel pravopisu.

História neurónovej siete

Počítačoví vedci sa už dlho snažia modelovať ľudský mozog. V Roku 1943 Warren S. McCulloch a Walter Pitts vyvinuli prvý koncepčný model umelej neurónovej siete. V článku "logický počet myšlienok súvisiacich s nervovou aktivitou" opísali príklad neurónovej siete, koncept neurónu - jednej bunky žijúcej v spoločnej sieti, prijímajúcej vstupné údaje, ich spracovania a generovania výstupných signálov.

História neurónovej siete

Ich práca, rovnako ako mnoho iných vedcov, nebola určená na presné opísanie práce biologického mozgu. Umelá neurónová sieť bola vyvinutá ako výpočtový model, ktorý pracuje na zásada fungovanie mozgu na riešenie širokého spektra úloh.

Je zrejmé, že existujú cvičenia, ktoré sa dajú ľahko vyriešiť pre počítač, ale pre človeka ťažké, napríklad extrahovanie druhej odmocniny z desaťciferného čísla. Neurónová sieť vypočíta tento príklad za menej ako milisekundu a osobe to bude trvať minúty. Na druhej strane sú niektoré, ktoré je pre človeka neuveriteľne ľahké vyriešiť, ale počítač si napríklad nemôže zvoliť pozadie obrázka.

Vedci, ktorí objavili AI

Vedci strávili veľa času skúmaním a implementáciou komplexných riešení. Najčastejšie otázky príkladom neurónovej siete vo výpočtovej technike je rozpoznávanie vzorov. Rozsah použitia sa pohybuje od optické rozpoznávanie znakov a fotografie, tlačené alebo Ručne písané skeny do digitálneho textu na rozpoznávanie tváre.

Biologické výpočtové stroje

Biologické výpočtové stroje

Ľudský mozog je mimoriadne zložitý a najvýkonnejší známy počítač. Jeho vnútorné fungovanie je modelované okolo konceptu neurónov a ich sietí, známych ako biologické neurónové siete. Mozog obsahuje asi 100 miliárd neurónov, ktoré sú spojené týmito sieťami.

Na vysokej úrovni navzájom interagujú prostredníctvom rozhrania pozostávajúceho z axónových terminálov pripojených k dendritom cez medzeru-synapsiu. Jednoducho povedané, jeden prenáša správu druhému prostredníctvom tohto rozhrania, ak súčet vážených vstupných signálov z jeden alebo viac neurónov prekračuje prah na spustenie prenosu. Toto sa nazýva aktivácia, keď je prekročená prahová hodnota a správa sa prenáša na ďalší neurón.

Proces súčtu môže byť matematicky zložitý. Vstupný signál je vážená kombinácia takýchto signálov a váženie každého znamená, že tento vstup môže rôznymi spôsobmi ovplyvniť následné výpočty a konečný výstup siete.

Prvky neurálneho modelu

Hlboké učenie je termín používaný pre komplexné neurónové siete pozostávajúce z niekoľkých vrstiev. Vrstvy pozostávajú z uzlov. Uzol je jednoducho miesto, kde sa uskutočňuje výpočet, ktorý sa spustí, keď čelíte dostatočnému počtu podnetov. Uzol kombinuje vstupné údaje zo sady koeficientov alebo váh, ktoré buď zosilňujú alebo oslabujú tento signál, čím im priraďujú význam pre úlohu.

Siete hlbokého učenia sa líšia od bežných neurónových sietí s jednou skrytou vrstvou. Príklad tréningu neurónových sietí-Kohonen networks.

Prvky neurálneho modelu

V sieťach hlbokého učenia sa každá vrstva naučí daný súbor funkcií na základe výstupných informácií predchádzajúcej úrovne. Čím ďalej sa pohybujete do neurónovej siete, tým zložitejšie sú objekty, ktoré môžu uzly rozpoznať, pretože kombinujú a rekombinujú objekty z predchádzajúcej úrovne.

Siete hlbokého učenia vykonávajú automatickú extrakciu funkcií bez ľudského zásahu, na rozdiel od väčšiny tradičných algoritmov, a končia výstupnou úrovňou: logickým alebo softmax klasifikátorom, ktorý priraďuje pravdepodobnosť konkrétnemu výsledku a nazýva sa predpoveď.

Annina čierna skrinka

Umelé neurónové siete (INS) sú štatistické modely čiastočne modelované na biologických neurónových sieťach. Sú schopné paralelne spracovávať nelineárne vzťahy medzi vstupmi a výstupmi. Takéto modely sa vyznačujú prítomnosťou adaptívnych váh pozdĺž ciest medzi neurónmi, ktoré je možné nakonfigurovať pomocou algoritmu učenia na zlepšenie celého modelu.

Architektonicky umelý neurón (ANN)

Jednoduchým príkladom neurónovej siete je architektonicky Umelá neurónová sieť ANN, kde:

  • Vstupná vrstva je vstupná vrstva.
  • Skrytá vrstva-Skrytá vrstva.
  • Výstupná vrstva-výstupná vrstva.

Modeluje sa pomocou vrstiev umelých neurónov alebo výpočtových jednotiek schopných prijímať vstupné údaje a pomocou aktivačnej funkcie spolu s prahovou hodnotou na určenie, či sa správy prenášajú.

V jednoduchom modeli je prvou vrstvou vstup, po ktorom nasleduje skrytý a nakoniec výstup. Každý môže obsahovať jeden alebo viac neurónov. Modely sa môžu stať čoraz zložitejšími s rastúcimi možnosťami abstrakcie a riešenie problémov, počet skrytých vrstiev, počet neurónov v danej vrstve a počet ciest medzi nimi.

Architektúra a nastavenie modelu sú okrem samotných učebných algoritmov hlavnými komponentmi metód ANN. Sú mimoriadne výkonné a považujú sa za algoritmy čiernej skrinky, čo znamená, že ich vnútorné fungovanie je veľmi ťažké pochopiť a vysvetliť.

Algoritmy Hlbokého Učenia

Hlboké učenie - Tento koncept Znie to dosť nahlas, v skutočnosti je to len termín popisujúci určité typy neurónových sietí a súvisiace algoritmy, ktoré na výpočet cieľového výstupu spotrebúvajú Nespracované vstupné údaje prostredníctvom mnohých vrstiev nelineárnych transformácií.

Bezobslužná extrakcia funkcií je tiež oblasťou, v ktorej hlboké učenie presahuje všetky očakávania. Príklad tréningu neurónových sietí-Skil networks.

Algoritmy Hlbokého Učenia

Dátový vedec alebo programátor je tradične zodpovedný za vykonávanie procesu extrakcie funkcií vo väčšine ostatných prístupov strojového učenia spolu s výberom a dizajnom funkcií.

Optimálne parametre algoritmu

Algoritmy pre učebné funkcie oprávňujú stroj naučiť sa konkrétnu úlohu pomocou zdokonalenej sady vzdelávacích príležitostí. Inými slovami, učia sa učiť. Tento princíp sa úspešne používa v mnohých aplikáciách a považuje sa za jednu z najpokročilejších metód umelej inteligencie. Zodpovedajúce algoritmy sa často používajú na kontrolované, nekontrolované a čiastočne kontrolované úlohy.

V modeloch založených na neurónových sieťach je počet vrstiev väčší ako v algoritmoch povrchového učenia. Malé algoritmy sú menej zložité a vyžadujú hlbšiu znalosť optimálnych funkcií, medzi ktoré patrí výber a vývoj. Naopak, algoritmy hlbokého učenia sa viac spoliehajú na optimálny výber modelu a jeho optimalizáciu ladením. Sú vhodnejšie na riešenie problémov, keď je predchádzajúca znalosť funkcií menej žiaduca alebo potrebná a zaznamenané údaje nie sú k dispozícii alebo nie sú potrebné na použitie.

Vstupné údaje sa transformujú vo všetkých svojich vrstvách pomocou umelých neurónov alebo blokov procesora. Príklad kódu neurónovej siete sa nazýva CAP.

čiapka

Hodnota CAP sa používa na meranie v architektúre modelu hlbokého učenia. Väčšina vedcov v tejto oblasti súhlasí s tým, že má viac ako dve nelineárne vrstvy pre CAP, a niektorí sa domnievajú, že caps s viac ako desiatimi vrstvami si vyžadujú príliš hlboké učenie.

Hodnota stropu

Podrobná diskusia o mnohých rôznych architektúrach modely a algoritmy tohto druhu učenia sú veľmi priestorové a rozporuplné. Najviac študované sú:

  1. Priame neurónové siete.
  2. Opakujúca sa neurónová sieť.
  3. Viacvrstvové Perceptróny (MLP).
  4. Konvolučné neurónové siete.
  5. Rekurzívne neurónové siete.
  6. Siete Hlbokej Viery.
  7. Konvolučné siete hlbokých presvedčení.
  8. Samoorganizujúce sa mapy.
  9. Hlboké Boltzmann Stroje.
  10. Zložené automatické kódovače s potlačením hluku.

Špičkové moderné architektúry

Perceptróny sa považujú za neurónové siete prvej generácie, výpočtové modely jedného neurónu. Vynašiel ich v roku 1956 Frank Rosenblatt v diele "Perceptron: navrhovaný model ukladania a organizácie informácií v mozgu". Perceptron, tiež nazývaný priama komunikačná sieť, prenáša informácie z prednej strany na zadnú stranu.

Opakujúce sa neurónové siete RNN premenia vstupnú sekvenciu na výstupnú sekvenciu, ktorá sa nachádza v inej oblasti, napríklad zmení postupnosť zvukových tlakov na postupnosť identifikátorov slov.

John Hopfield predstavil Hopfield Net v dokumente z roku 1982 "neurónové siete a fyzické systémy s novými kolektívnymi výpočtovými schopnosťami". V Hopfieldovej sieti (HN) je každý neurón pripojený k akémukoľvek inému. Trénujú sa nastavením svojich hodnôt na požadovanú schému, po ktorej je možné vypočítať hmotnostné koeficienty.

Boltzmann Stroj

Boltzmannov stroj je typ stochastickej rekurentnej neurónovej siete, ktorú možno považovať za analóg Hopfieldových sietí. Bol to jeden z prvých variantov študujúcich vnútorné reprezentácie riešenie zložitých kombinatorických problémov. Vstupné neuróny sa stávajú výstupnými neurónmi na konci úplného obnovenia.

Generatívna Kontradiktórna sieť Iana Goodfellowa (GAN) pozostáva z dvoch sietí. Často ide o kombináciu posuvných a konvolučných neurónových sietí. Jeden generuje generatívny obsah a druhý musí hodnotiť diskriminačný obsah.

Začíname so SKIL z Pythonu

Hlboké učenie neurónovej siete pomocou Pythonu ako príklad porovnáva vstupy s výstupmi a nájde korelácie. Je známy ako univerzálny aproximátor, pretože sa môže naučiť aproximovať neznámu funkciu f (x) = y medzi akýmkoľvek vstupom " x "a akýmkoľvek výstupom" y " za predpokladu, že súvisia koreláciou alebo kauzalitou.

V procese učenia existuje správne "f" alebo spôsob, ako zmeniť " x " na "y", či už je to f (x) = 3x + 12 alebo f (x) = 9x-0,1.

Úlohy klasifikácie súvisia so súbormi údajov, takže neurónové siete vykonávajú koreláciu medzi štítkami a údajmi. Je známe učenie pod dohľadom nasledujúcich typov:

  • rozpoznávanie tváre;
  • identifikácia ľudí v obrazoch;
  • definícia výrazu tváre: nahnevaný, radostný;
  • identifikácia objektov na obrázkoch: značky stop, chodci, značky jazdných pruhov;
  • rozpoznávanie gest vo videu;
  • určenie hlasu rečníkov;
  • klasifikácia spamového textu.

Príklad konvolučnej neurónovej siete

Konvolučná neurónová sieť je podobná viacvrstvovej perceptrónovej sieti. Hlavný rozdiel je v tom, že CNN študuje, ako je štruktúrovaná a na aký účel sa používa. Inšpiráciou CNN boli biologické procesy. Ich štruktúra má vzhľad vizuálnej kôry prítomnej u zvieraťa. Používajú sa v oblasti počítačového videnia a sú úspešné pri dosahovaní moderných úroveň výkonu v rôznych oblastiach výskumu.

Predtým, ako začnú kódovať CNN, sa na zostavenie modelu použije knižnica, napríklad Keras s backendom Tensorflow. Najprv vykonajte potrebný import. Knižnica pomáha budovať konvolučnú neurónovú sieť. Načítanie súboru údajov mnist cez keras. Importujte sekvenčný model keras, do ktorého môžete pridať konvolučné a spojovacie vrstvy, husté vrstvy, pretože sa používajú na predpovedanie štítkov. Rozbaľovacia vrstva znižuje dodatočné vybavenie a vyrovnávacia vrstva prevádza trojrozmerný vektor na jednorozmerný. Nakoniec importujeme numpy pre maticové operácie:

  • Y = 2 # hodnota 2 predstavuje, že obrázok má číslicu 2;
  • Y = [0,0,1,0,0,0,0,0,0,0] # 3. pozícia vo vektore je vytvorená 1;
  • # Tu sa hodnota triedy prevedie na maticu binárnej triedy.

Konštrukčný algoritmus:

  1. Pridajte do sekvenčného modelu ultra presné vrstvy a maximálny bazén.
  2. Pridajte medzi ne rozbaľovacie vrstvy. Rozbaľovacia ponuka náhodne zakáže niektoré neuróny v sieti, čo núti údaje nájsť nové cesty a znižuje preťaženie.
  3. Pridávajú sa husté vrstvy, ktoré sa používajú na predpovedanie triedy (0-9).
  4. Zostavte model s kategorickou funkciou straty krížovej entropie, optimalizátorom Adadelta a metrikou presnosti.
  5. Po tréningu sa straty a presnosť modelu odhadujú podľa testovacích údajov a jeho.
konštrukčný algoritmus je vytlačený

Modelovanie v MATLABe

Predstavme si jednoduchý príklad neurónových sietí modelovania Matlab.

Za predpokladu, že "a" model má tri vstupy "a", "b" a "c" a generuje výstup "y".

Simulácia v MATLABe

Na účely generovania údajov: y = 5a + bc + 7c.

Najprv je predpísaný malý skript na generovanie údajov:

  • a = Rand (11000);
  • b = Rand (1,1000);
  • c = Rand (1,1000);
  • n = Rand (1,1000) * 0,05;
  • y = a * 5 + B * c + 7 * c + n,

kde n je šum, špeciálne pridaný, aby vyzeral ako skutočné údaje. Hodnota šumu je 0,1 a je rovnomerná.

Vstup je teda množina "a", "b" a "c", a výstup je:

  • I = [a; b; c];
  • O = y.

Ďalej použite vstavanú funkciu MATLAB newff na vygenerovanie modelu.

Príklady úloh neurónovej siete

Najprv vytvorte maticu R veľkosti 3 * 2. Prvý stĺpec zobrazí minimum všetkých troch vstupov a druhý zobrazí maximum troch vstupov. V tomto prípade sú tri vstupy v rozsahu od 0 do 1, takže:

R = [0 1; 0 1; 0 1].

Teraz vytvorte maticu veľkosti, ktorá má v-veľkosť všetkých vrstiev: s = [51].

Teraz sa funkcia newff nazýva takto:

net = newff ([0 1; 0 1; 0 1], S, {`tansig`,`purelin`}).

Neurálny model {`tansig`,` purelin`} zobrazuje funkciu zobrazenia dvoch vrstiev.

Trénujte ho s údajmi, ktoré boli vytvorené skôr: net = vlak(net, I, o).

Sieť je vyškolená, môžete vidieť krivku výkonu tak, ako je vyškolená.

Výkonová krivka

Teraz to znova modelujú na rovnakých údajoch a porovnávajú výstupné údaje:

O1 = sim (net, i);

pozemok(1: 1000,O,1:1000, O1).

Takže vstupná matica bude:

  • sieť.Iw{1}
  • -0.3684 0.0308 -0.5402
  • 0.4640 0.2340 0.5875
  • 1.9569 -1.6887 1.5403
  • 1.1138 1.0841 0.2439
  • sieť.LW{2,1}
  • -11.1990 9.4589 -1.0006 -0.9138

Aplikácie Umelej Inteligencie

Príklady implementácie neurónovej siete zahŕňajú online riešenia pre samoobsluhu a vytváranie spoľahlivých pracovných postupov. Pre chatbotov sa používajú modely hlbokého učenia a keďže sa budú naďalej vyvíjať, dá sa očakávať, že táto oblasť sa bude viac využívať pre širokú škálu podnikov.

Oblasti použitia:

  1. Automatický strojový preklad. Nie je to niečo nové, hlboké učenie pomáha zlepšiť Automatický preklad textu pomocou stohovaných sietí a umožňuje prekladať obrázky.
  2. Jednoduchým príkladom použitia neurónových sietí je pridanie farieb k čiernobielym obrázkom a videám. Dá sa to urobiť automaticky pomocou modelov s hĺbkovou štúdiou.
  3. Stroje sa učia interpunkciu, gramatiku a štýl fragmentu textu a môžu používať model vyvinutý nimi automaticky vytvorte úplne nový text so správnym pravopisom, gramatikou a štýlom textu.

Umelé neurónové siete ANN a sofistikovanejšie techniky hlbokého učenia patria medzi najpokročilejšie nástroje na riešenie zložitých problémov. Aj keď je rozmach aplikácií v blízkej budúcnosti nepravdepodobný, pokrok v technológiách a aplikáciách umelej inteligencie bude určite vzrušujúci.

Napriek tomu, že deduktívne uvažovanie, logické závery a rozhodovací používanie počítača je dnes ešte veľmi vzdialené od dokonalosti, v aplikácii sa už dosiahol výrazný pokrok metódy umelej inteligencie súvisiace algoritmy.

Články na tému