究竟什么是注意力?
为了能够理解这个问题,我们需要深入研究注意力试图解决的某些问题。我认为关于硬注意力的开创性论文之一是Recurrent Models of Visual Attention,我会鼓励读者阅读那篇论文,即使它一开始似乎并不完全理解。
为了回答究竟什么是注意力的问题,我将尝试提出一个我认为更容易回答的不同问题。即,为什么要关注?. 我所链接的论文试图简洁地回答这个问题,我将在这里重现部分推理。
想象一下,你被蒙上眼睛,被带到一个惊喜的生日派对上,而你刚刚睁开眼睛。你会看到什么?
现在,当我们说您看到图片时,这是以下在技术上更正确的操作序列的较短版本,即随着时间的推移移动您的眼睛并收集有关场景的信息。您不会一次看到图像的每个像素。您一次只关注图片的某些方面并汇总信息。例如,即使在如此混乱的图片中,您也会认出您的叔叔比尔和堂兄山姆:)。这是为什么?因为您关注当前图像的某些突出方面。
这正是我们想要赋予我们的神经网络模型的那种力量。为什么?将此视为某种正则化。(这部分答案参考了论文)您通常的卷积网络模型确实能够识别杂乱的图像,但是我们如何找到“好”的确切权重集?这是一项艰巨的任务。通过为网络提供一个新的架构级功能,允许它按顺序处理图像的不同部分并随着时间的推移聚合信息,我们使这项工作变得更容易,因为现在网络可以简单地学会忽略混乱(或者希望)。
我希望这能回答什么是硬注意力问题?. 现在谈其可微性的性质。好吧,还记得我们在看生日照片时如何方便地选择正确的观看地点吗?我们是怎么做到的?这个过程涉及做出难以用输入(图像)的可微函数表示的选择。例如,根据您已经看过的内容和图像,决定接下来要看的地方。你可以有一个神经网络在这里输出答案,但我们不知道正确的答案!事实上并没有正确的答案。那我们怎么训练网络参数?神经网络训练严重依赖于输入的可微损失函数。此类损失函数的示例包括对数似然损失函数、平方损失函数等。但在这种情况下,我们没有正确的答案来判断下一步该往哪里看。那么我们如何定义损失呢?这就是称为强化学习(RL) 的机器学习领域的用武之地。RL 允许您通过使用强化方法和演员批评算法等方法在策略空间中进行梯度。
什么是软注意力?
这部分答案借用了一篇名为“教学机器阅读和理解”的论文。RL 方法(例如强化方法)的一个主要问题是它们具有高方差(就计算的预期奖励的梯度而言),它与网络中隐藏单元的数量呈线性关系。这不是一件好事,特别是如果你要建立一个大型网络。因此,人们试图寻找可区分的注意力模型。这意味着注意力项和损失函数是输入的可微函数,因此所有梯度都存在。因此,我们可以使用我们的标准反向传播算法以及一种常用的损失函数来训练我们的网络。那么什么是软注意力?
在文本的上下文中,它指的是模型选择将文档中的某些单词与其他标记相关联的能力。如果您正在阅读文档并且必须根据它回答问题,那么专注于文档中的某些标记可能会帮助您更好地回答问题,而不是仅仅阅读每个标记,就好像它同样重要一样。这就是文本中软注意力背后的基本思想。它是可微分模型的原因是因为您完全根据特定的令牌和手头的查询来决定对每个令牌的关注程度。例如,您可以在相同的向量空间中表示文档的标记和查询,并查看点积/余弦相似度,以衡量在给定查询的情况下您应该对该特定标记付出多少关注。请注意,余弦距离运算相对于其输入是完全可微的,因此整个模型最终是可微的。请注意,论文使用的确切模型不同,这个论点只是为了演示,尽管其他模型确实使用基于点积的注意力分数。