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?
neural-network
tensorflow
rnn
Brans Ds
fonte
fonte
Respostas:
Como dizem os comentários úteis nessa função,
Em essência, a camada conterá várias unidades LSTM paralelas, estruturalmente idênticas, mas cada uma delas "aprender a lembrar" alguma coisa diferente.
fonte
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).
fonte
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 significanum_units
é o número de unidades ocultas cujas ativações são enviadas para a próxima etapa.fonte
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.
fonte