Как я могу сгенерировать вектор word2vec как вывод, используя lstm в Pytorch? - PullRequest
0 голосов
/ 01 октября 2019

У меня есть lstm, обученный генерировать последовательности. Входные данные представляют собой серию предварительно обученных векторов word2vec. Во время обучения (и процесса генерации) я передаю входные данные в метод lstm (), а затем передаю эти выходные данные слою nn.Linear, чьи выходные объекты настроены на те же измерения, что и мои собственные векторы word2vec. Я хочу, чтобы lstm вывел вектор word2vec или что-то близкое к нему, чтобы я мог найти ближайший вектор и сгенерировать слово в последовательности.

Мой вопрос: правильный ли это выходной слой для использования, если я хочу сгенерировать вектор word2vec? Я предполагал, что при тех же измерениях сеть научится генерировать векторы word2vec, близкие к тем, которые есть в моем словаре, в качестве вывода при передаче скрытого состояния в nn.Linear

self.fc = nn.Linear(in_features = self.cfg.lstm.lstm_num_hidden, out_features =self.cfg.lstm.embedding_dim, bias=True)

В конце последовательность не 'он работает хорошо, и кажется, что он застревает в цикле, в котором он генерирует один и тот же кластер событий снова и снова. Это приводит к чрезмерно длинным последовательностям. Любой совет будет высоко ценится.

...