注意力机制是如何学习到模型所应注意的区域的?

简单来说,注意力机制在没有标注的数据集中,仅凭着模型本身去学习所应注意的区域,这种方法的准确性靠谱吗?
关注者
457
被浏览
89,217
登录后你可以
不限量看优质回答私信答主深度交流精彩内容一键收藏

@心照璧 提到的回溯性注意力机制CAM主要是用在cv里。而最早提出注意力机制的是nlp领域。

最初nlp里attention就是设置一个向量,和文本token的向量算内积,再过一个softmax归一化,得到每个token的权重,然后再根据权重把序列向量聚合成一个向量,用于下游任务。

@心照璧 提到的MIL解释我非常喜欢。最简单的文本分类模型,就是用avg pooling,相当于认为文本里每个词都是正例。attention的提出就是为了选出这个序列里真正起作用的token做正例。下面是Hierarchical Attention Networks for Document Classification的例子,说明模型做出判断时关注到了那些词。

注意力机制是如何学到模型所应注意的词呢?一个几何上的直觉解释是,在高维空间里,学习过程中模型不断拉进对任务有用的token向量和attention向量的距离。最终学习到的就是当前任务下,以attention向量为中心的一个巨大高维球形空间,token向量距离中心越近的就是越与任务相关的token。换句话说,attention机制学到了和任务相关的特征词。