如果一个小型神经网络被用作注意力模型的评分函数,它是针对什么 label/value 进行训练的?

If a small neural network were used as a scoring function for Attention model, what label/value it is trained against?

我正在阅读一篇关于机器翻译的编码器-解码器架构的注意力机制的论文。对于解码步骤的评分函数有几种提议,例如余弦相似度(编码器状态和解码器状态之间)、简单的点积等......其中之一是使用神经网络进行训练以获得分数.但我不明白的是我们要针对什么来训练它?我的意思是输出 "Y" label/value。网络方程式如下。

分数(s,h)= v 。 tanh(W[s;h])

https://lilianweng.github.io/lil-log/2018/06/24/attention-attention.html

用于注意力的神经网络不是单独训练的东西。用更简单的话来解释,tanh(W[s;h])(论文中提到的神经网络)是一个前馈层,与编码器和解码器一起训练。

任何注意力机制都会提出一个加权方案来为特定的解码步骤选择和组合适当的编码器状态。假设编码器的输出为a1, a2, .., an。对于解码器的每一步,编码器状态的加权组合作为输入。注意力分数在每个时刻给出适当的权重 α1, α2, .., αn解码器步骤。因此,假设要获得解码器输出 d1,输入将是 a1 * α1 + a2 * α2 + .. + an * αn

权重 α1, .. 是通过 softmax 在注意力 layer/net 的输出上获得的,在你的例子中是 tanh。在这种情况下,学习了 tanh 的权重,即 tanh 的反向传播和梯度更新与整个编码器-解码器网络一起完成。