В настоящее время я пытаюсь проверить различия в поведении между RNN LSTM и RNN GRU при прогнозировании временных рядов (классификация 1/0, если временной ряд идет вверх или вниз).Я использую метод fit_generator (как в книге Кераса Франсуа Шолье)
Я передаю 30 точек в сеть, а следующая точка должна быть классифицирована как вверх или вниз.Образцы обучающего набора перетасовываются, в то время как проверочные образцы, конечно, не совпадают.
Если я не изменяю значение по умолчанию для скорости обучения (10-3 для алгоритма Адама), то обычно происходит, обучающий набор имеет тенденциюбыть переоснащенным после определенного количества эпох, как для ячеек LSTM, так и для ячеек GRU.
слой LSTM 1 128N
Обратите внимание, что мои графики усредняются с 10 имитациями (этоспособ, которым я избавляюсь от случайной инициализации конкретного веса)
Если я выберу более низкие скорости обучения, точность обучения и валидации будет показана ниже влияния другой скорости обучения, мне кажется, что тренировочный набор не способенбольше перебирать (???)
влияние скорости обучения на сеть GRU
Когда я сравниваю LSTM и GRU, это еще хуже, набор проверки становится вышеточность, чем тренировочный набор в случае LSTM.Для случая GRU кривая близка, но обучающий набор все еще выше
2 слоя LSTM LR = 1e-5
2 слоя GRU LR= 1e-5
Обратите внимание, что это менее подчеркнуто для 1 слоя LSTM
1 слой LSTM LR = 1e-5
IЯ проверил это с 1 или 2 слоями и для другого набора проверки, но результаты схожи.
выдержка из моего кода ниже:
modelLSTM_2a = Sequential()
modelLSTM_2a.add(LSTM(units=32, input_shape=(None, data.shape[-1]),return_sequences=True))
modelLSTM_2a.add(LSTM(units=32, input_shape=(None, data.shape[-1]),return_sequences=False))
modelLSTM_2a.add(Dense(2))
modelLSTM_2a.add(Activation('softmax'))
adam = keras.optimizers.Adam(lr=1e-5, beta_1=0.9, beta_2=0.999, epsilon=1e-08, decay=0.0)
modelLSTM_2a.compile(optimizer= adam, loss='categorical_crossentropy', metrics=['accuracy'])
Кто-нибудь может понять, что может произойти?
Я действительно озадачен этим поведением, особенно влиянием скорости обучения в случае LSTM