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?



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.


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


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.


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.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.