Rețea neuronală recurentă

Versiunea actuală a paginii nu a fost încă examinată de colaboratori experimentați și poate diferi semnificativ de versiunea revizuită la 22 ianuarie 2022; verificările necesită 7 modificări .

Rețele neuronale recurente ( RNS , ing.  Rețea neuronală recurentă ; RNN ) - un tip de rețele neuronale , în care conexiunile dintre elemente formează o secvență direcționată. Acest lucru face posibilă procesarea unei serii de evenimente în timp sau lanțuri spațiale succesive. Spre deosebire de perceptronii multistrat , rețelele recurente își pot folosi memoria internă pentru a procesa secvențe de lungime arbitrară. Prin urmare, RNN -urile sunt aplicabile în astfel de sarcini în care ceva integral este împărțit în părți, de exemplu: recunoașterea scrisului de mână [1] sau recunoașterea vorbirii [2] [3] . Au fost propuse multe soluții arhitecturale diferite pentru rețelele recurente, de la simple la complexe. Recent, rețeaua de memorie pe termen lung și scurt (LSTM) și unitatea recurentă controlată (GRU) au devenit cele mai răspândite.

Istorie

John Hopfield a propus Rețeaua Hopfield în 1982 . În 1993, un sistem neuronal pentru stocarea și comprimarea datelor istorice a fost capabil să rezolve o problemă de „învățare foarte profundă” în care peste 1000 de straturi consecutive s-au desfășurat într-o rețea recurentă. [patru]

Memoria pe termen lung pe termen scurt (LSTM)

Rețea cu memorie pe termen lung și pe termen scurt ( ing.  Long short term memory, LSTM) ; LSTM ). [5] și-a găsit aplicație în diverse aplicații.

Începând din 2007, LSTM a câștigat popularitate și a reușit să ducă recunoașterea vorbirii la următorul nivel , arătând o îmbunătățire semnificativă față de modelele tradiționale. [6] În 2009, a apărut abordarea Clasificarea temporală conecționistă (CTC). Această metodă a permis rețelelor recurente să includă analiza contextului în recunoașterea scrisului de mână. [7] În 2014, Encyclopedia of China și motorul de căutare Baidu , folosind rețele recurente instruite de CTC, au reușit să ducă Switchboard Hub5'00 la un nou nivel, înaintea metodelor tradiționale. [opt]

LSTM a condus, de asemenea, la îmbunătățiri în recunoașterea vorbirii cu dicționare mari [2] [3] și îmbunătățiri în text-to-speech [9] și a găsit, de asemenea, aplicații în sistemul de operare Google Android . [10] În 2015, recunoașterea vorbirii de la Google și-a crescut semnificativ scorurile până la 49%, motivul pentru care a fost utilizarea unui sistem special de instruire LSTM bazat pe CTC în sistemul de căutare vocală Google . [unsprezece]

LSTM a adus la un nou nivel calitatea traducerii automate , [12] construirea de modele lingvistice și [13] procesarea textului multilingv. [14] Combinarea LSTM cu rețelele neuronale convoluționale (CNN) a îmbunătățit descrierea automată a imaginii. [cincisprezece]

Arhitectură

Există multe varietăți, soluții și elemente constructive ale rețelelor neuronale recurente.

Dificultatea rețelei recurente constă în faptul că, dacă se ia în considerare fiecare pas de timp, atunci devine necesar ca fiecare pas de timp să își creeze propriul strat de neuroni, ceea ce provoacă dificultăți de calcul serioase. În plus, implementările pe mai multe straturi se dovedesc a fi instabile din punct de vedere computațional, deoarece greutățile dispar sau depășesc scala în ele. Dacă calculul este limitat la o fereastră de timp fixă, atunci modelele rezultate nu vor reflecta tendințele pe termen lung. Diverse abordări încearcă să îmbunătățească modelul memoriei istorice și mecanismul amintirii și uitării.

Rețea complet recurentă

Această arhitectură de bază a fost dezvoltată în anii 1980. Rețeaua este construită din noduri, fiecare dintre acestea fiind conectat la toate celelalte noduri. Pentru fiecare neuron, pragul de activare se modifică în timp și este un număr real. Fiecare compus are o greutate reală variabilă. Nodurile sunt împărțite în intrare, ieșire și ascunse.

Pentru învățarea supravegheată în timp discret , la fiecare pas de timp (discret), nodurile de intrare sunt alimentate cu date, iar alte noduri își finalizează activarea, iar semnalele de ieșire sunt pregătite pentru transmiterea de către neuron la nivelul următor. Dacă, de exemplu, rețeaua este responsabilă pentru recunoașterea vorbirii, ca rezultat, etichetele (cuvinte recunoscute) sunt deja trimise la nodurile de ieșire.

În învățarea prin întărire , nu există un profesor care furnizează semnale țintă pentru rețea, în schimb, uneori se folosește o funcție de fitness (fitness) sau o funcție de recompensă, care evaluează calitatea rețelei, în timp ce valoarea de ieșire afectează comportamentul rețelei la intrare. În special, dacă rețeaua implementează un joc, rezultatul este măsurat prin numărul de puncte de câștig sau de punctaj de poziție.

Fiecare treaptă calculează eroarea ca abatere totală a ieșirilor rețelei. Dacă există un set de mostre de antrenament, eroarea este calculată luând în considerare erorile fiecărui eșantion individual.

Rețea recursiva

Rețelele neuronale recursive sunt un caz mai general de rețele recurente, când semnalul din rețea trece printr-o structură sub formă de arbore (de obicei arbori binari). [16] Aceleași matrice de greutate sunt utilizate recursiv pe tot parcursul graficului în funcție de topologia acestuia. [17] [18] Rețelele neuronale recursive își găsesc aplicație în sarcinile de procesare a limbajului natural . [19] Există, de asemenea, rețele neuronale recursive tensorale (RNTN, Recursive Neural Tensor Network), care folosesc funcții tensorale pentru toate nodurile din arbore. [douăzeci]

Rețeaua neuronală a lui Hopfield

O rețea Hopfield  este un tip de rețea recurentă în care toate conexiunile sunt simetrice. Inventat de John Hopfield în 1982, este garantat că dinamica unei astfel de rețele converge către una dintre pozițiile de echilibru. Dacă învățarea Hebbian este utilizată atunci când se creează conexiuni , atunci rețeaua Hopfield poate funcționa ca o memorie asociativă de încredere, care este rezistentă la schimbarea conexiunilor.

Memoria asociativă bidirecțională (BAM)

O variație a rețelei Hopfield este memoria asociativă bidirecțională (BAM) . BAM are două straturi, fiecare dintre ele poate acționa ca o intrare, poate găsi (reține) o asociere și poate genera un rezultat pentru celălalt strat. [21] [22] [23]

Elman and Jordan Networks

Rețeaua neuronală Elman este o rețea neuronală cu trei straturi. În ilustrație, straturile rețelei sunt etichetate x , y și z . Rețeaua conține, de asemenea, un set de „casete de context” ( u în ilustrație) care stochează valorile anterioare ale nodurilor de strat ascunse. Pentru a face acest lucru, stratul ascuns este conectat la blocurile de context prin legături directe cu o greutate fixă ​​egală cu unu. [24] Cu fiecare pas, informațiile sunt primite la intrare, care trece o cale directă către stratul de ieșire în conformitate cu regulile de învățare. Feedback-urile fixe din blocurile de context transmit valorile stărilor anterioare ale nodurilor stratului ascuns (înainte ca stratul ascuns să schimbe valoarea în timpul procesului de învățare). În acest fel, rețeaua își păstrează starea anterioară, oferind astfel predicție de secvență, care depășește capacitățile unui perceptron multistrat.

Rețeaua neuronală a lui Jordan este similară cu rețeaua lui Elman. Cu toate acestea, casetele de context nu sunt asociate cu stratul ascuns, ci cu stratul de ieșire. Blocurile de context păstrează astfel starea anterioară a rețelei și permit comunicarea recurentă în rețea. [24]

Rețelele Elman și Jordan sunt numite și „rețele recurente simple” (SRN).

Rețeaua Elman [25] Rețeaua Jordan [26]

Notație variabilă și funcție:

  • : vector strat de intrare
  • : vector strat ascuns
  • : vector strat de ieșire
  • , și : Matrice de greutate de conexiune și vector de parametri
  • și : Funcția de activare

Rețele Echo

Rețeaua de eco (în engleză  echo state network ; ESN ) este caracterizată printr-un strat ascuns (care se numește rezervor) cu conexiuni rare aleatorii între neuroni. În acest caz, conexiunile din interiorul rezervorului sunt fixe, dar conexiunile cu stratul de ieșire sunt supuse învățării. Starea rezervorului (starea) este calculată prin stările anterioare ale rezervorului, precum și stările anterioare ale semnalelor de intrare și de ieșire. Deoarece rețelele de eco au un singur strat ascuns, ele au o complexitate de calcul destul de scăzută, dar calitatea simulării depinde în mare măsură de setările inițiale, care sunt aproximativ aleatorii. Rețelele de eco funcționează bine atunci când reproduc serii de timp . [27] O variație a rețelelor de ecou sunt rețelele neuronale de impuls (pică) , cunoscute și sub denumirea de rețele neuronale lichide, rețelele ("lichide" sunt denumite folosind metafora cercurilor divergente pe apă dintr-o pietricică care cade, care caracterizează memoria pe termen scurt dintr-un eveniment de intrare). [28]

Compresor de istorie neuronală

Compresorul neuronal al datelor istorice este un bloc care vă permite să stocați într-o formă comprimată caracteristicile istorice esențiale ale procesului, care este un fel de stivă a unei rețele neuronale recurente formate în procesul de auto-învățare . [29] La nivel de intrare, compresorul istoric neuronal încearcă să prezică următoarea intrare din datele istorice. Următorul nivel al rețelei recurente primește doar acele intrări care nu puteau fi prezise și care contribuie în același timp la schimbarea stării compresorului. Fiecare strat următor al rețelei învață, de asemenea, informații istorice comprimate de la straturile anterioare în același mod. Astfel, secvența de intrare poate fi reconstruită cu acuratețe din reprezentarea straturilor ulterioare.

Sistemul încearcă să minimizeze dimensiunea descrierii sau folosește logaritmi negativi pentru a estima probabilitățile datelor. [30] Folosind predictibilitatea antrenabilă în secvența de date de intrare, rețeaua RNN de nivel următor, aplicând învățarea deja supravegheată, poate deja clasifica chiar și secvențe profunde cu intervale de timp mari între evenimentele cheie.

Astfel, rețeaua RNN poate fi împărțită în două niveluri de straturi: automatizare „conștientă” (nivel superior) și automatizare „subconștientă” (nivel inferior). Odată ce nivelul superior a învățat să prezică și să comprime intrările (care sunt imprevizibile) cu ajutorul automatului, atunci automatul poate fi forțat în următoarea etapă de învățare să se prezică sau să mimeze prin blocuri suplimentare sau ascunse ale schimbării mai lente. nivel superior. Acest lucru simplifică munca automatatorului, permițând amintiri pe termen lung, dar rareori schimbătoare. La rândul său, acest lucru ajută automatul să facă predictibile multe dintre intrările sale cândva imprevizibile, astfel încât stratul superior să se poată concentra asupra evenimentelor imprevizibile rămase. [29]

Memoria pe termen lung pe termen scurt (LSTM)

O rețea cu memorie pe termen lung și pe termen scurt ( în engleză  Long short term memory, LSTM) este un sistem de învățare profundă , a cărui implementare a reușit să ocolească problema dispariției sau depășirii gradienților în procesul de învățare folosind metoda de retropropagare . Rețeaua LSTM este de obicei moderată cu porți recurente numite porți „uitați”. [31] Erorile se propagă înapoi în timp printr-un număr potențial nelimitat de straturi virtuale. În acest fel, învățarea are loc în LSTM [32] păstrând în același timp memoria a mii și chiar milioane de intervale de timp din trecut. Topologiile rețelelor LSTM pot fi dezvoltate în funcție de specificul procesului. [33] Într-o rețea LSTM, chiar și întârzierile mari dintre evenimentele semnificative pot fi luate în considerare și, astfel, componentele de înaltă frecvență și de joasă frecvență pot fi amestecate.

Multe rețele recurente folosesc stive de date inerente în LSTM [34] Rețelele pot fi antrenate folosind „Connectionist Temporal Classification (CTC)” [  35 ] pentru a găsi o astfel de matrice de ponderi în care probabilitatea unei secvențe de etichete în eșantioanele setate la nivelul corespunzător. fluxul de intrare este minimizat. CTC vă permite să obțineți atât comandarea, cât și recunoașterea.

LSTM poate fi, de asemenea, antrenat să recunoască limbaje sensibile la context, spre deosebire de modelele anterioare bazate pe modelul Markov ascuns (HMM) și idei similare. [36]

Rețele recurente de ordinul doi

Rețelele recurente de ordinul doi folosesc ponderi de ordin mai mare în loc de ponderi obișnuite , iar parametrii de intrare și de stare pot fi obținuți ca produs. În acest caz, rețeaua este transformată (mapping) într-o mașină de stare atât în ​​procesul de învățare, cât și în timpul stabilizării și prezentării. [37] [38] Memoria de lungă durată pe termen scurt în acest caz nu are un astfel de test de transformare și stabilitate.

Bloc recurent controlat

Gated recurrent unit ( Gated recurrent units ; GRU ) este un mecanism recurent de gestionare a rețelei propus în 2014 .  Performanța GRU în semnalul de vorbire sau modelele muzicale polifonice s-a dovedit a fi comparabilă cu memoria pe termen scurt (LSTM). [39] Acest model are mai puțini parametri decât LSTM și nu are controlul de ieșire. [40]

Vezi și

Note

  1. Graves, A.; Liwicki, M.; Fernandez, S.; Bertolami, R.; Bunke, H.; Schmidhuber, J. Un nou sistem de conexiune pentru recunoașterea neconstrânsă îmbunătățită a scrisului de mână  //  Tranzacții IEEE privind analiza modelelor și inteligența mașinii : jurnal. - 2009. - Vol. 31 , nr. 5 .
  2. 1 2 Sak, Hasim; Senior, Andrew; Beaufays, Francoise Arhitecturi de rețele neuronale recurente de memorie pe termen lung pentru modelarea acustică la scară largă (link inaccesibil) (2014). Consultat la 9 decembrie 2017. Arhivat din original la 24 aprilie 2018. 
  3. 1 2 Li, Xiangang & Wu, Xihong (2014-10-15), Constructing Long Short-Term Memory based Deep Recurrent Neural Networks for Large Vocabulary Speech Recognition, arΧiv : 1410.4281 [cs.CL]. 
  4. Schmidhuber, Jurgen . Teza de abilitare : Modelare si optimizare sisteme  . — 1993. Pagina 150 și urm. demonstrează atribuirea creditelor în echivalentul a 1.200 de straturi într-un RNN desfășurat.
  5. Hochreiter, Sepp; Schmidhuber, JurgenMemorie pe termen lung  // Calcul  neuronal. - 1997. - 1 noiembrie ( vol. 9 , nr. 8 ). - P. 1735-1780 . - doi : 10.1162/neco.1997.9.8.1735 .
  6. Fernández, Santiago; Graves, Alex; Schmidhuber, Jurgen. O aplicație a rețelelor neuronale recurente la identificarea cu cuvinte cheie discriminativă  //  Proceedings of the 17th International Conference on Artificial Neural Networks : jurnal. - Berlin, Heidelberg: Springer-Verlag, 2007. - Vol. ICANN'07 . - P. 220-229 . — ISBN 978-3-540-74693-5 .
  7. Graves, Alex; Schmidhuber, Jurgen. Recunoașterea scrisului de mână offline cu rețele neuronale recurente multidimensionale // Fundația Sisteme de procesare a informațiilor neuronale  (  NIPS) : jurnal / Bengio, Yoshua; Schuurmans, Dale; Lafferty, John; Williams, Chris editor-KI; Culotta, Aron. - 2009. - P. 545-552 .
  8. Hannun, Awni; Case, Carl; Casper, Jared; Catanzaro, Bryan; Diamos, Greg; Elsen, Erich; Prenger, Ryan; Satheesh, Sanjeev; et al. (2014-12-17), Deep Speech: Scaling up end-to-end speech recognition, arΧiv : 1412.5567 [cs.CL]. 
  9. Bo Fan, Lijuan Wang, Frank K. Soong și Lei Xie (2015). Foto-Real Talking Head cu Deep Bidirectional LSTM. În Proceedings of ICASSP 2015.
  10. Zen, Heiga; Sak, Hasim Memorie unidirecțională pe termen scurt Rețea neuronală recurentă cu strat de ieșire recurent pentru sinteza vorbirii cu latență scăzută . Google.com 4470–4474. ICASSP (2015). Arhivat din original pe 9 mai 2021.
  11. Sak, Hasim; Senior, Andrew; Rao, Kanishka; Beaufays, Francoise; Schalkwyk, Johan Căutare vocală Google: mai rapidă și mai precisă (septembrie 2015). Data accesului: 9 decembrie 2017. Arhivat din original pe 9 martie 2016.
  12. Sutskever, L.; Vinyals, O.; Le, Q. Învățarea secvență la secvență cu rețele neuronale  (nedefinită)  // Electronic Proceedings of the Neural Information Processing Systems Conference. - 2014. - T. 27 . - S. 5346 . - Cod . - arXiv : 1409.3215 .
  13. Jozefowicz, Rafal; Vinyals, Oriol; Schuster, Mike; Shazeer, Noam & Wu, Yonghui (2016-02-07), Exploring the Limits of Language Modeling, arΧiv : 1602.02410 [cs.CL]. 
  14. Gillick, Dan; Brunk, Cliff; Vinyals, Oriol & Subramanya, Amarnag (2015-11-30), Procesarea limbii multilingve din octeți, arΧiv : 1512.00103 [cs.CL]. 
  15. Vinyals, Oriol; Toshev, Alexandru; Bengio, Samy & Erhan, Dumitru (2014-11-17), Show and Tell: A Neural Image Caption Generator, arΧiv : 1411.4555 [cs.CV]. 
  16. Goller, C.; Küchler, A. Învățarea reprezentărilor distribuite dependente de sarcini prin backpropagation prin structură  //  IEEE International Conference on Neural Networks, 1996 : jurnal. - 1996. - Vol. 1 . - P. 347 . - ISBN 0-7803-3210-5 . - doi : 10.1109/ICNN.1996.548916 .
  17. Seppo Linnainmaa (1970). Reprezentarea erorii cumulate de rotunjire a unui algoritm ca o expansiune Taylor a erorilor locale de rotunjire. Teză de master (în finlandeză), Univ. Helsinki, 6-7.
  18. Griewank, Andreas; Walter, Andrea. [ [1]  în Google Books Evaluating Derivatives: Principles and Techniques of Algorithmic Differentiation  ] . - Al doilea. - SIAM, 2008. - ISBN 978-0-89871-776-1 .
  19. Socher, Richard; Lin, Cliff; Ng, Andrew Y. & Manning, Christopher D., Parsing Natural Scenes and Natural Language with Recursive Neural Networks , a 28-a Conferință internațională privind învățarea automată (ICML 2011) Arhivată la 31 octombrie 2017 la Wayback Machine 
  20. Socher, Richard; Perelygin, Alex; Y. Wu, Jean; Chuang, Jason; D. Manning, Christopher; Y. Ng, Andrew; Potts, Christopher. Recursive Deep Models for Semantic Compositionality Over a Sentiment Treebank  (Engleză)  // Emnlp 2013 : journal.
  21. Kosko, B. (1988). „Amintiri asociative bidirecționale”. Tranzacții IEEE pe sisteme, om și cibernetică . 18 (1): 49-60. DOI : 10.1109/21.87054 .
  22. Rakkiyappan, R.; Chandrasekar, A.; Lakshmanan, S.; Park, Ju H. Stabilitate exponențială pentru rețelele neuronale BAM stocastice de salt Markovian cu întârzieri variabile în timp probabilistice dependente de mod și control al impulsurilor  //  Complexitate : jurnal. - 2015. - 2 ianuarie ( vol. 20 , nr. 3 ). - P. 39-65 . - doi : 10.1002/cplx.21503 .
  23. Raul Rojas. [ [2]  în Google Books Rețele neuronale : o introducere sistematică]  . - Springer, 1996. - P. 336. - ISBN 978-3-540-60505-8 .
  24. 12 Cruse , Holk; Rețele neuronale ca sisteme cibernetice Arhivat 20 octombrie 2016 la Wayback Machine , ediția a 2-a și revizuită
  25. Elman, Jeffrey L. Finding Structure in Time  (nedefinite)  // Cognitive Science. - 1990. - T. 14 , nr 2 . - S. 179-211 . - doi : 10.1016/0364-0213(90)90002-E .
  26. Jordan, Michael I. Serial Order: A Parallel Distributed Processing Approach  //  Advances in Psychology : journal. - 1997. - 1 ianuarie ( vol. 121 ). - P. 471-495 . — ISBN 9780444819314 . - doi : 10.1016/s0166-4115(97)80111-2 .
  27. Jaeger, Herbert; Haas, Harold. Valorificarea neliniarității: Predicția sistemelor haotice și economisirea energiei în comunicațiile fără fir  (engleză)  // Science : journal. - 2004. - 2 aprilie ( vol. 304 , nr. 5667 ). - P. 78-80 . - doi : 10.1126/science.1091277 . - Cod biblic . — PMID 15064413 .
  28. W. Maass, T. Natschläger și H. Markram. O nouă privire asupra calculelor în timp real în circuitele neuronale recurente generice. Raport tehnic, Institutul de Informatică Teoretică, TU Graz, 2002.
  29. 1 2 Schmidhuber, Jürgen. Învățarea secvențelor complexe, extinse folosind principiul compresiei istorice  // Calcul  neuronal : jurnal. — Vol. 4 , nr. 2 . - P. 234-242 .
  30. Schmidhuber, Jurgen. Învățare profundă  (nedefinită)  // Scholarpedia . - 2015. - T. 10 , Nr. 11 . - S. 32832 .
  31. Gers, Felix; Schraudolph, Nicol N.; Schmidhuber, Jürgen Învață sincronizarea precisă cu rețele recurente LSTM (descărcare PDF disponibilă) . ResearchGate . Consultat la 13 iunie 2017. Arhivat din original la 4 aprilie 2019.
  32. Schmidhuber, Jurgen Învățare profundă în rețelele neuronale: o privire de ansamblu  (neopr.)  // Rețele neuronale. - 2015. - ianuarie ( vol. 61 ). - S. 85-117 . - doi : 10.1016/j.nenet.2014.09.003 . - arXiv : 1404,7828 . — PMID 25462637 .
  33. Bayer, Justin; Wierstra, Daan; Togelius, Julian; Schmidhuber, Jurgen. Evolving Memory Cell Structures for Sequence Learning  //  Rețele neuronale artificiale - ICANN 2009 : jurnal. - Springer, Berlin, Heidelberg, 2009. - 14 septembrie ( vol. Lecture Notes in Computer Science ). - P. 755-764 . - ISBN 978-3-642-04276-8 . - doi : 10.1007/978-3-642-04277-5_76 .
  34. Fernández, Santiago; Graves, Alex; Schmidhuber, Jurgen. Etichetarea secvenței în domenii structurate cu rețele neuronale recurente ierarhice   // Proc . 20 Int. Conf. comună. on Artificial In℡ligence, Ijcai 2007 : jurnal. - 2007. - P. 774-779 .
  35. Graves, Alex; Fernández, Santiago; Gomez, Faustino. Clasificare temporală conecționistă: Etichetarea datelor secvențe nesegmentate cu rețele neuronale recurente  //  În Proceedings of the International Conference on Machine Learning, ICML 2006: journal. - 2006. - P. 369-376 .
  36. Gers, F.A.; Schmidhuber, E. Rețelele recurente LSTM învață limbaje simple, fără context și sensibile la context  // IEEE  Transactions on Neural Networks : jurnal. - 2001. - Noiembrie ( vol. 12 , nr. 6 ). - P. 1333-1340 . — ISSN 1045-9227 . - doi : 10.1109/72.963769 .
  37. CL Giles, CB Miller, D. Chen, HH Chen, GZ Sun, YC Lee, „Learning and Extracting Finite State Automata with Second-Order Recurrent Neural Networks” Arhivat 15 aprilie 2021 la Wayback Machine , Neural Computation, 4( 3), p. 393, 1992.
  38. CW Omlin, CL Giles, „Constructing Deterministic Finite-State Automata in Recurrent Neural Networks” Arhivat 18 aprilie 2017 la Wayback Machine Journal of the ACM, 45(6), 937-972, 1996.
  39. Chung, Junyoung; Gulcehre, Caglar; Cho, KyungHyun & Bengio, Yoshua (2014), Empirical Evaluation of Gated Recurrent Neural Networks on Sequence Modeling, arΧiv : 1412.3555 [cs.NE]. 
  40. Tutorial de rețea neuronală recurentă, partea 4 - Implementarea unui RNN GRU/LSTM cu Python și Theano - WildML . Preluat la 18 mai 2016. Arhivat din original la 10 noiembrie 2021.

Literatură

  • Jordan, MI Comandă în serie: O abordare paralelă de procesare distribuită // Raportul Institutului pentru Științe Cognitive 8604. — Universitatea din California, San Diego, 1986.