У меня есть вопрос, определяющий c об использовании некоторого предварительно подготовленного выходного линейного проекционного слоя одной сети LSTM для другой.
Что у меня есть: 1. Предварительно обученный полностью связанный слой, который использовался для вывода вероятностей слова в фактические слова для некоторой модели генерации языка, что-то вроде этого:
self.output_linear_projection = nn.Linear(self.wordRNN_dim, self.vocab_size)
Здесь self.wordRNN_dim
равно 512 (скрыто размер LSTM), а self.vocab_size
- это количество слов, которые у меня есть. Для этой предварительно обученной модели размер словаря составляет 10509, где он содержит 10508 слов, а последний элемент - проекция токена <end>
и <start>
(для этих токенов используется та же проекция)
- Моя модель генерации языка, для которой я хочу использовать выходной слой линейной проекции из предварительно обученной модели. Словарь моей модели также включает в себя токен
<pad>
, который отсутствует в предварительно обученной модели. Таким образом, размер моего словаря равен 10510.
Вопрос: - если я хочу использовать в моей модели этот слой линейной проекции с предварительно подготовленным выходом, что следует / я мог сделать? Как-то условно не проектировать <pad>
токены? Если так, должен ли я как-то игнорировать это в моей проекции и как? И если есть какие-либо шаги, которые я должен предпринять, какие-либо советы о том, как сделать их в PyTorch?