Qual é o significado de "O número de unidades na célula LSTM"?

19

Do código Tensorflow : Tensorflow. RnnCell.

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

Não consigo entender o que isso significa. Quais são as unidades da célula LSTM. Entrada, saída e esquecer portões? Isso significa "número de unidades na camada de projeção recorrente para Deep LSTM". Então, por que isso é chamado de "número de unidades na célula LSTM"? O que é célula LSTM e qual é a diferença VS bloco LSTM, o que é uma unidade LSTM mínima, se não célula?

Brans Ds
fonte
FYI células Entendendo vs. unidades LSTM
Franck Dernoncourt
Se a camada contiver várias unidades LSTM paralelas, como ela lida com a entrada x? caso 1: h (1) = f (x) h (t) = f (h (t-1), x) h (t + 1) = f (h (t), x) caso 2: h (1 ) = f (x) h (t) = h (t-1) Talvez exista outro caso como o ResNet.
user1908842

Respostas:

10

Como dizem os comentários úteis nessa função,

A definição de célula neste pacote difere da definição usada na literatura. Na literatura, célula refere-se a um objeto com uma única saída escalar. A definição neste pacote refere-se a uma matriz horizontal de tais unidades.

Em essência, a camada conterá várias unidades LSTM paralelas, estruturalmente idênticas, mas cada uma delas "aprender a lembrar" alguma coisa diferente.

Peter é
fonte
1
Thanks :) Esse comentário foi adicionado 7 dias atrás, após esta pergunta. Após alguma escavação Pedi equipe Tensorflow no grupo Google por que eles definição de célula LSTM é diferente de célula literatura LSTM .. e eles acrescentaram que o comentário :)
Brans Ds
6

A maioria dos diagramas LSTM / RNN mostra apenas as células ocultas, mas nunca as unidades dessas células. Daí a confusão. Cada camada oculta possui células ocultas, até o número de etapas de tempo. Além disso, cada célula oculta é composta de várias unidades ocultas, como no diagrama abaixo. Portanto, a dimensionalidade de uma matriz de camada oculta na RNN é (número de etapas de tempo, número de unidades ocultas).

insira a descrição da imagem aqui

Garima Jain
fonte
1

No Keras, que fica em cima do TensorFlow ou Theano, quando você chama model.add(LSTM(num_units)), num_units é a dimensionalidade do espaço de saída ( daqui , linha 863). Para mim, isso significa num_unitsé o número de unidades ocultas cujas ativações são enviadas para a próxima etapa.

Estatísticas
fonte
0

O número de unidades em uma RNN é o número de unidades de memória RNN para cada entrada da sequência na maneira vertical anexada uma à outra, e cada uma está passando as informações filtradas para as próximas unidades de memória.

Lembre-se de que esse conceito foi inspirado no conceito de ciência da computação do fluxo de alocação de memória para diferentes unidades do tamanho de bit.

Raj
fonte