У меня есть 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)
В конце последовательность не 'он работает хорошо, и кажется, что он застревает в цикле, в котором он генерирует один и тот же кластер событий снова и снова. Это приводит к чрезмерно длинным последовательностям. Любой совет будет высоко ценится.