Suponha que eu esteja alimentando uma matriz 2D de forma (99,13) como entrada para uma camada LSTM. Estou tendo um número n de arquivos, onde cada um contém (99,13) vetores de tamanho. Decidi considerar 13 como o número de recursos e 99 como o timesteps.
(Ao implementar com o Keras, adicionei a camada LSTM como a primeira camada. E configurei o output_dim da camada como 100)
Mas não consigo descobrir como as coisas realmente funcionam na rede quando fornecemos uma entrada como acima. Tenho as seguintes perguntas, que não consigo responder.
- Que tipo de valores fornecemos como entrada para as células LSTM? ( xt , ht-1 usado como entradas para a célula são sempre vetores? No meu caso, xt tem a forma de [1,13]?)
- Quando dizemos que temos uma camada LSTM como a primeira camada do modo l, ele alimenta o primeiro vetor de entrada para todas as células na camada especificada? (Por exemplo: alimente o primeiro quadro de tamanho 13 (de 99 quadros) a todas as n células LSTM na primeira camada?) Da mesma forma, ele continua alimentando todas as linhas da matriz de entrada a cada passo?
- Que tipo de valor uma célula LSTM gera a cada passo de tempo ? (Será que considerar o estado celular como a saída correta do nó? É um valor único ou um vetor? Se é um vector quais são as dimensões? Existe uma maneira podemos imaginar as dimensões? Eu assumi ht como um vetor)
- O que se entende por output_dim (dimensão de saída) de uma determinada camada? Sempre tem que ser o número de nós na próxima camada?
Por favor, não faça isso em espera ou dirija para outros grupos. Eu acho que essas questões estão relacionadas ao aprendizado de máquina e ao rnn. Eu li trabalhos de pesquisa, mas não consegui ter uma idéia clara de como as coisas realmente funcionam na rede LSTM.
fonte