Auto Byte

专注未来出行及智能汽车科技

微信扫一扫获取更多资讯

Science AI

关注人工智能与其他前沿技术、基础学科的交叉研究与融合发展

微信扫一扫获取更多资讯

层次注意力网络

层次注意力网络(HAN)是一种用于文档分类的神经网络,该模型有两个鲜明的特征:(i)它具有层次结构(单词构成句子,句子形成文档),反映了文档的层次结构,我们通过首先构建句子的表示然后将它们聚合成文档表示来构造文档表示; (ii)它在单词和句子级别应用了两个级别的注意机制,使其能够在构建文档表示时区别地参与越来越重要的内容。

简介

层次注意力网络(HAN)是一种用于文档分类的神经网络,该模型有两个鲜明的特征:(i)它具有层次结构(单词构成句子,句子形成文档),反映了文档的层次结构,我们通过首先构建句子的表示然后将它们聚合成文档表示来构造文档表示; (ii)它在单词和句子级别应用了两个级别的注意机制,使其能够在构建文档表示时区别地参与越来越重要的内容。下图对这一点给出了一个例子:

Image.jpg

这是一个简短的Yelp评论,其任务是按1-5的等级对评论预测评级。直观地说,第一句和第三句在帮助预测评级方面有更强的信息;在这些句子中,单词delicious,a-m-a-z-i-n-g在暗示本评论中包含的积极态度方面做出了更多贡献。

分层注意网络的总体结构如下图所示。它由几个部分组成:一个字序列编码器,一个字级关注层,一个句子编码器和一个句子层注意层。

Image.jpg

假设文档具有L个句子s_i并且每个句子包含T_i个单词。 w_i与t∈[1,T]代表第i个句子中的单词。 HAN会将原始文档投影到矢量表示中,然后在其上构建分类器以执行文档分类。

字编码器(word encoder):给定一个带有单词w_{it},t∈[0,T]的句子,我们首先通过嵌入矩阵W_e,x_{ij} = W_e w_{ij}将这些单词嵌入到向量中。 我们使用双向GRU(RNN的一个变种,使用门机制来记录序列当前的状态),通过总结来自两个方向的信息来获得单词的注释,并因此将上下文信息结合到注释中。 双向GRU包含前向GRU \vec{f}——它从w_{i1}到w_{iT}读取句子s_i——和从w_{iT}到w_{i1}读取的后向GRU \gets{f}:

Image.jpg

x_{it} = W_e w_{it}, t \in [1, T],
\overrightarrow{h}_{it} = \overrightarrow{GRU}(x_{it}}, t \in [1, T],
\overleftarrow{h}_{it} = \overleftarrow{GRU}(x_{it}}, t \in [1, T].

我们通过连接前向隐藏状态\vec{h_{it}}和后向隐藏状态\gets{h_{it}}来获得给定单词w_i的注释,即h_{it}=[\vec{h_{it}}, \gets{h_{it}}]。

单词注意机制(word attention):并非所有单词对句子含义的表示都有同等作用。 因此,我们引入注意机制来提取对句子含义重要的词,并汇总那些信息词的表示以形成句子向量。 特别地:

Image.jpg

u_{it} = tanh(W_wH_{it} + b_w)
\alpha_{it} = \frac{exp(u_{it}^T u_w}{\sum_t exp(u_{it}^T u_w)}
s_i = \sum_t \alpha_[it} h_{it}

也就是说,我们首先通过对单层MLP输入单词注释h_{it}以获取h_{it}的隐藏表示u_{it},然后我们测量u_{it}与单词级别上下文向量u_w的相似性,作为该单词的重要性表示,并通过softmax函数进行归一化,得到重要性权重\alpha_{it}。 之后,我们将句子向量s_i表示为基于权重的单词注释的加权和。 上下文向量u_w可以被视为固定查询“传递信息的词是什么”的高级表示,前者在memory network中有广泛使用。u_w 在训练过程中随机初始化并共同学习。

句子编码器(sentence encoder):给定句子矢量s_i,我们可以以类似的方式获得文档向量。 我们使用双向GRU来编码句子:

Image.jpg

\overrightarrow{h}_{i} = \overrightarrow{GRU}(s_i}, i \in [1, L],
\overleftarrow{h}_{i} = \overleftarrow{GRU}(s_i}, i \in [L, 1].

我们连接\vec{h_{i}}和\gets{h_{i}}得到句子i的注释,即h_{i}=[\vec{h_{i}}, \gets{h_{i}}]。 h_i总结句子i周围的句子但仍然集中注意力在句子上。

句子注意机制(sentence attention):为了奖励能够作为正确分类文档的线索的句子,我们再次使用注意机制并引入句子级别的上下文向量,并使用向量来衡量句子的重要性。 即:

Image.jpg

u_{i} = tanh(W_sH_{i} + b_s)
\alpha_{i} = \frac{exp(u_{i}^T u_s}{\sum_i exp(u_{i}^T u_s)}
v = \sum_i \alpha_i h_i

其中v是文档向量,它总结了文档中句子的所有信息。 类似地,句子级上下文向量可以在训练过程中随机初始化并共同学习。

[图片及描述来源:Yang, Z. et al. (2016). Hierarchical Attention Networks for Document Classification. NAACL. ]

2. 发展历史

描述

2014年Dzmitry Bahdanau和Yoshua Bengio等学者提出了神经机器翻译,当时神经机器翻译的目标是建立一个单一的神经网络,可以共同调整以最大化翻译性能。他们推测,使用固定长度矢量,是提高这种基本编码器 - 解码器架构性能的瓶颈,并且给出了相关解决建议。他们还在机器翻译中引入了将原始序列元素和输出序列元素相关联的注意力机制,进一步使得神经机器翻译性能得到大幅提高。从此时开始注意力机制逐渐被引入了神经机器翻译。

2015年,受当时机器翻译和物体检测工作的启发,Kelvin Xu等人引入了一种基于注意力的模型,该模型可自动学习描述图像的内容。他们描述了如何使用标准反向传播技术以确定的方式训练该模型,并通过最大化变分下限来随机地训练该模型。 他们还通过可视化显示模型如何能够在输出序列中生成相应的单词时,同时自动学习如何将注意力固定在显着对象上。

Zichao Yang和Eduard Hovy等人提出的这个HAN模型中的注意力机制也参考了以上两项工作。他们在六个大规模文本分类任务上进行的实验表明,所提出的架构在很大程度上优于以前的方法。

同年,Yilin Wang等人也提出了HAN,将静态空间信息,短期运动信息和长期视频时间结构结合起来,用于复杂的人类行为理解。他们将所提出的模型在标准视频动作基准上进行训练和评估,即UCF-101和HMDB-51,结果显示它明显优于当时的技术。

2017年,Nikolaos Pappas, Andrei Popescu-Belis将HAN扩展,提出了多语言分层注意网络,用于学习文档结构,使用跨语言的共享编码器和/或共享注意机制,使用多任务学习和对齐的语义空间作为输入。他们使用不相交的标签集,在大型数据集上评估所提出的多语言文档分类模型,以及8种语言的600k新闻文档和5k标签。

主要事件

年份事件相关论文/Reference
2014不同团队的研究者都开发出了神经机器翻译 (NMT);注意力机制也开始被引入神经机器翻译Bahdanau, D., Cho, K., and Bengio, Y. (2014). Neural machine translation by jointly learning to align and translate. abs/1409.0473.
2015Kelvin Xu等人引入了一种基于注意力的模型,该模型可自动学习描述图像的内容Xu, K. et al. (2015). Show, attend and tell: Neural image caption generation with visual attention. arXiv preprint arXiv:1502.03044.
2016Zichao Yang和Eduard Hovy等人提出的HAN模型Yang, Z. et al. (2016). Hierarchical Attention Networks for Document Classification. NAACL.
2016Yilin Wang等人也提出了HAN,将静态空间信息,短期运动信息和长期视频时间结构结合起来,用于复杂的人类行为理解Wang, Y. et al. (2016). Hierarchical Attention Network for Action Recognition in Videos. arXiv:1607.06416.
2017Nikolaos Pappas, Andrei Popescu-Belis将HAN扩展,提出了多语言分层注意网络Pappas, P.; Popescu-Belis, A. (2017). Multilingual Hierarchical Attention Networks for Document Classification. arXiv:1707.00896.

3. 发展分析

瓶颈

HAN中使用的注意力机制虽然是模仿人的习惯设计的,但其不像人一样可以忽略某些部位,它是通过权重来分配注意力,因此需要矩阵来存储权重,增加了开销。

未来发展方向

使用注意力机制进行自然语言处理是目前非常流行的一个方向,首先是其模型表现效果往往比以往的模型都更好;二是能够可视化模型对哪些词汇和句子赋予更多注意力。

Contributor: Yuanyuan Li

简介