Какой из них быстрее или ГРУ или LSTM - PullRequest
0 голосов
/ 27 января 2020

Я попытался реализовать модель на керасах с ГРУ и LSTM. Архитектура модели одинакова для обеих реализаций. Как я читал во многих сообщениях в блоге, время вывода для GRU быстрее по сравнению с LSTM . Но в моем случае GRU не быстрее и сравнительно медленнее по сравнению с LSTM . Кто-нибудь может найти причину для этого. Есть ли что-то связанное с ГРУ в Керасе, или я где-то ошибаюсь.

Небольшая помощь высоко ценится ...

Заранее спасибо

Ответы [ 2 ]

0 голосов
/ 27 января 2020

LSTM (долговременная кратковременная память) : LSTM имеет три элемента (вход, выход и выходной шлюз)

GRU (стробирующие повторяющиеся единицы) : GRU имеет два шлюза (сброс и обновление шлюза).

GRU использует меньше обучающих параметров и поэтому использует меньше памяти, выполняет быстрее и тренируется быстрее, чем LSTM, тогда как LSTM более точен для наборов данных, использующих более длинную последовательность. Короче говоря, если последовательность большая или точность очень важна, пожалуйста, go для LSTM, тогда как для меньшего потребления памяти и более быстрой работы go для GRU. Все зависит от вашего времени обучения и компромисса точности.

Если в вашем случае обе архитектуры одинаковы, может быть проблема с размером пакета для обеих моделей. Убедитесь, что размер партии и длина последовательности одинаковы для обеих моделей.

0 голосов
/ 27 января 2020

Сначала я проверю, является ли используемый вами LSTM CuDNNLSTM или простым LSTM. Первый вариант - это вариант с GPU-ускорением, и он работает намного быстрее, чем простой LSTM, хотя, скажем, обучение проходит на GPU в обоих случаях.

Да, документы не лгут; на самом деле вычислений для ячейки GRU меньше, чем для ячейки LSTM.

Убедитесь, что вы не сравниваете простой GRU с CuDNN-LSTM.

Для истинного теста убедитесь, что Вы сравниваете LSTM с ГРУ и CuDNNLSTM с CuDNNGRU.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...