百科问答小站 logo
百科问答小站 font logo



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

  

user avatar   lykquitphy 网友的相关建议: 
      

由于下班天天刷抖音,成了下沉脑残群众,故此打算做题锻炼脑子

我打算从一个非常 toy 的模型说明为何跑着跑着,会出现区域集中

先考虑一个玩具模型

考虑样本 ,权重 ,以及均值为零的噪声 ,我们的 toy model 如下:

要证明的是,w 每个分量大小,反比于 每个分量的方差。

用人话来说,就是越不确定的地方,权重会越小,越确定的地方,权重越大,符合基本的直觉。

证明不难,把平方展开稍微计算一下:

最后一项平均以后为零,只有第二项那个保留,相当于有个 l2 的约束,方差越大,w 的约束越大。岭回归求解可以知道 w 的最优解是反比于 的每个分量的

和注意力的关系:假设表征是几乎固定的,考虑 的每个分量都是某些表征的俩俩点乘 ,其中 是位置的 index。假设 I,J 位置彼此靠近,比如图像近邻两个像素点,或者语言下一个词等。通常两个邻近位置的表征具有很强的相关性,如果 本身的数值范围变动不大,比如做了很多比较强的标准化流程,基本都在一个椭球表面,可以预期 的值波动不大,相当于 当中的噪声项非常小,按照前面 toy model 大致可知,相关性越强的,共现不确定性越低,权重自然大。

这也说明为何很多自然语言预训练模型当中,attension 矩阵最强的首先是邻近的,然后才是远端的。

当然,这个角度假设很多,比如表征是我认为假设固定了,其实表征也在训练,就不清楚一堆东西在动,为何注意力权重还是做了区域集中。不过也有一些指导性,就是低频共现的 “token”,模型会有自动的方式调低对这些内容的“关注”,只会强调高频共现 pair


user avatar   huo-hua-de-41 网友的相关建议: 
      

@心照璧 提到的回溯性注意力机制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机制学到了和任务相关的特征词。


user avatar   huang-yi-jie-20-47 网友的相关建议: 
      

哎你要说这个我可不困了啊。以下关于计算机视觉中的回溯性(Top-down)注意力先做一个非正式的快速叙述,涉及知识点十分多,现在来不及一一展开:

从注意力实现原理上讲,计算机视觉中通常用到的回溯性注意力(CAM、GradCAM等Top-down注意力解释方法)先通过分类器给出分类结论,后回溯对分类做出强贡献的区域,CAM等方法通过对特征图加权求和的方式将关键区域高亮出来,权值来自CNN全局池化后面接的分类器的权重(CAM),或者反向传播的梯度幅值(GradCAM)等,总的来说不同方法质量各异,但都能揭示模型下结论时关注的是哪些区域。

从注意力学习过程讲,个人解释这主要是一个多示例学习(MIL)求解弱监督学习的迭代过程。MIL为弱监督学习提出一种样本分包学习的流程,即多个样本组成一个包,其中正包包含至少一个正样本,负包不包含正样本,在弱监督学习中可以认为一张图就是一个包,包含目标的patch是真正的正样本。而求解MIL需要引入伪标签赋予的过程,即设计一个策略为正包中的部分强响应样本赋予伪的正标签(常见策略包括Top1、TopN、全部给正标签等),然后通过鸡生蛋蛋生鸡的方式迭代优化。各种伪标签策略在CNN训练中正好体现为Global Max Pooling (GMP)、Log-Sum-Exp (LSE)、Global Average Pooling (GAP)等常见末端池化模块。由于CAM可以在GAP之前计算(对了解细节的读者,可以尝试非常简单地证明:可以把FC层权重提到全局池化前面来,先计算CAM再计算全局平均池化,这和事后回溯计算CAM数学上等效),CNN分类器的训练相当于一种将CAM注意力当作patch score做MIL的过程,全局池化为CAM的学习提供了patch级的伪标签。

从注意力形成过程也能看得出来,伪标签从原理上就不是什么绝对靠谱的机制,完全有可能一开始给错了后面就一直错下去的。在实践中,回溯性注意力也确实存在可感知的问题,可以从正确性和质量两方面分别体现。

所谓注意力的正确性问题,含义是注意力强调的位置完全不符合人预期的现象。相关代表性论文是Guided Attention Inference Network(GAIN),GAIN文介绍了一个很易懂的例子:船-水问题。当模型学习“船”类别时,由于船、水两个语义在一些数据集中有高度统计相关性,有时模型会完全混淆船-水两个概念,体现为“船”类别的CAM完全落在背景中的水上。需要注意的是,船-水问题仅是该问题的一个极端例子,实际应用中由于任务的复杂性,模型的概念混淆与概念正确往往是掺杂的,难以作同等直观的理解以便通过修改数据分布(增加没有水的船、没有船的水等)来解决问题。因此GAIN文提出的解决方案是将CAM作为一个可学习的输出添加额外监督信息(像素级mask)作手术刀式修正,来确保分类器的分类与其判断依据正确性的一致性,这样自然会增加标注成本。

所谓注意力的质量问题,含义是在位置正确时形状、数量描述不佳的现象,比如CAM在处理大目标、多目标定位时输出往往不完整,只能高亮出部分目标的部分区域。该问题主要和用“分类”这个学习方式来学习定位任务导致的任务目标不一致有关。直观地讲就像光路永远最短一样,优化的贪心性也会驱使模型在解决分类任务之后就不再充分探索剩余信息,这导致分类模型看到目标最有区分力的区域就直接下分类结论了。不引入额外监督信息解决这个问题的代表性相关论文是Adversarial Erasing系列,用多模型级联学习来强化注意力完整性,其中每个模型将图上CAM高亮区域挖掉再喂给下一级模型,强迫他们挖掘剩余有区分力的信息,这样就能把目标区域更完整地挖掘出来。

针对注意力的正确性问题,拙作“Rectifying Supporting Regions With Mixed and Active Supervision for Rib Fracture Recognition”也为literature做了一些微小贡献:(1)利用简单易行的对抗样本方法将GAIN文所需的像素级额外监督标签松弛为包围盒级标签,在目标边界模糊或边界不存在、难以用像素级标签描述时(或单纯标注预算较低时)能发挥更好的作用;(2)结合注意力驱动的主动学习方法进一步缩减所需的包围盒标签数量。最终效果是利用20%精标注+80%粗标注,就能接近使用了100%精标注的强监督学习的定位精度。




  

相关话题

  wasserstein 距离的问题? 
  深度学习工作站中使用AMD的CPU会有问题吗? 
  如何看待在某度搜不到megengine官网? 
  计算机视觉和自然语言处理,哪个更具有发展前景呢,还是各有千秋呢? 
  深度学习cnn中,怎么理解图像进行池化(pooling)后的平移不变性? 
  迁移学习与fine-tuning有什么区别? 
  attention跟一维卷积的区别是啥? 
  为什么 Bert 的三个 Embedding 可以进行相加? 
  如何看待鄂维南院士等发起的机器学习联合研讨计划(c2sml.cn)? 
  为什么我用相同的模型,数据,超参,随机种子,在两台服务器会得到不同的结果? 

前一个讨论
华中科技大学武汉光电国家研究中心副主任周军教授因积劳成疾猝然离世,你对他有哪些记忆?
下一个讨论
PHP没落的原因是移动领域的兴起吗?





© 2024-06-28 - tinynew.org. All Rights Reserved.
© 2024-06-28 - tinynew.org. 保留所有权利