Co oznacza „Liczba jednostek w komórce LSTM”?


19

Z kodu Tensorflow : Tensorflow. RnnCell.

num_units: int, The number of units in the LSTM cell.

Nie mogę zrozumieć, co to oznacza. Jakie są jednostki komórki LSTM. Bramy wejściowe, wyjściowe i zapomnienia? Czy to oznacza „liczbę jednostek w rekurencyjnej warstwie projekcyjnej dla Deep LSTM”. Dlaczego więc nazywa się to „liczbą jednostek w komórce LSTM”? Co to jest komórka LSTM i jaka jest różnica VS blok LSTM, co to jest minimalna jednostka LSTM, jeśli nie komórka?



Jeśli warstwa zawiera wiele równoległych jednostek LSTM, w jaki sposób obsługuje dane wejściowe x? przypadek 1: h (1) = f (x) h (t) = f (h (t-1), x) h (t + 1) = f (h (t), x) przypadek 2: h (1 ) = f (x) h (t) = h (t-1) Może jest inny przypadek jak ResNet.
user1908842

Odpowiedzi:


10

Jak mówią pomocne komentarze w tej funkcji,

Definicja komórki w tym pakiecie różni się od definicji użytej w literaturze. W literaturze komórka odnosi się do obiektu z pojedynczym wyjściem skalarnym. Definicja w tym pakiecie odnosi się do poziomej tablicy takich jednostek.

Zasadniczo warstwa będzie zawierać wiele równoległych jednostek LSTM, strukturalnie identycznych, ale każda ostatecznie „uczy się zapamiętywać” coś innego.


1
Dzięki :) Ten komentarz został dodany 7 dni temu, po tym pytaniu. Po kilku kopaniach zapytałem zespół Tensorflow w grupie Google, dlaczego ich definicja komórki LSTM różni się od literatury komórki LSTM .. i dodali ten komentarz :)
Brans Ds

7

Większość diagramów LSTM / RNN pokazuje tylko ukryte komórki, ale nigdy ich jednostki. Stąd zamieszanie. Każda ukryta warstwa ma ukryte komórki, tyle ile kroków czasowych. Co więcej, każda ukryta komórka składa się z wielu ukrytych jednostek, jak na poniższym schemacie. Dlatego wymiarowość macierzy ukrytej warstwy w RNN wynosi (liczba kroków czasowych, liczba ukrytych jednostek).

wprowadź opis zdjęcia tutaj


1

W Keras, który znajduje się na górze TensorFlow lub Theano, gdy wywołujesz model.add(LSTM(num_units)), num_units to wymiarowość przestrzeni wyjściowej ( stąd linia 863). Dla mnie oznacza num_unitsto liczbę ukrytych jednostek, których aktywacje są wysyłane do następnego kroku czasowego.


0

Liczba jednostek w RNN jest liczbą jednostek pamięci RNN na każdym wejściu sekwencji w sposób pionowy połączonych ze sobą i każda z nich przekazuje przefiltrowane informacje do następnych jednostek pamięci.

Pamiętaj, że ta koncepcja została zainspirowana koncepcją informatyczną przepływu alokacji pamięci do różnych jednostek wielkości bitów.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.