Struktura rekurencyjnej sieci neuronowej (LSTM, GRU)

Odpowiedzi:

8

A jest w rzeczywistości pełną warstwą. Wyjściem warstwy jest , w rzeczywistości jest wyjściem neuronu, który można podłączyć do warstwy softmax (jeśli chcesz na przykład klasyfikacji dla kroku czasu ) lub jakiejkolwiek innej, takiej jak inna warstwa LSTM, jeśli chcesz głębiej. Wejście tej warstwy odróżnia ją od zwykłej sieci feedforward: pobiera zarówno wejście i pełny stan sieci w poprzednim kroku czasowym (zarówno i inne zmienne z komórki LSTM ).httxtht-1

Zauważ, że jest wektorem. Tak więc, jeśli chcesz dokonać analogii ze zwykłą siecią feedforward z 1 ukrytą warstwą, to A może być uważane za zajmujące miejsce wszystkich tych neuronów w ukrytej warstwie (plus dodatkowa złożoność powtarzającej się części).ht

felipefg
źródło
Czy , i mają wszystkie taką samą długość? htdotxt
user_1177868,
6

Na twoim obrazie A jest pojedynczą ukrytą warstwą z jednym ukrytym neuronem. Od lewej do prawej znajduje się oś czasu, a na dole za każdym razem otrzymujesz dane wejściowe. U góry sieć można dalej rozszerzać, dodając warstwy.

Jeśli rozwiniesz tę sieć w czasie, jak pokazano na zdjęciu (od lewej do prawej, oś czasu jest rozłożona), uzyskasz sieć zwrotną z ukrytymi warstwami T (łączna liczba kroków czasowych), z których każda zawiera pojedynczy węzeł (neuron), jak jest narysowany w środkowym bloku A.

Mam nadzieję, że to odpowiada na twoje pytanie.

Sjoerd
źródło
3

Chciałbym wyjaśnić ten prosty schemat w stosunkowo skomplikowanym kontekście: mechanizm uwagi w dekoderze modelu seq2seq.

Na poniższym schemacie blokowym h0 do hk-1są przedziałami czasowymi (o tej samej długości co numer wejściowy z PAD dla pustych miejsc). Za każdym razem, gdy słowo jest wstawiane do i-tego (przedziału czasowego) neuronowego LSTM (lub komórki jądra takiej samej jak każda z trzech na twoim obrazie), oblicza i-ty wynik zgodnie z jego poprzednim stanem ((i-1) -ty wynik) i i-ty sygnał wejściowyxja. Ilustruję twój problem z wykorzystaniem tego, ponieważ wszystkie stany timestep są zapisywane dla mechanizmu uwagi, a nie tylko odrzucane, aby uzyskać ostatni. Jest to tylko jeden neuron i jest postrzegany jako warstwa (wiele warstw może być ułożonych w stos, tworząc na przykład dwukierunkowy koder w niektórych modelach seq2seq w celu wydobycia bardziej abstrakcyjnych informacji z wyższych warstw).

Następnie koduje zdanie (z L wyrazami i każdym z nich przedstawionym jako wektor kształtu: emdding_dimention * 1) na liście L tensorów (każdy z kształtów: num_hidden / num_units * 1). A stan przeszłości do dekodera jest tylko ostatnim wektorem jako osadzenie zdania tego samego kształtu każdego elementu na liście.

wprowadź opis zdjęcia tutaj
Źródło zdjęcia: Mechanizm uwagi

Lerner Zhang
źródło