Реализация алгоритма обучения рекуррентных нейронных сетей с несколькими входами в KerasPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Реализация алгоритма обучения рекуррентных нейронных сетей с несколькими входами в Keras

Сообщение Anonymous »

Я читал о RNN в книге Орелиена Герона «Практическое машинное обучение с помощью Scikit-Learn, Keras & TensorFlow». Я наткнулся на очень простую реализацию последовательности RNN с использованием Keras:

Код: Выделить всё

seq2seq_model = tf.keras.Sequential([
tf.keras.layers.SimpleRNN(32, return_sequences=True, input_shape=[None, 5]),
tf.keras.layers.Dense(14)
])
Предполагается, что это займет произвольное количество временных шагов (в данном случае 56) по 5 функций каждый и создаст вектор, содержащий прогнозы на следующие 2 недели для каждого дня и для каждого времени. шаг.
это взято из репозитория:
https://github.com/ageron/handson-ml3/b ... cnns.ipynb
но нет необходимости понимать этот вопрос.
Данные временных рядов передаются последовательностями длиной 56. Таким образом, после вызова Predict мы фактически получаем 56 векторов прогнозирования каждый с 14 днями прогнозов ( первые 55 используются при обучении, а последний является фактическим прогнозом).
Мой вопрос: если есть 32 входных нейрона, каждый из которых выполняет предыдущий временной шаг, как мы получим 56 прогнозы, если для первых 31 временных шагов до них недостаточно временных шагов, чтобы они могли быть переданы в качестве входных данных всем нейронам? все ли недостающие функции установлены на 0? Как осуществляется пас вперед в этих случаях? Чем обратное распространение ошибки полезно в этих случаях, когда мы пытаемся научить модель прогнозировать, используя полные данные за 56 временных шагов? Мне нужны конкретные ответы Keras, а также некоторое общее представление об этом.
Я попробовал запустить этот код:

Код: Выделить всё

X = mulvar_valid.to_numpy()[np.newaxis, :seq_length]
y_pred_14 = seq2seq_model.predict(np.asarray(X).astype(np.float32))
print(len(y_pred_14[0]))
И обнаружил, что предсказания содержат 56 векторов. Я ожидал, что окно размером 32, прокручивающееся по 56 временным шагам, создаст около 20 векторов прогнозирования.

Подробнее здесь: https://stackoverflow.com/questions/787 ... h-multiple
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»