В целом, нет никаких рекомендаций относительно того, как определить количество слоев или количество ячеек памяти в LSTM.
Количество слоев и ячеек, требуемых в LSTM, может зависеть от нескольких аспектов проблемы:
Сложность набора данных. Количество функций, количество точек данных и т. Д.
Процесс генерации данных. Следующий пример того, как процесс генерации данных может сыграть значительную роль.
Ex - Прогноз цен на нефть по сравнению с прогнозом ВВП хорошо понимаемой экономики. Последнее намного проще, чем первое. Таким образом, для прогнозирования цен на нефть также может потребоваться большее количество ячеек памяти LSTM для прогнозирования с той же точностью, что и для ВВП.
- Точность, необходимая для варианта использования. Количество ячеек памяти будет сильно зависеть от этого. Если цель состоит в том, чтобы побить современное состояние - нужно больше ячеек LSTM в целом. Сравните это с целью придумать разумные прогнозы, для которых потребуется меньшее количество ячеек LSTM.
Я выполняю следующие шаги при моделировании с использованием LSTM:
Попробуйте один скрытый слой с 2 или 3 ячейками памяти. Посмотрите, как это работает по сравнению с эталоном. Если это проблема временного ряда, то я обычно делаю прогноз на основе классических методов временного ряда в качестве эталона.
Попробуйте увеличить количество ячеек памяти. Если производительность не сильно увеличивается, переходите к следующему шагу.
Начните углублять сеть, т.е. добавьте еще один слой с небольшим количеством ячеек памяти.
В сторону :
Нет предела количеству труда, которое может быть потрачено на достижение глобальных минимумов функции потерь и настройку лучших гиперпараметров. Таким образом, сосредоточение внимания на конечной цели моделирования должно быть стратегией, а не пытаться максимально повысить точность.
Большинство проблем можно решить, используя 2-3 уровня сети.