Představujeme opakující se neuronové sítě (RNN)

Opakující se neuronová síť je jedním typem umělé neuronové sítě (ANN) a používá se v aplikačních oblastech zpracování přirozeného jazyka (NLP) a rozpoznávání řeči. Model RNN je navržen tak, aby rozpoznával sekvenční charakteristiky dat a poté pomocí vzorů předpovídal nadcházející scénář.

Fungování opakujících se neuronových sítí

Když mluvíme o tradičních neuronových sítích, všechny výstupy a vstupy jsou na sobě nezávislé, jak ukazuje následující diagram:

Ale v případě opakujících se neuronových sítí je výstup z předchozích kroků veden do vstupu aktuálního stavu. Například pro předpovídání dalšího písmene jakéhokoli slova nebo předpovídání dalšího slova věty je třeba si pamatovat předchozí písmena nebo slova a ukládat je do nějaké podoby paměti.

Skrytá vrstva je ta, která si pamatuje některé informace o posloupnosti. Jednoduchým příkladem reálného života, se kterým můžeme RNN spojit, je, když sledujeme film, a v mnoha případech jsme připraveni předpovídat, co se bude dít dál, ale co když se někdo právě připojil k filmu a on je požádán, aby předpověděl, co se stane příště? Jaká bude jeho odpověď? Nebude mít potuchy, protože si nejsou vědomi předchozích událostí filmu a nemají o tom žádnou paměť.

Níže je uveden typický model RNN:

Modely RNN mají paměť, která si vždy pamatuje, co bylo provedeno v předchozích krocích a co bylo vypočítáno. Stejná úloha se provádí na všech vstupech a RNN používá stejný parametr pro každý ze vstupů. Protože tradiční neuronová síť má nezávislé sady vstupů a výstupů, jsou složitější než RNN.

Nyní se pokusíme porozumět rekurentní neuronové síti pomocí příkladu.

Řekněme, že máme neuronovou síť s 1 vstupní vrstvou, 3 skrytými vrstvami a 1 výstupní vrstvou.

Když mluvíme o jiných nebo tradičních neuronových sítích, budou mít ve svých skrytých vrstvách vlastní sady předpojatostí a hmotností jako (w1, b1) pro skrytou vrstvu 1, (w2, b2) pro skrytou vrstvu 2 a (w3, b3) ) pro třetí skrytou vrstvu, kde: w1, w2 a w3 jsou hmotnosti a b1, b2 a b3 jsou předpětí.

Vzhledem k tomu můžeme říci, že každá vrstva není závislá na žádné jiné a že si nemohou zapamatovat nic o předchozím vstupu:

Nyní bude RNN dělat následující:

  • Nezávislé vrstvy budou převedeny na závislou vrstvu. To se provádí poskytováním stejných předpětí a hmotností všem vrstvám. To také snižuje počet parametrů a vrstev v rekurentní neuronové síti a pomáhá RNN zapamatovat si předchozí výstup výstupem předchozího výstupu jako vstupu do nadcházející skryté vrstvy.
  • Abych to shrnul, všechny skryté vrstvy mohou být spojeny do jedné opakující se vrstvy tak, že hmotnosti a předpětí jsou stejné pro všechny skryté vrstvy.
    Opakující se neuronová síť bude tedy vypadat takto:

Nyní je čas vypořádat se s některými rovnicemi pro model RNN.

  • Pro výpočet aktuálního stavu

h t= f (h t-1, x t ),

Kde:

x t je stav vstupu
h t-1 je předchozí stav,
h t je aktuální stav.

  • Pro výpočet aktivační funkce

h t= tanh (W hh h t-1 +W xh x t ),

Kde:
W xh je hmotnost na vstupním neuronu,

W hh je hmotnost v opakujícím se neuronu.

  • Pro výpočet výkonu:

Y t =W hy h t.

Kde,
Y t je výstup a
W hy je hmotnost na výstupní vrstvě.

Kroky pro trénink opakující se neuronové sítě

  1. Ve vstupních vrstvách je počáteční vstup odeslán se všemi, které mají stejnou hmotnost a aktivační funkci.
  2. Pomocí aktuálního vstupu a předchozího stavu výstupu se vypočítá aktuální stav.
  3. Nyní se aktuální stav h t stane h t-1 pro druhý krok.
  4. To neustále opakuje všechny kroky a řeší jakýkoli konkrétní problém, může to trvat tolikrát, kdy se připojí k informacím ze všech předchozích kroků.
  5. Konečný krok se pak vypočítá podle aktuálního stavu konečného stavu a všech ostatních předchozích kroků.
  6. Nyní je generována chyba výpočtem rozdílu mezi skutečným výstupem a výstupem generovaným naším modelem RNN.
  7. Posledním krokem je, když nastane proces zpětného propouštění, kdy se chyba aktualizuje zpětným aktualizováním vah.

Výhody opakujících se neuronových sítí

  1. RNN může zpracovávat vstupy libovolné délky.
  2. Model RNN je modelován tak, aby si pamatoval každou informaci v průběhu času, což je velmi užitečné v každém prediktoru časové řady.
  3. I když je vstupní velikost větší, velikost modelu se nezvětší.
  4. Hmotnosti lze sdílet v časových krocích.
  5. RNN může používat svou vnitřní paměť pro zpracování libovolné řady vstupů, což není případ neuronových sítí.

Nevýhody opakujících se neuronových sítí

  1. Kvůli jeho opakující se povaze je výpočet pomalý.
  2. Výcvik modelů RNN může být obtížný.
  3. Pokud jako aktivační funkce používáme relu nebo tanh, je velmi obtížné zpracovat sekvence, které jsou velmi dlouhé.
  4. Jsou náchylné k problémům, jako je exploze a gradient mizí.

Závěr

V tomto článku jsme se dozvěděli další typ umělé neuronové sítě zvané Rekurentní neuronová síť, zaměřili jsme se na hlavní rozdíl, který způsobuje, že RNN vyniká od ostatních typů neuronových sítí, oblastí, kde může být rozsáhle využívána, například při rozpoznávání řeči. a NLP (zpracování přirozeného jazyka). Dále jsme zašli za prací na modelech a funkcích RNN, které se používají k vytvoření robustního modelu RNN.

Doporučené články

Toto je průvodce rekurentními neuronovými sítěmi. Zde diskutujeme úvod, jak to funguje, kroky, výhody a nevýhody RNN atd. Další informace naleznete také v našich dalších navrhovaných článcích -
  1. Co je to neuronové sítě?
  2. Rámce strojového učení
  3. Úvod do umělé inteligence
  4. Úvod do analýzy velkých dat
  5. Implementace neuronových sítí

Kategorie: