attn_combine对应decoder端的哪个结构呢?
来源:12-5 Seq2Seq-Attention编程实例-定义模型结构模块(下)

慕丝2652577
2021-09-09
请问代码中的attn_combine对应的是decoder端的哪一个结构呢?并且在attentiondecoder的forward方法里传入了inputs和encoder_outputs,请问这两个变量有什么区别吗?
写回答
1回答
-
att_applied = torch.bmm(atten_weight.unsqueeze(0),encoder_outputs.unsqueeze(0))
output = torch.cat([embedded[0], att_applied[0]], dim=1)
output = self.attn_combine(output).unsqueeze(0)
attn_combine是线形成,输入层是上面代码的第2行的输出。
att_applied 理解为加权的过程,也就是attention的过程,它的输入是encoder_outputs
encoder_outputs 是编码器的输出。
第2行代码可以理解成一种跳连的结构,类比:resnet的resblock。
012021-09-26
相似问题