Predstavljamo ponavljajoče se nevronske mreže (RNN)

Ponavljajoča se nevronska mreža je ena vrsta Umetne nevronske mreže (ANN) in se uporablja na področjih uporabe naravne jezikovne obdelave (NLP) in prepoznavanja govora. Model RNN je zasnovan tako, da prepozna zaporedne značilnosti podatkov in nato z uporabo vzorcev za napoved prihodnjega scenarija.

Delo ponavljajočih se nevronskih mrež

Ko govorimo o tradicionalnih nevronskih omrežjih, so vsi izhodi in vhodi med seboj neodvisni, kot je prikazano na spodnjem diagramu:

Toda v primeru ponavljajočih se nevronskih mrež se izhod iz prejšnjih korakov poda v vhod trenutnega stanja. Na primer, za napoved naslednje črke katere koli besede ali za napoved naslednje besede stavka je treba zapomniti prejšnje črke ali besede in jih shraniti v neki obliki spomina.

Skrita plast je tista, ki si zapomni nekatere podatke o zaporedju. Preprost primer iz resničnega življenja, na katerega lahko povežemo RNN, je, ko gledamo film in v mnogih primerih lahko predvidimo, kaj se bo zgodilo, kaj pa, če se bo nekdo pravkar pridružil filmu in ga prosili, naj napove, kaj se bo zgodilo naslednje? Kakšen bo njegov odgovor? Ne bo imel nobenega pojma, ker se ne zaveda prejšnjih dogodkov filma in nima nobenega spomina nanj.

Spodaj je prikazana ponazoritev tipičnega RNN modela:

RNN modeli imajo spomin, ki si vedno zapomni, kaj je bilo storjeno v prejšnjih korakih in kaj je bilo izračunano. Enaka naloga se izvaja na vseh vhodih in RNN uporablja enak parameter za vsak vhod. Ker ima tradicionalno nevronsko omrežje neodvisne sklope vhodov in izhodov, so bolj zapleteni kot RNN.

Zdaj pa poskusimo razumeti ponavljajočo se nevronsko mrežo s pomočjo primera.

Recimo, da imamo nevronsko mrežo z 1 vhodno plastjo, 3 skritimi sloji in 1 izhodno plastjo.

Ko govorimo o drugih ali tradicionalnih nevronskih mrežah, bodo imeli svoje sklope pristranskosti in uteži v svojih skritih plasteh, kot so (w1, b1) za skrito plast 1, (w2, b2) za skrito plast 2 in (w3, b3 ) za tretjo skrito plast, kjer so: w1, w2 in w3 uteži in b1, b2 in b3 predsodki.

Glede na to lahko rečemo, da vsaka plast ni odvisna od nobene druge in da se ne morejo spomniti ničesar o prejšnjem vnosu:

Zdaj bo RNN naredil naslednje:

  • Neodvisne plasti se pretvorijo v odvisni sloj. To se izvede z zagotavljanjem enakih pristranskosti in uteži za vse plasti. S tem se tudi zmanjša število parametrov in slojev v ponavljajoči se nevronski mreži in RNN pomaga zapomniti prejšnji izhod tako, da predhodni izhod odda kot vhod v prihajajoči skriti sloj.
  • Če povzamemo, lahko vse skrite plasti združimo v en ponavljajoči se sloj, tako da so uteži in pristranskosti enaki za vse skrite plasti.
    Tako bo ponavljajoča se nevronska mreža videti nekako takole spodaj:

Zdaj je čas, da se lotimo nekaterih enačb za model RNN.

  • Za izračun trenutnega stanja oz.

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

Kje:

x t je vhodno stanje
h t-1 je prejšnje stanje,
h t je trenutno stanje.

  • Za izračun funkcije aktiviranja

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

Kje:
W xh je teža na vhodnem nevronu,

W hh je teža pri ponavljajočem se nevronu.

  • Za izračun proizvodnje:

Y t =W hy h t.

Kje,
Y t je izhod in
W hy je teža na izhodni plasti.

Koraki za usposabljanje ponavljajoče se nevronske mreže

  1. V vhodnih plasteh se začetni vhod pošlje z vsemi enako težo in funkcijo aktiviranja.
  2. Z uporabo trenutnega vhoda in izhoda prejšnjega stanja se izračuna trenutno stanje.
  3. Zdaj bo trenutno stanje h t že drugič postalo h t-1 .
  4. To se ponavlja za vse korake in za rešitev posamezne težave se lahko še večkrat pridruži informacijam iz vseh prejšnjih korakov.
  5. Končni korak se izračuna glede na trenutno stanje končnega stanja in vse druge prejšnje korake.
  6. Zdaj nastane napaka z izračunom razlike med dejanskim izhodom in izhodom, ki ga ustvari naš RNN model.
  7. Zadnji korak je, ko pride do procesa povratnega razmnoževanja, pri katerem se napaka podaljša za posodobitev uteži.

Prednosti ponavljajočih se nevronskih mrež

  1. RNN lahko obdeluje vhode katere koli dolžine.
  2. RNN model je modeliran tako, da si zapomni vsako informacijo ves čas, kar je zelo koristno pri napovedovalcu časovnih vrst.
  3. Tudi če je vhodna velikost večja, se velikost modela ne poveča.
  4. Uteži se lahko delijo v časovnih korakih.
  5. RNN lahko uporablja svoj notranji pomnilnik za obdelavo poljubnih nizov vhodov, kar pa ne velja za feedforward nevronske mreže.

Slabosti ponavljajočih se nevronskih mrež

  1. Računanje je zaradi svoje ponavljajoče se narave počasno.
  2. Izobraževanje RNN modelov je lahko težavno.
  3. Če kot aktivacijske funkcije uporabljamo relu ali tanh, postane zelo težko obdelati zaporedja, ki so zelo dolga.
  4. Nagnjeni k težavam, kot so eksplozija in izginjanje naklona.

Zaključek

V tem članku smo spoznali drugo vrsto umetne nevronske mreže, ki se imenuje ponavljajoča se nevronska mreža, osredotočili smo se na glavno razliko, zaradi katere RNN izstopa od drugih vrst nevronskih mrež, področja, kjer se lahko široko uporablja, na primer pri prepoznavanju govora in NLP (obdelava naravnega jezika). Nadalje smo zaostali za delo RNN modelov in funkcij, ki se uporabljajo za izdelavo robustnega modela RNN.

Priporočeni članki

To je vodnik za ponavljajoče se nevronske mreže. Tukaj razpravljamo o uvodu, kako deluje, korakih, prednostih in pomanjkljivostih RNN itd. Če želite izvedeti več, lahko preberete tudi druge naše predlagane članke -
  1. Kaj so nevronske mreže?
  2. Okviri strojnega učenja
  3. Uvod v umetno inteligenco
  4. Uvod v Big Data Analytics
  5. Izvajanje nevronskih mrež

Kategorija: