为什么 LSTM 不能跟踪序列的“重要部分”?

人工智能 神经网络 长短期记忆 注意力
2021-11-02 22:19:31

我一直在阅读有关 LSTM 如何无法记住序列的“重要部分”的文章,这就是为什么需要基于注意力的机制的原因。我试图使用 LSTM 来查找人们的姓名格式。

例如,“Millie Bobby Brown”可以被视为 first_name middle_name last_name 格式,我将其表示为 0,但“Brown, Millie Bobby”是 last_name, first_name middle_name,我将其表示为 1。

LSTM 似乎对一种格式分类过度拟合。我怀疑这是因为它没有特别注意逗号,这是它可能是什么格式的一个关键特征。我试图理解为什么 LSTM 不适用于这种情况。这对我来说很有意义,因为 LSTM 更擅长识别序列到序列的生成,而总结和情感分析等事情通常需要注意。我怀疑 LSTM 无法推断格式的另一个原因是逗号可以放置在序列的不同索引中,因此序列越长,它在隐藏状态中的重要性可能会降低(不确定这是否会使感觉)。其他人有任何理论吗?我试图让我的研究人员相信纯 LSTM 不足以解决这个问题。

2个回答

问题不在于诸如 LSTM 之类的 RNN 风格无法跟踪输入的“重要”部分。他们在不同的地方识别逗号也没有太多麻烦。

为了证明这一点,我推荐阅读Andrej Karpathy 关于单个 RNN“神经元”行为的优秀文章

在您的问题中专门解决此评论:

我怀疑 LSTM 无法推断格式的另一个原因是逗号可以放置在序列的不同索引中,因此序列越长,它在隐藏状态中的重要性可能会降低(不确定这是否会使感觉)。

如果逗号与解决手头的任务相关,LSTM 可以学会记住它的位置或相关信息。这些信息不一定会被长序列的重复应用所稀释:网络可以学习将关键信息从一个循环状态传播和促进到下一个循环状态。


输入序列具有任意长度,这意味着 LSTM 需要压缩关于所见序列元素的信息

相反,输入序列具有任意长度,而 LSTM 状态向量具有固定大小。状态向量是 LSTM “跟踪重要部分”的唯一方法。这意味着那些固定大小的向量是一个瓶颈,并且关于 LSTM 可以保存的“重要部分”的信息量存在信息论上限。

LSTM 可能会做出多个决定。对于每个决策,输入序列中的其他内容是最重要的

对于您在问题中提到的摘要等任务,LSTM 会进行一系列预测(一次预测摘要的标记)。对于每个预测,输入序列中的不同事物可能很重要。换句话说,对于每个决策,输入的另一种视图可能最有帮助。

这是使用注意力网络的关键动机。每次 LSTM 进行预测时,注意力网络都可以提供输入序列的动态、最有用的视图。

您可以进行自定义 POS 标记并将其用作多特征序列 2 序列。