矩阵 – 实现问题应答的注意池网络的问题

我正在关注
this篇论文来实现和Attentive Pooling Network建立一个问答系统.在第2.1章中,它谈到了CNN层:

《矩阵 – 实现问题应答的注意池网络的问题》

其中q_emb是使用word2vec嵌入每个标记(单词)的问题. q_emb具有形状(d,M). d是单词嵌入的维度,M是问题的长度.以类似的方式,a_emb是用形状(d,L)嵌入答案.
我的问题是:如何完成卷积以及W_1和b_1对于这两个操作的可能性如何?在我看来,至少b_1在每种情况下应该有不同的维度(它应该是一个矩阵,而不是一个向量……).

目前我在PyTorch中实现了这个操作:

### Input is a tensor of shape (batch_size, 1, M or L, d*k)
conv2 = nn.Conv2d(1, c, (d*k, 1))

最佳答案 我发现本文的作者相信读者可以在这里假设/弄清楚很多东西.从我读到的,这是我可以收集的内容:

> W1应该是1 X dk矩阵,因为这是唯一有意义的形状,以便将Q作为c X M矩阵.
>假设这一点,b1不必是一个矩阵.从上面可以得到一个c X 1 X M矩阵,它可以很容易地重新形成c X M矩阵,b1可以是一个c X 1矢量,可以被广播并添加到矩阵的其余部分.

由于,c,d和k是超参数,因此对于Q和A,您可以轻松地获得相同的W1和b1.

这就是我认为到目前为止,我将重新阅读和编辑以防万一.

点赞