提出attention机制,用于机器翻译。
背景:基于RNN的机器翻译
基本思路是首先对语言x进行编码encoder,然后解码decoder为语言y。encoder和decoder可以看做两层RNN? 编码的隐藏层h和解码的隐藏层s
RNN encoder-decoder :
1)对输入的sentence,表示为
2)接下来是decoder阶段,根据之前预测的翻译单词以及输入的encoder
本文的创新:
对(2)式的条件概率进行改写,对每个yi,context的encoder各异,记为ci
关于ci的计算:ci表示成一系列hi的线性加权,这里的hi是encoder端的隐藏层,定义为annotation,hi(个人理解)为输入的第i个词附近的information(简单的说就是输入端i的表示)
alpha系数:
alpha或者说e代表了第j个输入词的annotation与decoder端第i-1个隐藏状态的importance,这样得到的ci会对某些位置pay attention,等价地可以看做翻译词i对原始输入某些位置pay attetnion
使用BiRNN:
本文使用双向RNN来catch住向前、向后的hi拼接到一起,这样的annotation更能个表征输入词i周围的信息。
网络结构: