4. Sieci rekurencyjne

Dotychczas rozważane nieliniowe sieci należały do sieci jednokierunkowych, w których przepływ sygnału odbywał się od wejścia do wyjścia. Ustalanie się wartości sygnałów w takich sieciach odbywało się w tej samej chwili. Odmienny typ stanowią sieci rekurencyjne, w których istnieje sprzężenie zwrotne od wyjścia sieci w kierunku wejścia. Zasadniczą cechą sieci rekurencyjnych jest istnienie sprzężenia zwrotnego między neuronami. Sprzężenie to może wychodzić od neuronów wyjściowych lub neuronów warstwy ukrytej i być przeniesione do wejścia sieci lub do warstwy uprzedniej. Sprzężenie zwrotne powoduje powstanie pewnego stanu nieustalonego w procesie przesyłania sygnałów, stanowiąc istotną różnicę w stosunku do sieci rozważanych dotychczas.

Istnieje duża różnorodność rozwiązań sieci ze sprzężeniem zwrotnym [18,24,46,58]. Sprzężenie zwrotne może być wyprowadzone bądź z warstwy wyjściowej neuronów, bądź z warstwy ukrytej. W każdym torze takiego sprzężenia umieszcza się blok opóźnienia jednostkowego, pozwalający rozpatrywać przepływ sygnałów jako jednokierunkowy (sygnał wyjściowy z poprzedniego cyklu zegarowego stanowi sygnał znany, powiększający jedynie rozmiar wektora wejściowego x sieci). Tak rozumiana sieć rekurencyjna ze względu na sposób tworzenia sygnału wyjściowego działa podobnie jak sieć jednokierunkowa (perceptronowa). Tym niemniej algorytm uczący takiej sieci, adaptujący wartości wag synaptycznych, jest bardziej złożony, Ze względu na zależność wartości sygnałów w chwili t od ich wartości w chwilach poprzedzających i wynikającą z tego bardziej rozbudowaną formułę wektora gradientu. Spośród wielu sieci rekurencyjnych tutaj zostaną przedstawione dwie: sieć Elmana, stanowiąca rozwiązanie płytkie oraz sieć LSTM stanowiąca strukturę głęboką.

Zasadniczą zaletą sieci rekurencyjnych jest uwzględnienie związków między aktualnymi stanami neuronów a ich stanami w chwilach poprzednich. Stąd sieci rekurencyjne są skuteczniejsze w zadaniach predykcji szeregów czasowych, przetwarzaniu mowy czy tekstu.