logo

Co je to neuronová síť?

Neuronové sítě jsou výpočetní modely, které napodobují komplexní funkce lidského mozku. Neuronové sítě se skládají z propojených uzlů nebo neuronů, které zpracovávají data a učí se z nich, což umožňuje úkoly, jako je rozpoznávání vzorů a rozhodování ve strojovém učení. Článek zkoumá více o neuronových sítích, jejich fungování, architektuře a další.

Obsah

Evoluce neuronových sítí

Od 40. let 20. století došlo v oblasti neuronových sítí k řadě pozoruhodných pokroků:



  • 40.–50. léta 20. století: Rané koncepty
    Neuronové sítě začaly zavedením prvního matematického modelu umělých neuronů McCullochem a Pittsem. Ale výpočetní omezení ztěžovala pokrok.
  • 60.–70. léta 20. století: Perceptrony
    Tato éra je definována prací Rosenblatta o perceptronech. Perceptrony jsou jednovrstvé sítě, jejichž použitelnost byla omezena na problémy, které bylo možné řešit lineárně samostatně.
  • 80. léta: Backpropagation a Connectionism
    Vícevrstvá síť trénink umožnil Rumelhart, Hinton a Williamsův vynález metody zpětného šíření. S důrazem na učení prostřednictvím propojených uzlů získal konekcionismus přitažlivost.
  • 90. léta: Boom a zima
    S aplikacemi v oblasti identifikace obrazu, financí a dalších oblastí zaznamenaly neuronové sítě boom. Výzkum neuronových sítí však zažil zimu kvůli přemrštěným výpočetním nákladům a přemrštěným očekáváním.
  • 2000: Obnova a hluboké učení
    Větší datové sady, inovativní struktury a vylepšené možnosti zpracování podnítily návrat. Hluboké učení prokázal úžasnou účinnost v řadě oborů využitím mnoha vrstev.
  • 2010-současnost: dominance hlubokého učení
    Strojovému učení dominovaly konvoluční neuronové sítě (CNN) a rekurentní neuronové sítě (RNN), dvě architektury hlubokého učení. Jejich síla byla demonstrována inovacemi v oblasti hraní, rozpoznávání obrázků a zpracování přirozeného jazyka.

Co jsou to neuronové sítě?

Neuronové sítě extrahovat identifikační znaky z dat bez předprogramovaného porozumění. Síťové komponenty zahrnují neurony, spojení, váhy, zkreslení, funkce šíření a pravidlo učení. Neurony přijímají vstupy, řízené prahovými hodnotami a aktivačními funkcemi. Spojení zahrnují váhy a předsudky regulující přenos informací. Učení, úprava vah a zkreslení probíhá ve třech fázích: výpočet vstupu, generování výstupu a iterativní zdokonalování, které zvyšuje odbornost sítě v různých úkolech.

Tyto zahrnují:

přepínač strojopisu
  1. Neuronová síť je simulována novým prostředím.
  2. Poté se v důsledku této simulace změní volné parametry neuronové sítě.
  3. Neuronová síť pak reaguje novým způsobem na okolí kvůli změnám svých volných parametrů.
nn-Geeksforgeeks


Význam neuronových sítí

Schopnost neuronových sítí identifikovat vzorce, řešit složité hádanky a přizpůsobovat se měnícímu se prostředí je nezbytná. Jejich schopnost učit se z dat má dalekosáhlé účinky, od revolučních technologií, jako je např zpracování přirozeného jazyka a samořídící automobily k automatizaci rozhodovacích procesů a zvyšování efektivity v mnoha průmyslových odvětvích. Vývoj umělé inteligence je do značné míry závislý na neuronových sítích, které také pohánějí inovace a ovlivňují směr technologií.

Jak fungují neuronové sítě?

Ukažme si na příkladu fungování neuronové sítě:

Zvažte neuronovou síť pro klasifikaci e-mailů. Vstupní vrstva přebírá funkce, jako je obsah e-mailu, informace o odesílateli a předmět. Tyto vstupy, vynásobené upravenými váhami, procházejí skrytými vrstvami. Síť se prostřednictvím školení učí rozpoznávat vzorce označující, zda je e-mail spam či nikoli. Výstupní vrstva s binární aktivační funkcí předpovídá, zda je e-mail spam (1) nebo ne (0). Jak síť iterativně zpřesňuje svou váhu pomocí zpětné propagace, stává se zběhlou v rozlišování mezi spamem a legitimními e-maily a předvádí praktičnost neuronových sítí v aplikacích reálného světa, jako je filtrování e-mailů.

css zarovnání textu

Fungování neuronové sítě

Neuronové sítě jsou složité systémy, které napodobují některé rysy fungování lidského mozku. Skládá se ze vstupní vrstvy, jedné nebo více skrytých vrstev a výstupní vrstvy tvořené vrstvami umělých neuronů, které jsou spojeny. Dvě fáze základního procesu se nazývají zpětné šíření a dopředné šíření .

nn-ar-Geeksforgeeks


Dopředná propagace

  • Vstupní vrstva: Každý prvek ve vstupní vrstvě je reprezentován uzlem v síti, který přijímá vstupní data.
  • Hmotnosti a připojení: Váha každého neuronového spojení udává, jak silné spojení je. V průběhu tréninku se tyto váhy mění.
  • Skryté vrstvy: Každý neuron skryté vrstvy zpracovává vstupy tak, že je vynásobí váhami, sečte je a poté je předá aktivační funkcí. Tímto způsobem je zavedena nelinearita, která umožňuje síti rozpoznat složité vzory.
  • Výstup: Konečný výsledek se získá opakováním procesu, dokud není dosaženo výstupní vrstvy.

Zpětná propagace

  • Výpočet ztráty: Výstup sítě je vyhodnocen oproti skutečným cílovým hodnotám a k výpočtu rozdílu se používá ztrátová funkce. Pro regresní problém, Střední čtvercová chyba (MSE) se běžně používá jako nákladová funkce.
    Funkce ztráty: MSE = frac{1}{n} Sigma^{n}_{i=1} (y_{i} - hat y_{i})^2
  • Gradient sestup: Gradientní klesání pak síť používá ke snížení ztráty. Pro snížení nepřesnosti se váhy mění na základě derivace ztráty s ohledem na každou váhu.
  • Nastavení závaží: Váhy se upravují při každém spojení aplikací tohoto iteračního procesu, popř zpětné šíření , zpět přes síť.
  • Výcvik: Během trénování s různými vzorky dat se celý proces dopředného šíření, výpočtu ztrát a zpětného šíření provádí iterativně, což umožňuje síti přizpůsobit se a učit se vzory z dat.
  • Aktivační funkce: Nelinearita modelu je zavedena aktivačními funkcemi, jako je např rektifikovaná lineární jednotka (ReLU) hod sigmatu . Jejich rozhodnutí, zda vypálit neuron, je založeno na celém váženém vstupu.

Učení neuronové sítě

1. Učení s řízeným učením

v učení pod dohledem , je neuronová síť vedena učitelem, který má přístup k oběma vstupně-výstupním párům. Síť vytváří výstupy na základě vstupů bez zohlednění okolí. Porovnáním těchto výstupů s požadovanými výstupy známými učiteli je generován chybový signál. Za účelem snížení chyb se parametry sítě mění iterativně a zastaví se, když je výkon na přijatelné úrovni.

2. Učení s učením bez dozoru

V něm chybí ekvivalentní výstupní proměnné učení bez dozoru . Jeho hlavním cílem je pochopit základní strukturu příchozích dat (X). Není přítomen žádný instruktor, který by mohl poradit. Místo toho je zamýšleným výsledkem modelování datových vzorů a vztahů. Slova jako regrese a klasifikace souvisejí s učením pod dohledem, zatímco učení bez dozoru je spojeno se shlukováním a asociací.

3. Učení s posilovacím učením

Prostřednictvím interakce s okolím a zpětné vazby v podobě odměn či trestů síť získává znalosti. Cílem sítě je najít politiku nebo strategii, která optimalizuje kumulativní odměny v průběhu času. Tento druh se často používá v herních a rozhodovacích aplikacích.

Typy neuronových sítí

Existují sedm typy neuronových sítí, které lze použít.

  • Dopředné sítě: A dopředná neuronová síť je jednoduchá architektura umělé neuronové sítě, ve které se data přesouvají ze vstupu na výstup jedním směrem. Má vstupní, skryté a výstupní vrstvy; chybí zpětnovazební smyčky. Díky své přímočaré architektuře je vhodný pro řadu aplikací, jako je regrese a rozpoznávání vzorů.
  • Vícevrstvý perceptron (MLP): MLP je typ dopředné neuronové sítě se třemi nebo více vrstvami, včetně vstupní vrstvy, jedné nebo více skrytých vrstev a výstupní vrstvy. Využívá nelineární aktivační funkce.
  • Konvoluční neuronová síť (CNN): A Konvoluční neuronová síť (CNN) je specializovaná umělá neuronová síť určená pro zpracování obrazu. Využívá konvoluční vrstvy k automatickému učení hierarchických prvků ze vstupních obrázků, což umožňuje efektivní rozpoznávání a klasifikaci obrázků. CNN způsobily revoluci v počítačovém vidění a jsou klíčové v úkolech, jako je detekce objektů a analýza obrazu.
  • Rekurentní neuronová síť (RNN): Typ umělé neuronové sítě určený pro sekvenční zpracování dat se nazývá a Rekurentní neuronová síť (RNN). Je vhodný pro aplikace, kde jsou kritické kontextové závislosti, jako je predikce časových řad a zpracování přirozeného jazyka, protože využívá zpětnovazební smyčky, které umožňují přežití informací v síti.
  • Dlouhodobá krátkodobá paměť (LSTM): LSTM je typ RNN, který je navržen k překonání problému mizejícího gradientu při trénování RNN. Využívá paměťové buňky a brány k selektivnímu čtení, zápisu a mazání informací.

Jednoduchá implementace neuronové sítě

Python3

import> numpy as np> # array of any amount of numbers. n = m> X>=> np.array([[>1>,>2>,>3>],> >[>3>,>4>,>1>],> >[>2>,>5>,>3>]])> # multiplication> y>=> np.array([[.>5>, .>3>, .>2>]])> # transpose of y> y>=> y.T> # sigma value> sigm>=> 2> # find the delta> delt>=> np.random.random((>3>,>3>))>-> 1> for> j>in> range>(>100>):> > ># find matrix 1. 100 layers.> >m1>=> (y>-> (>1>/>(>1> +> np.exp(>->(np.dot((>1>/>(>1> +> np.exp(> >->(np.dot(X, sigm))))), delt))))))>*>((>1>/>(> >1> +> np.exp(>->(np.dot((>1>/>(>1> +> np.exp(> >->(np.dot(X, sigm))))), delt)))))>*>(>1>->(>1>/>(> >1> +> np.exp(>->(np.dot((>1>/>(>1> +> np.exp(> >->(np.dot(X, sigm))))), delt)))))))> ># find matrix 2> >m2>=> m1.dot(delt.T)>*> ((>1>/>(>1> +> np.exp(>->(np.dot(X, sigm)))))> >*> (>1>->(>1>/>(>1> +> np.exp(>->(np.dot(X, sigm)))))))> ># find delta> >delt>=> delt>+> (>1>/>(>1> +> np.exp(>->(np.dot(X, sigm))))).T.dot(m1)> ># find sigma> >sigm>=> sigm>+> (X.T.dot(m2))> # print output from the matrix> print>(>1>/>(>1> +> np.exp(>->(np.dot(X, sigm)))))>
>
>

Výstup:

[[0.99999325 0.99999375 0.99999352]  [0.99999988 0.99999989 0.99999988]  [1. 1. 1. ]]>

Výhody neuronových sítí

Neuronové sítě jsou široce používány v mnoha různých aplikacích kvůli jejich mnoha výhodám:

  • Přizpůsobivost: Neuronové sítě jsou užitečné pro činnosti, kde je spojení mezi vstupy a výstupy složité nebo není dobře definováno, protože se mohou přizpůsobit novým situacím a učit se z dat.
  • Rozpoznávání vzorů: Jejich odbornost v rozpoznávání vzorů je činí účinnými v úkolech, jako je identifikace zvuku a obrazu, zpracování přirozeného jazyka a další složité vzory dat.
  • Paralelní zpracování: Protože neuronové sítě jsou přirozeně schopny paralelního zpracování, mohou zpracovávat mnoho úloh najednou, což zrychluje a zvyšuje efektivitu výpočtů.
  • Nelinearita: Neuronové sítě jsou schopny modelovat a chápat komplikované vztahy v datech díky nelineárním aktivačním funkcím nalezeným v neuronech, které překonávají nevýhody lineárních modelů.

Nevýhody neuronových sítí

Neuronové sítě, i když jsou výkonné, nejsou bez nevýhod a obtíží:

  • Výpočetní náročnost: Trénink velkých neuronových sítí může být pracný a výpočetně náročný proces, který vyžaduje hodně výpočetního výkonu.
  • Povaha černé skříňky: Jako modely černé skříňky představují neuronové sítě problém v důležitých aplikacích, protože je obtížné pochopit, jak se rozhodují.
  • Převybavení: Overfitting je jev, při kterém neuronové sítě ukládají tréninkový materiál do paměti, spíše než aby identifikovaly vzory v datech. Ačkoli regularizační přístupy to pomáhají zmírnit, problém stále přetrvává.
  • Potřeba velkých datových sad: Pro efektivní trénink potřebují neuronové sítě často velké, označené datové sady; jinak může jejich výkon trpět neúplnými nebo zkreslenými údaji.

Často kladené otázky (FAQ)

1. Co je to neuronová síť?

Neuronová síť je umělý systém vytvořený z propojených uzlů (neuronů), které zpracovávají informace, modelované podle struktury lidského mozku. Používá se v úlohách strojového učení, kde jsou vzory extrahovány z dat.

jarní rám

2. Jak funguje neuronová síť?

Vrstvy spojených neuronů zpracovávají data v neuronových sítích. Síť zpracovává vstupní data, upravuje váhy během tréninku a vytváří výstup v závislosti na vzorcích, které objevila.

3. Jaké jsou běžné typy architektur neuronových sítí?

Dopředné neuronové sítě, rekurentní neuronové sítě (RNN), konvoluční neuronové sítě (CNN) a sítě s dlouhou krátkodobou pamětí (LSTM) jsou příklady běžných architektur, z nichž každá je navržena pro určitý úkol.

4. Jaký je rozdíl mezi řízeným a nekontrolovaným učením v neuronových sítích?

Při učení pod dohledem se značená data používají k trénování neuronové sítě, aby se mohla naučit mapovat vstupy na odpovídající výstupy. Učení bez dozoru pracuje s neoznačenými daty a hledá struktury nebo vzory v datech .

5. Jak neuronové sítě zpracovávají sekvenční data?

Zpětnovazební smyčky, které rekurentní neuronové sítě (RNN) obsahují, jim umožňují zpracovávat sekvenční data a v průběhu času zachytit závislosti a kontext.