本周分享的文章是自动摘要相关的,今天将会带来对两篇paper的思考。其中一篇是A Neural Attention Model for Abstractive Sentence Summarization,另一篇是Abstractive Sentence Summarization with Attentive Recurrent Neural Networks,两篇文章都出自于Harvard NLP组,两篇是姊妹篇,第二篇是第一篇的升级版,所以要结合着读,对比着分析。

世上没有什么所谓的银弹,每种方法存在都有其存在的意义。第一篇paper尝试将seq2seq+attention应用在summarization任务上,但并未取得比较令人满意的结果,反而增加了一些人工特征之后,才得到了很大的提升,虽然第二篇模型依旧是一个data-driven的模型,但我想如果给其添加上人工特征也会得到更好的效果。综合多种方法的优点来解决一个问题才是王道,而不是一味地、粗暴地套用某个范式,某个框架。

两篇文章从同一个角度入手,采用了不同难度的模型,非常好地解决了这个问题。联想到上周看的paper,他所采用的是多层lstm作为encoder和decoder,但数据集使用的并不相同,所以并不知道与本周的两篇paper哪个效果更好。但这也给出了一种发paper的思路,多去尝试一些encoder和decoder模型,不断地组合和对比,一定会有不错的发现。但这样的解决方案对于提升层次上没有太多溢出,因为大家都是照着模板去做,并没有真正地更深地理解到这个问题的本质。

一个系统的构建需要处理好方方面面的细节,比如数据的预处理,比如评测的实现,比如模型的参数调优,每个方面想要做好做精都是一门学问。

 
Continue reading

Attention机制是最近深度学习的一个趋势。在一次采访中,OpenAI的研究总监Ilya Sutskever说attention机制是最令人兴奋的进步之一,而且已经广为使用。听起来激动人心吧。但attention机制究竟是什么呢?

神经网络里的attention机制是(非常)松散地基于人类的视觉注意机制。人类的视觉注意机制已经被充分地研究过了,而且提出了多个不同的模型,所有的模型归根结底都是按照“高分辨率”聚焦在图片的某个特定区域并以“低分辨率”感知图像的周边区域的模式,然后不断地调整聚焦点。

Attention在神经网络领域有着很长的历史,尤其是在图像识别领域。相关的论文有Learning to combine foveal glimpses with a third-order Boltzmann machineLearning where to Attend with Deep Architectures for Image Tracking。但直到最近,attention机制才被引入NLP界常用的(视觉领域也逐步使用的)递归神经网络结构中。这正是我们这篇文章的主要关注点。

attention解决了什么问题?

我们以神经机器翻译(Neural Machine Translation,NMT)为例,来理解attention能为我们做什么。传统的机器翻译系统通常依赖于基于文本统计特性的复杂特征工程。简而言之,这些系统非常复杂,需要投入大量工程来搭建它们。神经机器翻译系统则有所区别。在NMT系统里,我们把一句话的意思映射为一个固定长度的表征向量,然后基于此向量生成翻译文本。由于不依赖于类似n-gram计数,而是捕捉文本更高层次的含义,NMT系统生成的翻译语句比大多数其它方法都要好。更重要的是,NMT系统的搭建和训练过程更方便,它们不需要任何手工的特征工程。事实上,TensorFlow只需要几百行代码就能实现一个简单版本

Continue reading