注意力机制QKV的作用 简单易懂

关于注意力机制,一直都了解的比较浅显,只知道怎么去计算,但是具体算出来的怎么就体现了词跟词之间的关系一点都不清楚。
后来在b站上看到一个讲解transformer的视频,里边给了一个特别简单易懂的解释,就把它粘过来分享一下,具体如下:

假设有一个问题:给出一段文本,使用一些关键词对它进行描述!
为了方便统一正确答案,这道题可能预先已经给大家写出来一些关键词作为提示,其中这些给出的提示就可以看作key。
而整个文本的信息就相当于query,value的含义则更加抽象,可比作是你看到这段文本信息后,脑子里复现的答案信息。
假设刚开始大家都不是很聪明,第一次看到这段文本之后脑子里基本上复现的信息value就只有提示的这些信息即key,因为key与value基本是相同的。
但是随着对这个问题的深入理解,通过我们的思考脑子里想起来的东西越来越多,并且能够开始对这段文本即query,提取关键词信息进行表示,这就是注意力作用的过程,通过这整个过程我们最终脑子里的value发生了变化。
根据提示key生成了query的关键词表示方法,也就是另一种特征表示方法。
刚刚我们说到key和value一般情况下默认是相同,与query是不同的,这种是我们一般的注意力输入形式。
但有一种特殊情况,就是我们query与key和value相同,这种情况我们成为自注意力机制,就如同我们刚刚的例子,使用一般的注意力机制,是使用不同给定文本的关键词表示它。
而自注意力机制,需要用给定文本自身来表述自己,也就是说你需要从源文本中抽取关键词来表述它,相当于对文本自身的一次特征提取。

个人感觉在这个解释的基础上,在去理解后续的注意力计算,就非常的好懂啦~

你可能感兴趣的:(nlp,transformer,深度学习,神经网络)