递归自编码

1 RAEs 简介

  递归自编码(Recursive auto-encoders, RAEs), 是自编码方法的一个变种,属于深度学习。将单词表示为词向量,依据词向量得到某一段文字的向量空间, 然后逐层向上分析,继而得到整段文字的向量表示.  
  Socher于 2012 年提出基于递归自编码(Recursive AutoEncoder , RAE)的树回归模型用来分析句子的情感倾向性,他将词向量作为输入,用递归神经网络完成了句法分析、情感分析等多项任务。  
  基于深层学习的半监督递归自编码(RAE, Recursive Auto Encoders)方法可以解决中文文本的情感分类问题,它通过学习非线性的深层网络结构,利用分布式向量来表达文本的特征,从而弥补了浅层学习在表达能力和泛化能力方面的约束 。

2 词向量

  • one-hot representation 每个词用一个维度很大的向量来表示, 此时向量的长度等于词典中所有词的总数, 向量的各个分量值, 只有一个为1 , 对应该词在词典中的索引, 其余位置全为0 。
  • distributed representation 语言中的每个词也需要被映射为一个固定长度的向量, 但其向量长度相比于 one-hot representation 小很多。维度通常取50维和100 维。这些向量构成词向量空间, 其中每个向量被看作是空间中的一个点, 然后根据词之间的距离来判断各个词之间的相似性。
  • simply initialize each word vector x by sampling it from a zero mean Gaussian distribution .按照高斯分布对每个单词随机分配一个向量。
  • pre-train the word vectors with an unsupervised neural language model使用无监督的神经语言模型进行单词向量的识别。

3 AE原理

  自动编码器( auto-encoders, AE)通过神经网络将输入信号进行复现,目的是得到关于输入信号的不同表示。图为AE的编码和解码过程。 AE  
  若reconstruction与input相似,则认为code能够替代input。以重构误差最小化为优化目标,调整Encoder和Decoder的各个参数,得到Input的另一种表示,如code。将code作为第二层的输入,依次得到第三层、第四层、第N层的code。至此,AE模型学习到了关于输入数据的良好表示方式

4 有监督RAE方法

  • 需要以句子的树形结构作为先验知识。
    一般意义上的AE方法需要以句子的树形结构作为先验知识才能进一步获得句子的向量形式的表示, 所以这种方法也称为有监督RAE 方法。
    RAE
    RAE方法将文本中的词用词向量来表示,如果句子的第i个词表示为向量​,那么句子可以表示为向量($x_1,x_2,…,x_{n}$)。中间节点$y_{i}$与输入节点$x_{i}$有相同的维度。
    $p \rightarrow c_{1}c_{2}$表示父节点和子节点之间的关系。子节点$c_{i}$​可以是输入向量​$x_{i}$,也可以是树的中间节点$y_{i}$。$$p = f(W^{(1)}[c_1;c_2] + b^{(1)}) $$ (公式4.1 编码器)

  其中,​ $W^{(1)} \in R^{n\times2n}$为 参数矩阵 ,$b^{(1)}$为​ 偏差 ,函数 f为双曲正切函数,[c1;c2]由向量$c_1和c_2$​ 联接得到。   
  图2中,第一个父节点$y_{1}$可以通过公式4.1计算得到,令$(c_{1},c_{2}) = (x_1,x_2)$。  
  W是两个孩子节点链接向量,为了验证这种方法是否可靠,可以用得到的数据还原出原来的叶子节点。图2中的空心部分重构层,作用为判断得到的父节点能否很好的表达子节点的信息。重构方法见公式4.2。
$$[c_{1}^{,};c_{2}^{,}] = W^{(2)}p + b^{(2)} $$ (公式4.2 解码器)
  算法训练的目标时最小化重构误差图2中矩形框为递归自编码方法的一次迭代,迭代过程中欧式距离来衡量子节点的重构误差,见公式4.3。  
$$E_{rec}([c_1;c_2]) = \frac{1}{2}|| [c_1;c_2] – [c_1^{,};c_2^{,}] ||^2 = ||c_1 – c_{1}^{,} ||^2 + ||[c_2 – c_{2}^{,}] ||^2$$ (公式4.3)

5 无监督RAE方法(重点)

​  通常情况下对于情感分类任务来说, 树形结构是事先无法确定的, 此时在获取句子的特征向量前就需要先确定RAE 方法的树形结构, 此时的RAE方法即为无监督的RAE方法。

  • 贪心计算树形最优结构,树中的根节点即为句子的向量表示形式
    对于句子 $X = (x_1 , x_2 , x_3 , x_4)$ ​ ,每次选择使重构误差E最小的节点来构造树形结构,直至到达根节点并计算相应的E值。用公式4.3计算E值。
    1 计算各个$p_{i} , E_{i} $的值greddy12 E最小的P下沉成为子节点,如果$E_1 > E_2 > E_3$,则greddy23 如果$E_2 > E_1​$ ,则greddy3
  • 2 问题:节点$c_1$ 和节点$c_2$ 可能包含的叶子节点数有很大差异,计算重建误差时会导致不平衡。
    解决方法:进一步,在构建树的过程中,引入权值,区分各个词的不同重要性。公式5.1为引入权值后重构误差的计算方法。$$E_{rec}([c_1;c_2]) = \frac{n_1}{n_1 + n_2} ||c_1 – c_{1}^{,} ||^2 + \frac{n_2}{n_1 + n_2} ||[c_2 – c_{2}^{,}] ||^2$$ (公式5.1)
    ​ $n_1,n_2$ 表示当前子节点$c_1 ,c_2$ 覆盖的词数。
  • 3 问题:节点的向量表示为零向量,这会导致该节点的重建误差​ 为零,事实上这是没有意义的;
    解决方法: 隐藏层所有的父节点需要归一化​ ​
    $p = \frac{p}{||p||}$

6 半监督RAE方法

  通过贪心算法构造出了表征这段文本的树,就可以用这棵树来描述这段文本。为了最终判断句子的情感倾向性, 需要将无监督的RAE方法进行扩展, 在原有RAE树形结构的顶层增加一个分类器, 而这个分类器的训练过程是有监督方法, 因而此时的RAE方法即成为了半监督的RAE方法。

7 参考资料

1 Richard Socher, Jeffrey Pennington, Eric H Huang, Andrew Y Ng, and Christopher D Manning. 2011. Semi-supervised recursive autoencoders for predicting sentimentdistributions. In Proceedings of the Conference on Empirical Methods in Natural Language Processing.
2 王轶霞. 基于半监督递归自编码的情感分类研究[D]. 内蒙古大学, 2015.
3 梁军, 柴玉梅, 原慧斌, 等. 基于深度学习的微博情感分析[J]. 中文信息学报, 2014, 28(5): 155-161.
论文读书笔记-semi-supervised recursive autoencoders for predicting sentiment distributions
基于深度学习的互联网文本情感分析研究
 

此条目发表在其他分类目录。将固定链接加入收藏夹。

发表评论

电子邮件地址不会被公开。 必填项已用*标注