赞
踩
最近学习注意力机制的时候,发现相同的概念很多,有必要给这些概念做一下区分,不然后续的学习可能会混成一团。本文先区分一下自注意力机制和传统注意力机制。我会先直接给出它们之间有何区别的结论,然后通过一个例子来说明。
假设我们正在处理英译法机器翻译任务,源句为"The movie was boring.",在典型的编码器-解码器架构中,源句经过编码器处理,转化为一系列向量表示,每个向量对应英语句子中的一个单词。
在生成法语句子的第一个词时,解码器会使用注意力机制“看”英语句子的不同部分。比如,如果第一个法语词应该是“Le”,这很可能对应英语的定冠词“The”。此时,解码器(作为查询)会查看英语序列中的各个单词(作为键),并基于它们与“Le”这个目标词的相关性来分配注意力权重。
最终,它可能会发现“the”这个英语单词与当前输出最相关,于是给予它更高的权重,而其它单词权重较低。这样,解码器就能更加关注与当前翻译任务最相关的输入部分。
假设我们在分析一个句子的情感色彩:“The movie was boring but the acting was superb.” 使用自注意力机制,我们不是在不同序列间寻找关联,而是在这个句子内部探索词语之间的相互关系。
在自注意力的计算过程中,对于句子中的每个词(比如“boring”),模型会计算这个词与句子中所有其他词(包括它自己)的相关性。这意味着“boring”这个词会基于它与“movie”、“was”、“but”等词的上下文关系来重新加权。在这个例子中,“boring”与“movie”关系紧密,因为它修饰“movie”,所以模型可能会给“movie”较高的权重,而像“superb”这样的词由于情感色彩相反,可能获得较低的权重。通过这样的过程,每个词都被赋予了一个基于其在句子中角色和上下文的新表示,从而帮助模型更好地理解整个句子的含义。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。