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

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

Сообщение Гость »

Итак, я читал о 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. Таким образом, после вызова прогноза мы фактически получаем 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»