Predstavujeme opakujúce sa neurónové siete (RNN)

Opakujúca sa neurónová sieť je jedným typom umelej neurónovej siete (ANN) a používa sa v aplikačných oblastiach spracovania prirodzeného jazyka (NLP) a rozpoznávania reči. Model RNN je navrhnutý tak, aby rozpoznával sekvenčné charakteristiky údajov a potom pomocou vzorov predpovedal prichádzajúci scenár.

Činnosť opakujúcich sa neurónových sietí

Keď hovoríme o tradičných neurónových sieťach, všetky výstupy a vstupy sú navzájom nezávislé, ako je znázornené na nasledujúcom diagrame:

Ale v prípade opakujúcich sa neurónových sietí je výstup z predchádzajúcich krokov vedený do vstupu aktuálneho stavu. Napríklad na predpovedanie ďalšieho písmena ľubovoľného slova alebo na predpovedanie ďalšieho slova vety je potrebné si zapamätať predchádzajúce písmená alebo slová a uložiť ich do nejakej podoby pamäte.

Skrytá vrstva je vrstva, ktorá si pamätá niektoré informácie o postupnosti. Jednoduchý príklad z reálneho života, s ktorým môžeme RNN spojiť, je, keď sledujeme film, av mnohých prípadoch sme schopní predpovedať, čo sa bude diať ďalej, ale čo keď sa niekto práve pripojil k filmu a požiada ho, aby predpovedal, čo sa stane. sa stane ďalej? Aká bude jeho odpoveď? Nebude mať potuchy, pretože si nie je vedomý predchádzajúcich udalostí vo filme a nemá o tom žiadnu spomienku.

Nasleduje ilustrácia typického modelu RNN:

Modely RNN majú pamäť, ktorá si vždy pamätá, čo sa urobilo v predchádzajúcich krokoch a čo sa vypočítalo. Rovnaká úloha sa vykonáva na všetkých vstupoch a RNN používa rovnaký parameter pre každý zo vstupov. Pretože tradičná neurónová sieť má nezávislé sady vstupov a výstupov, sú komplexnejšie ako RNN.

Skúsme teraz pochopiť opakujúcu sa neurónovú sieť pomocou príkladu.

Povedzme, že máme neurónovú sieť s 1 vstupnou vrstvou, 3 skrytými vrstvami a 1 výstupnou vrstvou.

Keď hovoríme o iných alebo tradičných neurónových sieťach, budú mať svoje skryté vrstvy ako vlastné (w1, b1) pre skryté vrstvy 1, (w2, b2) pre skryté vrstvy 2 a (w3, b3) ) pre tretiu skrytú vrstvu, kde: w1, w2 a w3 sú hmotnosti a bl, b2 a b3 sú predpätia.

Vzhľadom na to môžeme povedať, že každá vrstva nie je závislá od žiadnej inej a že si nemôžu pamätať nič o predchádzajúcom vstupe:

Teraz urobí RNN toto:

  • Nezávislé vrstvy sa skonvertujú na závislú vrstvu. Toto sa dosiahne poskytnutím rovnakých predpätí a hmotností všetkým vrstvám. To tiež znižuje počet parametrov a vrstiev v rekurentnej neurónovej sieti a pomáha RNN zapamätať si predchádzajúci výstup výstupom predchádzajúceho výstupu ako vstup do nadchádzajúcej skrytej vrstvy.
  • Aby som to zhrnul, všetky skryté vrstvy môžu byť spojené do jednej opakujúcej sa vrstvy tak, že hmotnosť a predpätie sú rovnaké pre všetky skryté vrstvy.
    Opakujúca sa neurónová sieť bude vyzerať takto:

Teraz je čas zaoberať sa niektorými rovnicami pre model RNN.

  • Na výpočet aktuálneho stavu

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

Kde:

x t je stav vstupu
h t-1 je predchádzajúci stav,
h t je aktuálny stav.

  • Na výpočet aktivačnej funkcie

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

Kde:
W xh je hmotnosť na vstupnom neuróne,

W hh je hmotnosť v opakujúcich sa neurónoch.

  • Pre výpočet výkonu:

Y t =W hy h t.

Kde,
Y t je výstup a
W hy je hmotnosť na výstupnej vrstve.

Kroky pre výcvik rekurentnej neurónovej siete

  1. Vo vstupných vrstvách sa počiatočný vstup odosiela so všetkými rovnakými funkciami hmotnosti a aktivácie.
  2. Použitím aktuálneho vstupu a predchádzajúceho stavu výstupu sa vypočíta aktuálny stav.
  3. Teraz sa aktuálny stav h t stane druhým ht-1 .
  4. To neustále opakuje všetky kroky a rieši akýkoľvek konkrétny problém. Môže to trvať toľkokrát, aby sa spojili informácie zo všetkých predchádzajúcich krokov.
  5. Posledný krok sa potom vypočíta podľa aktuálneho stavu konečného stavu a všetkých ostatných predchádzajúcich krokov.
  6. Teraz sa vygeneruje chyba vypočítaním rozdielu medzi skutočným výstupom a výstupom vygenerovaným naším RNN modelom.
  7. Posledným krokom je prípad, keď nastane proces spätného označovania, pri ktorom sa chyba vráti na aktualizáciu váh.

Výhody opakujúcich sa neurónových sietí

  1. RNN môže spracovávať vstupy ľubovoľnej dĺžky.
  2. Model RNN je navrhnutý tak, aby si pamätal každú informáciu v priebehu času, čo je veľmi užitočné v akomkoľvek prediktori časových radov.
  3. Aj keď je vstupná veľkosť väčšia, veľkosť modelu sa nezvýši.
  4. Hmotnosti je možné zdieľať v časových krokoch.
  5. RNN môže používať svoju vnútornú pamäť na spracovanie ľubovoľnej série vstupov, čo nie je prípad predradených neurónových sietí.

Nevýhody opakujúcich sa neurónových sietí

  1. Kvôli svojej opakujúcej sa povahe je výpočet pomalý.
  2. Školenie modelov RNN môže byť ťažké.
  3. Ak ako aktivačné funkcie používame relu alebo tanh, je veľmi ťažké spracovať sekvencie, ktoré sú veľmi dlhé.
  4. Je náchylný na problémy, ako je explózia a strata gradientu.

záver

V tomto článku sme sa naučili ďalší typ umelej neurónovej siete s názvom Rekurentná neurónová sieť. Zamerali sme sa na hlavný rozdiel, vďaka ktorému sa RNN odlišuje od iných typov neurónových sietí, čo je oblasť, kde ju možno rozsiahle využívať, napríklad pri rozpoznávaní reči. a NLP (Natural Language Processing). Ďalej sme zašli za prácu RNN modelov a funkcií, ktoré sa používajú na zostavenie robustného RNN modelu.

Odporúčané články

Toto je príručka pre opakujúce sa neurónové siete. Tu diskutujeme o úvodu, o tom, ako to funguje, o krokoch, výhodách a nevýhodách RNN atď. Ak sa chcete dozvedieť viac, môžete si tiež prečítať naše ďalšie navrhované články -
  1. Čo sú neurónové siete?
  2. Rámce strojového učenia
  3. Úvod do umelej inteligencie
  4. Úvod do analýzy veľkých dát
  5. Implementácia neurónových sietí

Kategórie: