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.
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]
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.
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ț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]
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.
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]
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:
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]
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]
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 doiReț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.
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]
Tipuri de rețele neuronale artificiale | |
---|---|
|
Învățare automată și extragerea datelor | |
---|---|
Sarcini | |
Învățarea cu un profesor | |
analiza grupului | |
Reducerea dimensionalității | |
Prognoza structurală | |
Detectarea anomaliilor | |
Modele grafice probabilistice | |
Rețele neuronale | |
Consolidarea învățării |
|
Teorie | |
Reviste și conferințe |
|