Как обучить иерархическую модель в двух частях

Это продолжение следующего вопроса: Запутался в том, как реализовать распределенный по времени LSTM + LSTM

Текущая структура черновик работает хорошо: введите здесь описание изображения

Основная идея заключается в том, что существует глубокий входной слой LSTM TimeDistributed, который работает с каждой эпохой необработанных данных временных рядов и выводит вектор признаков для каждого вывода. Затем «внешний» глубокий слой LSTM берет 7 из этих последовательных выходных данных и пытается классифицировать центральную эпоху (предполагается, что 1 эпоха не имеет достаточно информации для классификации сама по себе и нуждается в окружающих эпохах). Я говорю, что это черновик, потому что я еще не изучил пространство функций, необходимое для того, чтобы это хорошо работало по многим предметам.

Есть несколько проблем, которые все еще необходимо решить, но тот, который я не нашел в четких примерах онлайн, пытается обучить эту модель в двух частях: 1) TimeDistributed позже и 2) «внешний» слой . Причина в том, что по мере того, как я увеличиваю количество эпох, необходимых для классификации (в настоящее время 7, но я ожидаю, что оно может возрасти до 21 или выше), загружается больше дублированных данных, и скорость обучения быстро снижается.

Можно предложить автоэнкодер для первого слоя. Однако я не думаю, что это лучшее решение. Причина, по которой я так думаю, заключается в том, что признаки, необходимые для воспроизведения входных данных, вполне могут отличаться от признаков, необходимых для использования с другими эпохами для классификации упомянутого слоя. Чтобы расширить: это вероятно, потому что временной ряд является полупериодическим, при этом большая часть эпохи предоставляет мало информации, кроме текущего периода от важного признака к важному признаку (и количество и расположение этих важных признаков различаются в каждую эпоху).


person Adam Jones    schedule 26.10.2017    source источник