Каковы преимущества стекирования нескольких LSTM?

25

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

Я спрашиваю об этом, потому что я видел это в программе генерации естественного языка.

составитель чужих речей
источник
1
Вы действительно имели в виду LSTM, сложенные бок о бок, как по горизонтали (по временным шагам), или вы имели в виду вертикально сложенный (несколько ячеек LSTM для каждого временного шага)?
wabbit

Ответы:

18

Я думаю, что вы имеете в виду вертикально сложенные слои LSTM (предполагая, что горизонтальная ось является временной осью).

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

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

Теперь разница между наличием слоя прямой связи между входом объекта и слоем LSTM и наличием другого слоя LSTM заключается в том, что слой прямой связи (скажем, полностью подключенный слой) не получает обратную связь от своего предыдущего временного шага и, следовательно, не может учитывать определенные узоры. Вместо LSTM (например, с использованием сложенного представления LSTM) более сложные входные шаблоны могут быть описаны на каждом уровне

Сьерд
источник
4
Ячейки LSTM внутри уровня уже полностью, периодически связаны друг с другом (выходы уровня имеют соединения со всеми входами одного и того же уровня). Следовательно, отдельные ячейки уже могут комбинировать элементы поверх выходов других ячеек, все в пределах одного слоя. Не могли бы вы уточнить, почему несколько слоев приводят к более сложным узорам, пожалуйста?
Данияр
6

От 1}:

Хотя теоретически не ясно, какова дополнительная мощность, получаемая более глубокой архитектурой, эмпирически было замечено, что глубокие RNN работают лучше, чем более мелкие, в некоторых задачах. В частности, Sutskever и соавторы (2014) сообщают, что четырехуровневая архитектура имеет решающее значение для достижения хорошей производительности машинного перевода в среде кодер-декодер. Irsoy и Cardie (2014) также сообщают об улучшенных результатах перехода от однослойного BI-RNN к архитектуре с несколькими уровнями. Многие другие работы сообщают о результатах с использованием многоуровневых архитектур RNN, но явно не сравнивают с одноуровневыми RNN.

FYI:


Ссылки:

Франк Дернонкур
источник
2

От игры с LSTM для классификации последовательности это имело тот же эффект, что и увеличение емкости модели в CNN (если вы знакомы с ними). Таким образом, вы определенно получаете выгоды, особенно если вы недооцениваете свои данные.

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

InKodeWeTrust
источник