在这篇博文中,The Unreasonable Effectiveness of Recurrent Neural Networks,Andrej Karpathy提到了基于神经网络的机器学习的未来发展方向:
关注的概念是神经网络中最有趣的近期建筑创新。 [...]用于内存寻址的软注意方案很方便,因为它使模型完全可以区分,但不幸的是,牺牲了效率,因为可以注意到的所有事情(但是轻柔地)。可以认为这是在C中声明一个指针,它不指向特定的地址,而是在整个内存中的所有地址上定义一个完整的分布,并且取消引用指针返回指向内容的加权和(这将是一个昂贵的操作!)。这促使多个作者交换软注意力模型以获得硬注意力,其中一个人对特定的一块存储器进行采样(例如,对于某些存储器单元的读/写动作而不是在某种程度上从所有单元读取/写入)。这个模型在哲学上更具吸引力,可扩展性和效率,但不幸的是它也是不可区分的。
我认为我理解了指针的隐喻,但究竟是什么才引起注意,为什么难以辨别?
我找到了关于注意力here的解释,但仍然对软/硬部分感到困惑。
答案 0 :(得分:38)
究竟是什么关注?
为了能够理解这个问题,我们需要深入研究注意力寻求解决的某些问题。我认为关于强烈关注的开创性论文之一是Recurrent Models of Visual Attention,我鼓励读者阅读那篇论文,即使它起初看起来并不完全可理解。 / p>
为了回答究竟是什么引起注意的问题,我会尝试提出一个我认为更容易回答的不同问题。哪个是为什么要关注?。我链接的论文试图简洁地回答这个问题,我将在这里重现一部分推理。
想象一下,你被蒙上眼睛,被带到一个惊喜的生日派对上,你只是睁开眼睛。你会看到什么?
现在,当我们说你看到图片时,这是以下技术上更正确的操作序列的更短版本,也就是说,随着时间的推移移动你的眼睛并收集信息关于现场。您不会立即看到图像的每个像素。您一次一步地参加图片的某些方面并汇总信息。例如,即使在如此混乱的画面中,你也会认出你的叔叔比尔和堂兄萨姆:)。这是为什么?因为您关注当前图像的某些突出方面。
这正是我们想要给予神经网络模型的那种力量。为什么?将此视为某种正规化。 (答案的这一部分引用了论文)你通常的卷积网络模型确实能够识别出混乱的图像,但我们如何找到确切的权重集合#34; good&#34 ;?这是一项艰巨的任务。通过为网络提供新的体系结构级功能,允许它按顺序参与到图像的不同部分并随时间聚合信息,我们使这项工作更容易,因为现在网络可以简单地学会忽略杂乱(或许是希望)。
我希望这能回答问题什么是重点?。现在了解其差异性的本质。好吧,还记得在看生日照片时我们如何方便地选择正确的景点吗?我们是怎么做到的?此过程涉及进行选择,这些选择难以用输入(图像)的可区分函数表示。例如,根据您已经查看的内容和图片,确定下一步的位置。你可以有一个神经网络输出答案,但我们不知道正确的答案!事实上没有正确的答案。那么我们如何训练网络参数?神经网络训练关键取决于输入的可微分损失函数。这种损失函数的例子包括对数似然丢失函数,平方损失函数等。但在这种情况下,我们没有正确的答案,在哪里看下一步。那么我们如何定义损失呢?这就是称为强化学习(RL)的机器学习领域.RL允许您通过使用强化方法和演员评论算法等方法在策略空间中进行渐变。
什么是柔软的注意力?
答案的这一部分借鉴了一篇名为teaching machines to read and comprehend的论文。 RL方法的一个主要问题,例如强化方法,它们具有很高的方差(就所计算的预期回报的梯度而言),它与网络中隐藏单元的数量呈线性关系。这不是一件好事,特别是如果你要建立一个大型网络。因此,人们试图寻找可区分的关注模型。所有这些意味着注意项和因此损失函数是输入的可微函数,因此存在所有梯度。因此,我们可以使用我们的标准backprop算法以及用于训练网络的常用损失函数之一。什么是柔软的注意力?
在文本的上下文中,它指的是模型选择将更重要性与文档中的某些单词相对于其他标记关联的能力。如果您正在阅读文档并且必须回答基于它的问题,那么专注于文档中的某些标记可能会帮助您更好地回答问题,而不是仅仅阅读每个标记就好像它同样重要。这是文本中软关注背后的基本思想。它之所以是可区分模型,是因为您根据特定令牌和手中的查询决定对每个令牌付出多少注意力。例如,您可以在同一向量空间中表示文档的标记和查询,并查看点积/余弦相似度,作为在给定查询的情况下您应该对该特定标记支付多少注意力的度量。注意,余弦距离操作相对于其输入是完全可区分的,因此整个模型最终是可微分的。 请注意,论文使用的确切模型有所不同,这个论点只是为了演示,尽管其他模型确实使用基于点积的注意力得分。