#machine-learning #pytorch #lstm #autoencoder
#машинное обучение #pytorch #lstm #автоэнкодер
Вопрос:
Я обучаю автоэнкодер LSTM для воссоздания входных данных, состоящих из восьми функций (чисел с плавающей запятой от 0 до 1). В настоящее время я использую окно размером в два и обучаю модель в течение 50 эпох. Однако при обучении сети я заметил, что ошибка обучения (среднеквадратичная ошибка) значительно снижается после первой эпохи. Например, в течение первой эпохи ошибка обучения составляла 17,25. В следующую эпоху оно упало до 1.8 и остается на прежнем уровне после седьмой эпохи. Мне было интересно, может ли это быть причиной случайной инициализации весов, поэтому я переобучил еще одну сеть, и то же явление повторилось.
Я не могу определить причину этого значительного снижения ошибки обучения после первой эпохи и был бы признателен за любую помощь. Я приложил график ошибок обучения и информацию о модели для справки.
Информация о модели:
LSTM_AutoencoderModel( (encoder): Encoder( (lstm1): LSTM(16, 64) (lstm2): LSTM(64, 16)) (декодер): Декодер( (lstm1): LSTM(16, 64) (lin1): Линейный (in_features= 64, out_features = 16, смещение= Верно) ))
Комментарии:
1. Разве удаление ошибки обучения не является хорошей вещью?
2. Но разве оно не должно постепенно уменьшаться, а не уменьшаться массово после определенного момента? Я не уверен, что это неправильное предположение, но я только что начал заниматься машинным обучением, поэтому мне нужна некоторая ясность в этом.