论文浅尝 | LightRNN:存储和计算高效的 RNN

2018 年 12 月 26 日 开放知识图谱

链接:https://arxiv.org/pdf/1610.09893.pdf

动机

NLP任务中使用RNN已经被证明是很有用的模型方法。但是传统的RNNNLP中的应用有一个很大的限制:RNN的输出输入Embedding占用的空间太大,比如102410M词表大小的Embedding矩阵就要占掉40GB,这在大部分的GPU上都是不可训练的。本文的目标就是解决Embedding过大和参数过多的问题。

亮点

文章的亮点主要包括:

1. 通过二维Embedding使得参数所占空间和数量大幅减少,训练更快,使得手机甚至嵌入式训练成为可能

2. 由于单词安排的形式语义性表达更丰富,在NLP任务上能够不输于甚至超过一维的情形

概念

  1. 2-ComponentShared Embedding:维度共享的Embedding.

  • 每个word的词向量划分为行向量和列向量,同一行的词共享行向量,同一列也如此

  • 两个Embedding 矩阵的大小减为

方法

⒈ 新的RNN以适应新的Embedding形式

相较于传统RNN

a. t时刻的输入拆成两个(行列向量)由于矩阵U在两个小RNN中都一样,也可以看成传统的RNN交替输入行列向量

b. 显然只有都知道当前的行列向量才能预测下一个词,所以预测的行列向量跟输入错开了一个单元。

c. 由于错开,最后一次没得原始输入,需要将最后一个预测出来的行向量接过来

行列向量的softmax.最终的概率为二者相乘.

Bootstrap for Word Allocation,重新分配词表中单词的位置

a.随机分配词表中单词的位置

b.训练模型得到embedding.

c. 调整单词的位置,使得最小化训练集中所有句子的NegativeLog Likelihood.

其中lr(w,r(w))表示单词w安排在r(w)行时出现在位置r的概率. lc则是列. 现在将单词w换到其他行或者列中,得到lr(w,i), 再重新计算此NLL,比如:

位置

1

2

3

1

I

you

dislike

2

NUAA

PKU

love

3

hate

we

ZJU

 

     对于I love ZJUZJU对应的lr(w,r(w))即为-log(3,3),其中(3,3)表示第三行出现在句子的第三个位置的概率。现在将ZJU换到第二行, 对应的lr(w,2)= -log(2,3).其实也就是改为计算I Love Love这句话的概率,而任意的概率lr(w,i)lc(w,j)已经在RNN模型的softmax中计算过了。直接带入即可.

最后,因为ZJU占据了Love的位置,Love也要找下一个位置,所以这个问题是所有的单词全部重新排列,选取最小的NLL。这是个二分图的最小权值匹配问题.有现成的算法可以计算.


实验

                                                                            

. 比较的指标:PPL

T是预料中的所有token数量。

. 各数据集的情况:(token数和词典大小)

     (3) BillonW数据集的结果:


可以看出在BillionW中不仅超越了stateof art的模型性能,而且大幅减少了训练参数的数量和空间大小.

总结                                                  

本文提出了一种可以大幅减少RNNNLP中应用时的Embedding矩阵的大小和数量,同时又不削减性能的方法。

 

论文笔记整理:吴杨,浙江大学硕士,研究方向为知识图谱、自然语言处理。



OpenKG.CN


中文开放知识图谱(简称OpenKG.CN)旨在促进中文知识图谱数据的开放与互联,促进知识图谱和语义技术的普及和广泛应用。

点击阅读原文,进入 OpenKG 博客。

登录查看更多
3

相关内容

RNN:循环神经网络,是深度学习的一种模型。
【清华大学】图随机神经网络,Graph Random Neural Networks
专知会员服务
152+阅读 · 2020年5月26日
【CVPR2020】视觉推理-可微自适应计算时间
专知会员服务
12+阅读 · 2020年4月28日
专知会员服务
44+阅读 · 2020年3月6日
【Google论文】ALBERT:自我监督学习语言表达的精简BERT
专知会员服务
22+阅读 · 2019年11月4日
论文浅尝 | ICLR2020 - 基于组合的多关系图卷积网络
开放知识图谱
21+阅读 · 2020年4月24日
论文浅尝 | 基于复杂查询图编码的知识库问答
开放知识图谱
17+阅读 · 2019年7月22日
面试题:Word2Vec中为什么使用负采样?
七月在线实验室
46+阅读 · 2019年5月16日
论文浅尝 | 一种嵌入效率极高的 node embedding 方式
开放知识图谱
13+阅读 · 2019年5月12日
论文浅尝 | 面向知识图谱补全的共享嵌入神经网络模型
开放知识图谱
31+阅读 · 2019年4月7日
论文浅尝 | 用可微的逻辑规则学习完成知识库推理
开放知识图谱
13+阅读 · 2018年7月5日
论文浅尝 | 基于RNN与相似矩阵CNN的知识库问答
开放知识图谱
8+阅读 · 2018年5月29日
【论文笔记】自注意力机制学习句子embedding
论文浅尝 | 利用 RNN 和 CNN 构建基于 FreeBase 的问答系统
开放知识图谱
11+阅读 · 2018年4月25日
现代情感分析方法
Python开发者
13+阅读 · 2017年7月9日
Arxiv
4+阅读 · 2018年7月4日
Arxiv
7+阅读 · 2018年1月30日
Arxiv
4+阅读 · 2018年1月29日
Arxiv
4+阅读 · 2018年1月29日
Arxiv
8+阅读 · 2018年1月25日
VIP会员
相关资讯
论文浅尝 | ICLR2020 - 基于组合的多关系图卷积网络
开放知识图谱
21+阅读 · 2020年4月24日
论文浅尝 | 基于复杂查询图编码的知识库问答
开放知识图谱
17+阅读 · 2019年7月22日
面试题:Word2Vec中为什么使用负采样?
七月在线实验室
46+阅读 · 2019年5月16日
论文浅尝 | 一种嵌入效率极高的 node embedding 方式
开放知识图谱
13+阅读 · 2019年5月12日
论文浅尝 | 面向知识图谱补全的共享嵌入神经网络模型
开放知识图谱
31+阅读 · 2019年4月7日
论文浅尝 | 用可微的逻辑规则学习完成知识库推理
开放知识图谱
13+阅读 · 2018年7月5日
论文浅尝 | 基于RNN与相似矩阵CNN的知识库问答
开放知识图谱
8+阅读 · 2018年5月29日
【论文笔记】自注意力机制学习句子embedding
论文浅尝 | 利用 RNN 和 CNN 构建基于 FreeBase 的问答系统
开放知识图谱
11+阅读 · 2018年4月25日
现代情感分析方法
Python开发者
13+阅读 · 2017年7月9日
相关论文
Top
微信扫码咨询专知VIP会员