Attention机制的理解
Attention机制也就是注意力机制,在自然语言处理中,就是对于一个语言序列的不同的部分给予不同的注意力,在数学上一般表现为权重,也就是对一个语言序列的各个元素加权。
对Attention机制给一个通用的定义:给定一组向量集合values,以及一个向量query,attention机制是一种根据该query计算values的加权求和的机制。这个定义来源于cs224n。
所谓attention就是这个value集和中的每个向量的权值的大小,attention机制就是用一种方式来计算出这个权值。
seq2seq中Attention机制的运用
attention在seq2seq模型中的计算方法大致如下:
- 将文本信息输入encoder模型中,每一步均会产生一个hidden state:
- 将encoding最后一个hidden state作为decoder中hidden state的初始值,输入到decoder中。
- 在decoder中每一个timestep均会产生一个hidden state: