Разница между скрытым измерением и n_layers в rnn с использованием pytorch - PullRequest
0 голосов
/ 07 августа 2020

Я застрял между скрытым измерением и n_layers. До сих пор я понял, что n_layers в параметрах RNN с использованием pytorch - это количество скрытых слоев. Если n_layers представляет собой количество скрытых слоев, чем скрытое измерение?

1 Ответ

0 голосов
/ 07 августа 2020

На самом деле документация действительно ясно показывает их различия. Скрытый размер - это количество признаков скрытого состояния для RNN. Поэтому, если вы увеличиваете скрытый размер, вы вычисляете более крупную функцию как вывод скрытого состояния.

Однако num_layers - это всего лишь несколько единиц RNN, которые содержат скрытые состояния с заданным скрытым размером.

num_layers = 2 будет означать объединение двух RNN вместе, чтобы сформировать составную RNN, при этом вторая RNN принимает выходные данные первой RNN и вычисляет окончательные результаты

Я хочу объяснить, как RNN работает с изображением ниже. Каждый блок RNN (синие прямоугольники) принимает один h_n (скрытое состояние) и один вход. Скрытый размер определяет размер вектора признаков h_n (скрытое состояние). На каждом временном шаге (t, горизонтальное распространение изображения) ваш rnn будет принимать h_n и вводить. Затем, если у вас n_layers> 1, он создаст промежуточный вывод и передаст его на верхний уровень (вертикальный). Таким образом, скрытый размер определяет размер горизонтального h_n в изображении, тогда как num_layers определяет количество синих ячеек по вертикальной оси изображения.

RNN

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