原文标题
Supervised and Semi-Supervised Text Categorization using LSTM for Region Embeddings
Intro
初始文本分类使用线性分类模型,输入为词袋或n-gram词袋向量
CNN原理
- 在卷积层内,小region的文本被转换为保存了信息的低维向量(使用embedding 函数)
以one hot为例,首先将一篇文章表示成one-hot矢量序列
而后在卷积层中将每句话转换为低维向量
而后在池化层中将文本region embedding后的结果汇总,取均值或最大值
在顶层中使用线性分类器进行分类
- 使用半监督学习扩展的one-hot CNN表现出比其他方法更优越的性能
本文方法
- embedding function v(xl) = max(0, Wxl + b)
其中xl是第l个region的词语one-hot向量的串联,W,b需要训练 - 基于embedding+pooling,探索了一种新的基于LSTM的embedding方式,用来解决embed不同size的region的问题
- 目标是尽可能简化LSTM,包括减少word embedding层
- 发现:a 在监督学习中,简化策略得到更高的准确度和训练速度
b 在无标签数据上训练LSTM来获得额外输入
c 最好的效果来自于混合LSTM embedding和CNN embedding - 基础LSTM模型
变量含义:
σ:将变量归一化的函数,此处使用sigmoid函数
x_t:t时刻从低层来的d维输入向量,其中d是字典的维度或词向量的维度
q:LSTM的单元数
W:q*d,权重矩阵
b:q,偏差矩阵
U:q*q,对t-1时刻结果的权重矩阵
c_t:记忆单元,对抗梯度消失/爆炸
f_t:遗忘门,重置记忆单元
i_t、o_t:输入门、输出门,控制记忆单元的输入和输出
- wv-LSTM
对于每一个文档,LSTM输出层都是最后一个时间步的输出代表全文输出。
词——词向量——输出
发现wv-LSTM不如线性分类器,且训练不稳定。原因:文本较长
wv-LSTM训练用时是one-hot CNN的20倍,且准确性不如,原因:依赖t-1的输出,无法并行计算加速
预训练模型可以提高LSTM的稳定性和准确性 - 监督LSTM
当移除word embedding层时,可以将一个word vector LSTM转化成一个one-hot LSTM
原方案:x_t -> Vx_t -> WVx_t
现方案:x_t -> (WV)x_t
直接训练WV的矩阵
在未分类标签文本上半监督学习word embedding会改善结果,但不如本文提到的在未分类文本上无监督学习one-hot LSTM的region embedding - 简化方法
原方法:将整篇用一个向量表示(document embedding)
新方法:检测与任务相关的文本区块,并将其表示为向量(region embedding),而后使用pooling layer将它们拼成一个document vector,用这种方法可以遗忘较老的信息。 - 切分以加速训练
将文章切分成固定长度的区块(小文本),并且并行处理所有区块
为了避免将固定词组切开,可以使用overlapping的方式,但实践证明收益较小 - 移除input、output gate以加速流程
当以pooling跟随LSTM时,input、output gates的存在不能改善准确性,删除它们可以减半运行实践
简化后的方程:
此方程等价于将gates视为纯1矩阵。
- 使用双向LSTM获得更高准确性
使用one-hot bidirectional LSTM with pooling(oh-2LSTMp) - 实验配置
database: IMDB ELec RCV1 20NG
compared model: JZ15 DL15
文章全部小写,最常见的30k单词,最小化平方损失函数,dropout,初始权重使用N(0,0.01),优化方法为SGD,mini-batch为50或100,momentum or optionally rmsprop加速
使用JZ15的pooling method,使用k-max pooling - 结论
oh-2LSTMp全局优于wv-LSTM
在词序不严格的数据集上,SVM、oh-CNN要优于oh-2LSTMp
oh-CNN在简单数据集上的优异表现提醒我们可以使用两种region embedding方式的联合
半监督LSTM
- two-view embedding (tv-embedding)
view1: words seen in document
view2: next few words
目标: 根据view1预测view2
方式:对无标签数据进行正向、反向同时训练
注意:在此种方式中,input output forget gates都是有效的
优化:进行vocabulary control——将功能词从target view中剔除
增加输入数据: - 其中新增的sigma项是tv-embedding的输出项
- 联合LSTM tv-embedding和CNN tv-embedding