Uvođenje ponavljajućih neuronskih mreža (RNN)

Ponavljajuća neuronska mreža jedna je vrsta umjetne neuronske mreže (ANN) i koristi se u područjima aplikacije za obradu prirodnog jezika (NLP) i prepoznavanje govora. RNN model osmišljen je za prepoznavanje sekvencijalnih karakteristika podataka i nakon toga koristeći obrasce za predviđanje scenarija koji dolazi.

Rad s ponavljajućim neuronskim mrežama

Kad govorimo o tradicionalnim neuronskim mrežama, svi su izlazi i ulazi neovisni jedan o drugom kao što je prikazano na donjem dijagramu:

Ali u slučaju ponavljajućih neuronskih mreža, izlaz iz prethodnih koraka dovodi se na ulaz trenutnog stanja. Na primjer, za predviđanje sljedećeg slova bilo koje riječi ili predviđanje sljedeće riječi rečenice, potrebno je zapamtiti prethodna slova ili riječi i pohraniti ih u neki oblik memorije.

Skriveni sloj je onaj koji pamti neke podatke o nizu. Jednostavan primjer iz stvarnog života na koji možemo povezati RNN jest kada gledamo film iu mnogim slučajevima smo u mogućnosti predvidjeti što će se dalje dogoditi, ali što ako se netko upravo pridružio filmu i od njega se traži da predvidi što će se dogoditi sljedeće? Kakav će biti njegov odgovor? Neće imati pojma jer nisu svjesni prethodnih događaja filma i nemaju nikakvo sjećanje o tome.

Ilustracija tipičnog RNN modela dana je u nastavku:

RNN modeli imaju memoriju koja uvijek pamti što je učinjeno u prethodnim koracima i što je izračunato. Isti se zadatak obavlja na svim ulazima i RNN koristi isti parametar za svaki od ulaza. Kako tradicionalna neuronska mreža ima neovisne skupove ulaza i izlaza, oni su složeniji od RNN-a.

Pokušajmo sada razumjeti ponavljajuću neuronsku mrežu uz pomoć primjera.

Recimo, imamo neuronsku mrežu s 1 ulaznim slojem, 3 skrivena sloja i 1 izlaznim slojem.

Kada govorimo o drugim ili tradicionalnim neuronskim mrežama, oni će imati svoje skupove pristranosti i težine u svojim skrivenim slojevima poput (w1, b1) za skriveni sloj 1, (w2, b2) za skriveni sloj 2 i (w3, b3 ) za treći skriveni sloj, gdje su: w1, w2 i w3 utezi, a b1, b2 i b3 su pristranosti.

S obzirom na to, možemo reći da svaki sloj ne ovisi o bilo kojem drugom i da se ne mogu sjećati ničega o prethodnom unosu:

Sada će RNN učiniti sljedeće:

  • Nezavisni slojevi će se pretvoriti u ovisni sloj. To se postiže davanjem svih slojeva jednake pristranosti i težine. Ovo također smanjuje broj parametara i slojeva u ponavljajućoj neuronskoj mreži i pomaže RNN-u da pamti prethodni izlaz izlažući prethodni izlaz kao ulaz u nadolazeći skriveni sloj.
  • Ukratko, svi skriveni slojevi mogu se spojiti u jedan ponavljajući sloj, tako da su utezi i pristranosti isti za sve skrivene slojeve.
    Dakle, ponavljajuća neuronska mreža izgledat će otprilike ovako:

Sada je vrijeme da se pozabavimo nekim jednadžbama za RNN model.

  • Za izračunavanje trenutnog stanja,

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

Gdje:

x t je ulazno stanje
h t-1 je prethodno stanje,
h t je trenutno stanje.

  • Za proračun funkcije aktivacije

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

Gdje:
W xh je masa na ulaznom neuronu,

W hh je težina ponavljajućeg neurona.

  • Za proračun rezultata:

Y t =W hy h t.

Gdje,
Y t je Izlaz i,
W hy je težina na izlaznom sloju.

Koraci za osposobljavanje ponavljajuće neuronske mreže

  1. U ulaznim slojevima početni ulaz šalje se sa svim koji imaju istu težinu i funkciju aktiviranja.
  2. Korištenjem trenutnog ulaza i izlaza prethodnog stanja izračunava se trenutno stanje.
  3. Sada će trenutačno stanje h t postati h t-1 po drugi put.
  4. Ovo se stalno ponavlja za sve korake i za rješavanje bilo kojeg određenog problema može se što više puta pridružiti informacijama iz svih prethodnih koraka.
  5. Konačni korak se izračunava trenutnim stanjem konačnog stanja i svim ostalim prethodnim koracima.
  6. Sada se generira pogreška izračunavanjem razlike između stvarnog izlaza i izlaza generiranog u našem RNN modelu.
  7. Posljednji korak je kada se dogodi postupak povratnog širenja u kojem se pogreška proširuje radi ažuriranja utega.

Prednosti ponavljajućih neuronskih mreža

  1. RNN može obraditi ulaze bilo koje duljine.
  2. RNN model modeliran je tako da pamti svaku informaciju kroz vrijeme, što je vrlo korisno u bilo kojem prediktoru vremenske serije.
  3. Čak i ako je veličina ulaza veća, veličina modela se ne povećava.
  4. Težine se mogu podijeliti u različitim vremenskim koracima.
  5. RNN može koristiti svoju unutarnju memoriju za obradu proizvoljnih niza ulaza, što nije slučaj s napajanjem neuronskih mreža.

Nedostaci ponavljajućih neuronskih mreža

  1. Zbog svoje rekurentne prirode, računanje je sporo.
  2. Obuka RNN modela može biti teška.
  3. Ako koristimo relu ili tanh kao aktivacijske funkcije, vrlo je teško obraditi vrlo duge nizove.
  4. Skloni problemima poput eksplozije i nestajanja gradijenta.

Zaključak

U ovom smo članku naučili drugu vrstu umjetne neuronske mreže koja se naziva ponavljajuća neuronska mreža, fokusirali smo se na glavnu razliku zbog čega se RNN izdvaja od ostalih vrsta neuronskih mreža, područja u kojima se može široko koristiti, poput u prepoznavanju govora i NLP (Obrada prirodnog jezika). Nadalje, zaostali smo za radom RNN modela i funkcija koje se koriste za izgradnju robusnog RNN modela.

Preporučeni članci

Ovo je vodič za ponavljajuće neuronske mreže. Ovdje smo raspravljali o uvodu, kako to radi, koracima, prednostima i nedostacima RNN-a itd. Također možete proći kroz naše druge predložene članke da biste saznali više -
  1. Što su neuronske mreže?
  2. Okviri strojnog učenja
  3. Uvod u umjetnu inteligenciju
  4. Uvod u veliku analizu podataka
  5. Implementacija neuronskih mreža

Kategorija: