Работая над проблемой, связанной с ответами на вопросы (MR C), я реализовал две разные архитектуры, которые независимо дают два тензора (распределение вероятностей по токенам). Оба тензора имеют размерность (batch_size, 512). Я использую sh, чтобы получить окончательный результат формы (batch_size, 512). Как я могу объединить два тензора, используя обучаемые веса, а затем обучить модель окончательному прогнозу?
Изменить (дополнительная информация):
Итак, в прямой функции моей модели NN у меня есть использовала модель BERT для кодирования 512 токенов. Эти кодировки 768-мерные. Затем они передаются линейному слою nn.Linear (768,1) для вывода тензора формы (batch_size, 512,1). Помимо этого, у меня есть еще одна модель, построенная на основе кодировок BERT, которая также дает тензор формы (batch_size, 512, 1). Я хочу sh объединить эти два тензора, чтобы, наконец, получить тензор формы (batch_size, 512, 1), который можно обучить против выходных логитов той же формы с помощью CrossEntropyLoss.
Пожалуйста, поделитесь кодом PyTorch фрагмент, если возможно.