什么是注意力机制

什么是注意力机制_第1张图片
图1

我们先举一个例子来帮助大家理解。如上图,在网络世界中,针对不同的场景有不同的视图(View)。当我们要在这个小网络中找出那些行为异常用户(异常用户是指,经常给出差评或经常给出好评,或突然关注很多人)的时候,我们就需要着重关注特定的视图。上图中的4个视图中,View2和View3是我们需要关注的。此时,结合两个视图,我们才能找出那些异常用户。那么问题来了,View2和View3哪一个应该优先作为判断异常用户的特征,哪一个只作为辅助。当这个优先级确定之后,根据这个优先级去得出哪些是异常用户,哪些是正常用户的过程就是注意力机制。

什么是注意力机制_第2张图片

图2

如图2,注意力机制可以这样表示。其中,Query是Attentionpooling中的函数,而Keys和Values是输入参数。但是Values在这张图中似乎并不参与运算,他只是所有可能输出的结果。Keys更像是自变量,经过Query函数的运算后,便能够在Values中选取一个结果作为输出。这张图距离真正的注意力机制更近了。

这里为了方便承接前面的例子,我们讲解核回归,如下图中的公式:

什么是注意力机制_第3张图片

图3

其中公式中的K()可以看作是一个任意函数(其实是核函数),key经过函数计算后会变成value的系数。key的计算结果决定了每个value值对于最终结果影响的大小。

该公式结合图2一起看。

但我们在深度学习中往往会使用可训练的注意力机制,此时将图2中的公式使用核函数化简后得到如下公式:

什么是注意力机制_第4张图片

图4

在该公式中引入一个可训练的参数w,这就是参数化的注意力机制了。

什么是注意力机制_第5张图片

图5

你可能感兴趣的:(深度学习,人工智能)