Скачки потерь на графике эпох в модели LSTM - keras

Я вижу скачки потерь на графиках эпох для моей модели LSTM. (СКРИНШОТ прилагается) О чем он мне говорит? (переоснащение?, неправильные функции потерь, неправильная активация, ненужные слои? и т. д.)

СЧЕТ УБЫТКОВ

# Model
time_input= Input(shape=(timesteps,data_dim))           #inputs dimension
DKLOC_input= Input(shape=(timesteps,data_dim))  
LSTM_outs=LSTM(hidden_dim, unroll= True, return_sequences=True)(time_input)
MLP_inputs=concatenate([LSTM_outs,Feature_Data_input])

MLP_outs= Dense(MLP_hidden_dim, activation='relu')(MLP_inputs)
MLP_outs= Dense(MLP_hidden_dim, activation='relu')(MLP_outs)
outs= Dense(data_dim, activation="linear")(MLP_outs) 


#optimizaiton # compile  #fit
model = Model(inputs=[time_input,Feature_Data_input], outputs=[outs])
model.compile(loss='mse', optimizer="adam", metrics=['mse', 'mae', 'mape', 'cosine'])
history = model.fit(x=[input_data, Feature_Data_train] , y= truth, batch_size=1, epochs=1000, verbose=2)

Эпоха 999/1000 - 0 с - потеря: 0,0132 - средняя_квадратичная_ ошибка: 0,0132 - средняя_абсолютная_ошибка: 0,0619 - средняя_абсолютная_процентная_ошибка: 45287253.3333 - косинусная_проксимация: -6.5984e-01 Эпоха 1000/1000 - абсолютная_ ошибка_среднего_среднего_среднего_среднего_предупреждения: 0,0132 - средняя_представленная_ погрешность_среднего_среднего_предупреждения: 0,0132 : 45145968.0000 - cosine_proximity: -6.5985e-01


person MarcusM    schedule 25.02.2019    source источник


Ответы (1)


Я бы начал с использования batch_size больше 1. Вы хотите, чтобы оптимизатор одновременно рассматривал несколько точек данных, а не только одну выборку. Надеюсь, ваши образцы данных отличаются, поэтому вы хотите, чтобы при оптимизации учитывался набор средних значений.

person Pedro Marques    schedule 26.02.2019
comment
установка batch_size 3 или более сделала мою кривую потерь более гладкой, спасибо! - person MarcusM; 26.02.2019