【论文笔记】Hierarchical Attention Networks for Document Classification

文章目录
  1. 1. 论文主要内容
    1. 1.1. 论文模型概述
    2. 1.2. GRU设置
    3. 1.3. 注意力机制编码
      1. 1.3.1. 词语编码
      2. 1.3.2. 词语注意力机制
      3. 1.3.3. 句子编码
      4. 1.3.4. 句子的注意力机制
    4. 1.4. 模型参数设置
    5. 1.5. 实验结果

本篇笔记基于论文《Hierarchical Attention Networks for Document Classification》。

论文主要内容

论文模型概述

首先简单的概括一下这个模型,这篇论文提出的模型有点意思,他是先将词向量构建为句向量,再把句向量构造成文章向量,其中通过注意力机制来捕获重要的单词和句子,最后通过softmax在文本向量的基础上进行分类,文章模型结构如下:

GRU设置

根据上图中的模型设置,首先需要处理词模型。作者使用了双向GRU来训练词向量,另外一种方式是直接使用word2vec的方式来处理词向量。在GRU中作者设置了两个门,一个r门和一个z门,r门用来控制上次输入保留的内容数目,z门用来决定先前细胞中的内容有多少会进入新的输出中。
GRU计算新状态的方式:

z门的控制方式如下,其中xt是序列向量在t时候的状态:

r门的控制方式如下:

注意力机制编码

词语编码

给定一个有T个词语的句子,通过一个嵌入矩阵W来得到词向量。双向GRU从正向和反向来收集词语信息。

词语注意力机制

并不是所有的词语都对构建句子有相同的作用,所以作者在通过词语构建句子的过程中添加了一层注意力机制,并将这些重要的词语聚集在一起:

其中uw可以被视为当前单词的高质量的上下文表示,uw可以随机初始化,在训练过程中优化。

句子编码

假如给定句子si,同样可以使用GRU来进行训练:

hi收集了当前句子邻边的句子信息但是主要专注于当前的句子。

句子的注意力机制

这个和先前的单词注意力机制很像,不过最后生成的v是文本向量。

模型参数设置

作者在Section 3中的3.3部分主要讲了模型的参数设置,私以为在复现论文的过程中,参数非常重要。
(1)词嵌入维度为200;
(2)GRU维度为50,一个包含前向和后向传播的GRU的总维度就是100;
(3)句子和单词上下文的维度也是100;
(4)batch_size为64;
(5)momentum的值设置为0.9.

实验结果

这篇文章结果很好的,比起先前的各种方法在数据集上取得的结果都要好得多。