注意力汇聚:Nadaraya-Watson 核回归

说白了就是把train数据,拆分成49个key和一个query,主对角线也是为了保证每个样本都做一次key,然后训练这种注意力机制下参数的学习。

最优不代表曲线一定符合预期,只是说模型收敛的做好而已

去掉对角,实际就是每组训练数据都缺一个,然后来训练,让其还原出来,等价于,通过其它所有数据来预测缺失的一个,当然,训练时肯定要将每个值都训练一次,这样训练效果比较好,所以是对角。

可以把当前的x用上,但是不平滑。主要由于这里只用了一个w,且只有少数的几个x(看一下高斯核的形状)
要用x附近更多的样本,也就是把$nn.functional.softmax(-(X_repeat - x_train)**2 / 2$,这里除以128,把这个高斯核变的更宽一点。这样就平滑了
image

用Nadaraya-Watson回归去类比attention机制,并不合适。Nadaraya-Watson回归类似KNN(K-nearest neighbors), 是通过多个邻近的sample去预测一个新的sample。

而attention,是通过捕捉一个sample(e.g. text)里多个feature(e.g. word)之间关系,预测该sample的对应的值(e.g. 该text的英文翻译结果)。这发生在同一个sample里。

有没有可以举例:多元线性回归中,通过多个features(x1, x2, x3, x4, x5, x6, 此处x是不同的feature,不是sample)预测y。怎样把attention机制用于其中呢?

前面有个-1/2的,所以越接近其绝对值越小(值越大),所以softmax后越大。

为什么这里只有一个权重w,而不是一个键对应一个w?