- 机器翻译中:
- 通过注意力机制,decoder在每次计算输出前都可访问源句中每个token对应的hidden state并给各个 hidden state 计算出对应的 attention weight,随后将各 hidden state 与其对应的 attention weight 的乘积再求和得来的 context vector 作为 decoder 的输入。
- decoder 的每个时间步都需重新计算一个 attention weight,所以每个时间步的 context vector 都不一样,这与传统方法中仅使用 source sentence 中最后一个 token 的 hidden state 作为固定的 context vector 不同,它不要求将 source sentence 编码成单个向量,这样的优点在于,decoder 在计算输出时可以有侧重地利用 source sentence 中的信息,把“注意力”放在最有利于当前正确输出的信息上。
- 计算context vector以及attention权重:
- 计算 context vector 的过程就是使用注意力机制的过程
- 注意力权重 α_(t , i) 用于衡量源句中第i个 token 与 Decoder 的第t个输出之间的对齐程度。计算 α_(t , i) 时使用了 softmax 函数,故 α_(t , i) ∈ ( 0 , 1 ) 其值越大说明 h_i 对 Decoder 目前的输出越重要。
- score 函数可以有不同的形式,不同的 score 函数对应着不同的注意力种类
- 扩展:注意力的种类:
- Intra-attention与self-attention:
- inter-attention:一般用于 encoder-decoder 模型结构中 self-attention 只关注于单个句子,inter-attention 是跨越两个句子的 attention,decoder 正是通过 inter-attention 从 encoder 那选取最有利的信息。
- self-attention:
- 将一个句子的不同位置相互联系起来以计算该句子的特征表达,论文《Attention Is All You Need》提出的 Transformer 就是使用包含 self-attention 模块的编码器来替代 RNN 对句子进行编码的
- self-attention 和 inter-attention 一样,可以使用几乎所有上一节中的 score functions,只是在 self-attention 中需要使用源句替换目标句。
- Global-attention 和 local-attention :
- 两者之间的分类与 intra-attention 和 inter-attention 之间的分类不相关
- global-attention:在计算 context vector 时会将源句中的所有位置的 token 都纳入考虑范围,而 local-attention 仅考虑部分位置上的 token.
- local-attention:如何决定哪些位置需要被考虑:
- 设置一个超参m,对于的时间步 t,计算 context vector 时仅考虑源句 [ t − m , t + m ] 位置上的 token;
- 对于的时间步 t,计算 context vector 时则考虑源句 [ p_t − m , p_t + m ] 位置上的 token,这里的p_t是通过神经网络模块计算出来的,不是固定的,并且该模块可在训练阶段得到优化。
- soft attention 和hard attention:
- 若一注意力机制能跟随神经网络模型再梯度后向传播中得到优化的话,那么该注意力机制就属于 soft-attention,反之则属于 hard-attention.
- Soft-attention:
- 类似于 global-attention,会考虑所有的源信息(这里的信息指的是图像)
- 优点:包含它们(soft和global attention)的模型能可微分的(说明可以通过梯度后向传播进行优化)
- 缺点是:当源句子过长(或图像的分块数较多)时,需要大量的计算资源。
- Hard-attention;和 local-attention 一样,仅选取部分源信息,只是 hard-attention 对部分源信息的选取方式是不可微的,所以它无法跟随模型得到优化。Local-attention 也可以说是 hard-attention 与 soft-attention 的混合产物。
- Intra-attention与self-attention:
soft-attention--学习笔记
于 2022-10-11 10:06:16 首次发布