Keras: SimpleRNN — как вводить новые входные данные на каждом временном шаге (вместо использования выходных данных)

#keras #recurrent-neural-network

#keras #рекуррентная нейронная сеть

Вопрос:

В документации для SimpleRNN (https://keras.io/layers/recurrent/#simplernncell ), она описывается как «Полностью подключенная RNN, где выходные данные должны быть возвращены на вход».

Есть ли простой способ использовать этот слой (или другой встроенный метод), чтобы я мог вводить новые входные данные (вместо использования выходных данных с предыдущего временного шага)?

например, у меня есть последовательность из тысячи чисел

 [1 2 3 4 5, ..., 999, 1000]
  

который я хотел бы ввести в RNN за 1000 временных шагов.

Математически это эквивалентно наличию системы:

введите описание изображения здесь

в отличие от:

введите описание изображения здесь

Комментарии:

1. Я пришел к тому же выводу… SimpleRNN, похоже, вводит выходные данные предыдущего уровня. Вы нашли ответ на свой вопрос?

Ответ №1:

Количеством временных шагов можно управлять с помощью параметра input_shape.

 model = Sequential()
model.add(SimpleRNN(300, input_shape=(1,1)))
  

(1,1) => timestep=1, input_feature_size=1