本人原创,转载标明来源。

1 论文主要内容

循环神经网络(RNNs),特别是一种具有长短期记忆(LSTM)的变体,由于在涉及序列数据的广泛机器学习问题中的成功应用而重新引起人们的兴趣。 LSTM在实践中表现出了非常好的结果,但我们对其性能的来源和限制仍知之甚少。为了增强对LSTM的理解,论文作者使用字符级别的语言模型作为可解释试验台,分析了LSTM的表示、预测和错误类型。通过分析,本文揭示了可解释单元的存在,这些单元可跟踪长期依赖关系,例如行长,引号和括号。此外,通过与n- gram模型的全面比较,本文进一步量化了LSTM预测,发现在需要长距离推理的字符上LSTM表现明显更好。最后,本文对剩余错误进行了分析,并提出了需要进一步研究的方向。

2 价值坐标

过去的一些分析都是靠最终测试集上的全局困惑度来评价 LSTM 的效果,并没有在真实数据上进行分析,也不够直观。本文提出的LSTM分析方法克服了这些问题,加深了对LSTM性能提高原因和局限性的理解。

虽然在修改或扩展基本LSTM 架构上做了大量工作,以前的研究却很少关注对LSTM表示和预测的理解。本文的工作提供了对LSTM的预测及其对真实数据的学习表示的第一次经验探索。通过对LSTM的可视化和深入理解,科研人员可以开展更深入的研究,不断优化LSTM模型。

3 知识地图

(1)当时对LSTM的理解状况如何?有何限制?

(2)RNNLSTMGRU三种模型进行实验对比,哪种模型效果更好?

(3)LSTM在实践中性能得到非常好的提升,提升的原因是?

(4)本文LSTM内部机制有哪些?

(5)LSTMn-NN模型、n-gram模型相比,远程交互的能力有什么区别?

(6)LSTM进行错误分析,LSTM的错误类型有哪些?

(7)如何减少LSTM的错误,改善对某种类型的错误表现?

 

4 结构

  1. CNN目前得到了广泛的应用,其应用领域有哪些?

CNN多应用在涉及序列数据的问题中,比如语言建模、手写识别、文本生成、机器翻译、语音识别、视频分析、图像描述等。

2.在之前的研究中,数据上有什么局限性?于此本文实验有哪些改进?

过去的一些分析都是靠最终测试集上的全局困惑度来评价 LSTM 的效果,并没有在真实数据上进行分析,也不够直观。因此,本文实验采用的数据集都是真实数据,即《战争与和平》文本和《linux内核》代码,分别为 3,258,246 字和6,206,996 字。

3.简单介绍下RNN、LSTM和GRU这三种模型?

RNN:标准 RNN 中的重复模块包含单一的层,即tanh层。RNN递归形式为

《VISUALIZING AND UNDERSTANDING RECURRENT NETWORKS 》论文阅读笔记

其中,每层上的参数矩阵《VISUALIZING AND UNDERSTANDING RECURRENT NETWORKS 》论文阅读笔记为每层的参数矩阵,维数为[n×2n]。

LSTM: 一方面LSTMs被设计用来缓解消失梯度问题。除了隐藏的状态向量《VISUALIZING AND UNDERSTANDING RECURRENT NETWORKS 》论文阅读笔记外,LSTMs还维护一个内存向量《VISUALIZING AND UNDERSTANDING RECURRENT NETWORKS 》论文阅读笔记。在每个时间步骤中,LSTM可以使用显式选通机制选择读取、写入或重置单元。更新的确切形式如下:

《VISUALIZING AND UNDERSTANDING RECURRENT NETWORKS 》论文阅读笔记

《VISUALIZING AND UNDERSTANDING RECURRENT NETWORKS 》论文阅读笔记是一个[4n×2n]矩阵。三个向量I,f,o被认为是二进制门,分别控制每个存储单元是否更新,是否重置为零,以及是否在隐藏向量中显示其局部状态。向量g排列在-1和1之间,用于额外修改存储内容。

GRU:在2015年被提议作为LSTM的一个更简单的替代方案,其形式为:

《VISUALIZING AND UNDERSTANDING RECURRENT NETWORKS 》论文阅读笔记

其中,《VISUALIZING AND UNDERSTANDING RECURRENT NETWORKS 》论文阅读笔记的维数是[2n×2n],而《VISUALIZING AND UNDERSTANDING RECURRENT NETWORKS 》论文阅读笔记《VISUALIZING AND UNDERSTANDING RECURRENT NETWORKS 》论文阅读笔记的维数是[n×n]. GRU是先计算一个候选隐藏向量《VISUALIZING AND UNDERSTANDING RECURRENT NETWORKS 》论文阅读笔记,然后与向量z内插得出结果。

 

4.首先从几种循环网络模型来展开分析,将CNN、LSTM和GRU进行对比实验,实验模型怎样安排?实验过程是?

将CNN、LSTM和GRU的层数分别设置为1、2和3,隐藏层大小分别设置为64、128、256和512,一共36个实验模型。用上述模型在两个数据集上训练语言模型,最后在测试集上计算交叉熵损失,对比三类共 36 个模型之间的结果。

 

5.上面CNN、LSTM和GRU对比实验的结论是什么?

《VISUALIZING AND UNDERSTANDING RECURRENT NETWORKS 》论文阅读笔记

上图是上一问中实验的测试集结果。从图中可以看出,模型层数至少为2才有比较好的性能。就隐藏层大小来说,在可行的范围内,各个模型的隐藏层大小越大,交叉熵损失越小,模型能行越好。也就是说,多个隐藏层模型比单个隐藏层模型的效果要好。另外,图中每一行的最优性能模型既有LSTM,也有GRU,但是很少是RNN。对比结果表明,LSTM 和 GRU 之间性能难分伯仲,但都显著好于 RNN。

 

6.根据作者分析,LSTM的哪些设计细节是保存长距离信息的关键之处?

记忆元件(memory cells)、门机制(gate mechanism)和常量错误木马(Constant Error Carousel-CEC)。LSTM共有三种门:输入门(input gate)、输出门(output gate)和遗忘门(forget gate)。门主要起到开关的作用,它可以选择性的让信息通过。门机制的存在,就使得LSTM能够显式地为序列中长距离的依赖建模。LSTM把原本RNN的单元改造成一个叫做CEC的部件,这个部件保证了误差将以常数的形式在网络中流动,不会出现梯度爆炸或者梯度消失的问题。LSTM的基本单元称为记忆元件,它是在CEC的基础上扩展而成的,LSTMs原则上可以使用记忆元件来记住远程信息,并跟踪当前正在处理的文本的各种属性。

7.怎样理解LSTM和GRU模型中的门控机制?(这是补充的论文外内容)

门可以实现选择性地让信息通过,主要是通过一个 sigmoid 的神经层 和一个逐点相乘的操作来实现的。LSTM中共有三种门:遗忘门(forget gate)、输入门(input gate)和输出门(output gate)。遗忘门是将细胞状态中的信息选择性的遗忘;输入门是将新的信息选择性的记录到细胞状态中;输出门会把前面的信息保存到隐层中去。GRU 有两个有两个门,即一个重置门(reset gate)和一个更新门(update gate)。从直观上来说,重置门决定了如何将新的输入信息与前面的记忆相结合,更新门定义了前面记忆保存到当前时间步的量。

 

8.LSTM中三个GRU中两个“门“的渗透统计图说明了什么?

 

 

在上图中,如果门的**度分别小于0.1或大于0.9,则为左饱和或右饱和《VISUALIZING AND UNDERSTANDING RECURRENT NETWORKS 》论文阅读笔记
。当遗忘门值超过0.9的比例很大时的细胞(cells),说明它能一直记住比较早之前的信息当输入们值超过0.9的比例很大时的神经元,说明它对当前输入比较敏感。当输出门的值超过0.9的比例很大时的神经元,控制输出大小。对LSTM来说,第一层其比例较密集地分布在 0 附近,说明大部分都是在 0.1 到 0.9 之间,这是不饱和的情形。第二层和第三层一些细胞遗忘门值超过0.9的比例超级大,一直记着很早以前的信息。对GRU来说, 更新门对应于LSTM 中的输入门与遗忘门,重置门直接作用于前面的隐藏状态。第一层的更新门值普遍比较大而重置门值普遍比较小。说明GRU 的第一层几乎不怎么使用旧的信息,即使到高层后也更倾向于使用当前输入。结合两者来说,在多层的 LSTM/GRU 中,高层的细胞都开始分化,会有一部分倾向于接收新信息,有一部分则倾向于记住旧的信息。

 

 

 

9.对比LSTMn-gram在追踪远距离信息上的能力区别?举例分析

LSTM 追踪远距离信息和建模长程依赖的能力大大超过 n-gram 模型。

《VISUALIZING AND UNDERSTANDING RECURRENT NETWORKS 》论文阅读笔记
1.上图分别在《VISUALIZING AND UNDERSTANDING RECURRENT NETWORKS 》论文阅读笔记
《linux内核》数据集和《战争与和平》数据集上计算的分配给正确字符的平均概率统计图,在这里挑选了10个字符的情况展示。在左图中,也就是在《Linux内核》数据集上,LSTM比20-gram模型在用于构造C程序的特殊字符(包括空格和括号)上显示了更大的优势。在《战争与和平》数据集上,有一个有趣的长期依赖性现象,大约每70个字符会出现一次回车字符。从右图中可以看出LSTM非常擅长处理这种现象。

2.上图表示在对《Linux内核》文本数据集上推理右大括号( “}”)的平均概率。根据上图数据,可看出,在“{“与·”}“之间距离小于20时,LSTM与20-gram模型性能差异不大。之后20-gram模型性能几乎保持不变,而LSTM性能大幅度提升,序列长度为60时到达顶峰,但之后其性能增量会随着时间的推移而缓慢衰减,难以追踪依赖。

 

10.n-NN模型对比,在LSTM训练迭代的过程中,对信息距离的敏感性是怎样变化的?

《VISUALIZING AND UNDERSTANDING RECURRENT NETWORKS 》论文阅读笔记

如图所示,本文将3LSTMn-NN模型的相似度进行对比,左图是迭代过程中的平均KL散度线,右图是迭代过程中的测试集损失线。在前期的训练迭代中,LSTM的表现与1-NN模型相似,后偏离,再依次与2-NN、3-NN和4-NN模型相似。由实验可得,LSTM的性能随着长期依赖的增长而增强。总的来说,LSTM 在迭代训练的过程中,首先建模了短程依赖,然后在此基础上逐渐地学习到对长程依赖的建模能力。

 

 

 

11.LSTM在测试数据集《战争与和平》文本上的错误分类是?

1.n-gram 错误:1-9 阶 n-gram 模型能预测正确但 LSTM 预测失败的部分。

2.动态n-long记忆错误:在文本预测时,第一次出现的字符在后面第二次出现的可能性非常大。但是LSTM似乎没有学习这个算法。

3罕见词错误: 既由词频不大于 5 的词导致的错误。这部分错误通过扩充数据集和 pretraining 是可以得到缓解的。

4词建模错误: 在遇到空格、换行、引号等词分隔符后,预测错了下一个词的第一个字符,和前面个动态长期记忆错误不一样的是,这个相当于在前面的词的基础上要选择一个词,而前面那个相当于是已经知道是什么词了,但是要补全它,这两者的信息量是完全不一样的

5.标点符号预测错。

6.最后剩余的错误称为 boost error。

 

12.对LSTM减少错误有什么建议吗?

1. 可以通过增大训练数据集或者采用无监督预训练能提高 LSTM对罕见词的效果,减少罕见词错误。

2. 如果增大模型大小,将会显著减小了n-gram 错误,但对其他类型的错误却没有明显的改善,这说明仅仅增大模型大小是不够的,可能需要设计更好、更新的结构。

 

13.本论文得出的结论是?

答:本文使用字符级语言模型作为可解释的测试平台来分析循环神经网络中的预测、训练动态表示和错误类型。特别是,本文的质化可视化实验、细胞**统计以及与n-gram模型的比较表明,这些网络学习到了真实世界数据的强大的、可解释的远程交互。本文的错误分析将交叉熵损失分解为几个可解释的类别,并说明了目前的一些限制,提出进一步的研究领域。另外,本文发现扩大模型几乎消除了n-gram类别中的错误,这表明可能需要进一步的架构创新来解决剩余的错误。

相关文章: