【发布时间】:2018-06-30 00:51:45
【问题描述】:
我正在实现一个基于 MemoryNetworks 的模型。我有(context, query, answer) 的三胞胎数据。我想计算注意力。注意力指示应该关注上下文中的哪些句子。
为了制定小批量,我使用零填充来创建 context 数据。所以下面是注意力数据。 0 值表示零填充上下文的嵌入结果。
在这样的数据中,我想将 softmax 应用于索引0, 1, 2, 3, last。所以模型应该忽略零填充列。
那么我如何实现这一点?当我们使用零填充和注意力机制时,我想知道这样的技术。虽然我更喜欢 pytorch,但任何工具或只是描述答案也将不胜感激。
Before softmax. torch.bmm(contex, q)
109.8601
77.6376
68.3927
199.1673
0.0000
0.0000
0.0000
0.0000
0.0000
0.0000
0.0000
0.0000
0.0000
0.0000
348.0155
[torch.cuda.FloatTensor of size 15 (GPU 0)]
After softmax. F.softmax( torch.bmm(contex, q) )
0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
[torch.cuda.FloatTensor of size 15 (GPU 0)]
【问题讨论】:
标签: python neural-network nlp deep-learning pytorch