gpt4 book ai didi

pytorch - pytorch中嵌入的加权求和

转载 作者:行者123 更新时间:2023-12-05 02:10:37 29 4
gpt4 key购买 nike

我有一个由 12 个单词组成的序列,我使用 12x256 矩阵(使用单词嵌入)表示这些单词。让我们将这些称为 .我希望将其作为输入并输出一个 1x256 向量。但是我不想使用 (12x256) x 256 密集层。相反,我想使用 12 个嵌入的加权总和来创建输出嵌入

其中 wi 是标量(因此存在权重共享)。

如何在 pytorch 中创建可训练的 wi?我是新手,只熟悉 nn.Linear 等标准模块。

最佳答案

您可以通过 kernel_size = 1 的一维卷积实现这一点

import torch

batch_size=2

inputs = torch.randn(batch_size, 12, 256)
aggregation_layer = torch.nn.Conv1d(in_channels=12, out_channels=1, kernel_size=1)
weighted_sum = aggregation_layer(inputs)

这样的卷积会有12个参数。每个参数都将等于您提供的公式中的 e_i。

换句话说,这个卷积将遍历大小为 256 的维度,并将其与可学习的权重相加。

关于pytorch - pytorch中嵌入的加权求和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58568400/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com