论文标题:
DeFINE: Deep Factorized Input Word Embeddings for Neural Sequence Modeling
论文链接:
https://openreview.net/pdf?id=rJeXS04FPH
收录情况:
Under blind submission for ICLR 2020
肥胖的词向量矩阵
众所周知,词向量矩阵一共有Vm个参数,当词表大小V很大的时候,这巨大的参数量不但会降低计算效率,还会因为数据分布的不平衡性导致效果无法更上一层楼。
我们想要给词向量矩阵瘦身。一个常见的做法是,使用简单的矩阵分解方法。
即把词向量矩阵E分解为两个矩阵的乘积E=E_1E_2,其中E_1的维度是V*n,E_2的维度是n*m,这样,总的参数量就是n(V+m),当pp很小的时候,参数量就会有很明显的减少。
换句话说,就是先把词映射为一个低维向量,然后再映为一个高维向量。
本文就是在这种基本的矩阵分解方法上的改进,称为DEFINE。下面是普通词向量和DEFINE的示意图,以及它们在Transformer-XL上的参数量。
深度矩阵分解
除了DEFINE之外,矩阵分解还有如下几种变体:
LT(Linear Transform):使用多个FFN逐步将低维向量映为高维向量。
GLT(Group Linear Transform):采用分组的策略将低维向量映为高维向量。
HGT(Hierarchical Group Transform):采用先分组,再聚合的策略将低维向量映为高维向量。
下图是几种变体的示意图,以及它们参数量的比较。接下来我们详细介绍第三种策略。
现在假设HGT有N层,第l层有g^l个组(group),输入维度是n^l,输出维度是k^l。
在第1层,HGT有g_{max}个组,之后组的个数按照指数2递减。
使用这种方法,可以期望学得表示之间的层级关系。而LT和GLT分别是HGT在g^l=1和g^l=g时的特殊情况。
这样,DEFINE单元就是由HGT组合而成。另外,DEFINE还引入了skip connection。下图是DEFINE的示意图:
这里,Split是把上一层的输入和输出(上一层的输出就是这一层的输入,也就是skip connection)分别分成这一层需要的组数g^l,然后把各自的第k个组拼接起来,一共形成g^l个组,之后把这g^l个组继续往下送即可。
使用这种方法,可以巧妙地结合skip connection,并且也不失分组的效率。
实验
本文在LM和NMT上实验。LM上实验WT-103和PTB,且使用LSTM和Transformer-XL两种方法。具体实验设置详见原文。
下表是使用LSTM在LM上的实验结果。首先看(a),Adaptive方法(Grave et al. 2017a)参数量最少,训练时间也最快,但是效果最差。
而Standard方法参数量最多,但效果也很烂。使用DEFINE,虽然比Adaptive增加了一些参数量,但效果显著提高,并且也比Standard少一半参数。
再看(b)(c),和AWD-LSTM与QRNN相比,参数量都有所减少,并且效果几乎没有明显下降。
下表是使用Transformer-XL在WT-103上的实验结果。和原Transformer-XL相比,使用DEFINE可以在减少50%参数量的情况下使得PPL只减少2个点,而同等情况下不使用DEFINE会有5个点的下降。
下表是WMT14 EN-DE上的结果,同样使用OpenNMT实现。可以看到,参数量减少26%而效果有所提高。
下面来考虑几个影响因素:变换策略,深度和宽度,连接方式,映射方式。
下表是不同变换策略的影响,HGT显著最好,而使用mixer也有很大帮助。
下表是不同深度和宽度的影响。一个趋势是,越深越好,但宽度似乎没有显著的影响。
下表(a)表明了普通的residual connection和DEFINE中的skip connection方法的不同,显然,DEFINE使用的方法更好。
而(b)表明,在把词向量送入到上下文建模模型(如LSTM)之前,是否去掉低维映射的影响(称为reduce)。
结果显示,去掉reduce,参数量增加,但效果却没有编好,这也说明了单纯增加参数并不一定就是最好。
小结
本文提出一种减少输入/输出词向量参数量的方法——DEFINE,十一弄了一种深层、分层、稀疏的skip connection网络结构,减少参数量,加速训练,学得更好的词向量。
在LM和NMT上的实验表明,这种方法可以在更少参数的情况下达到很好的效果。
本文可以在下面几点上进一步follow:
在非sequence modeling任务上实验,进一步验证该方法的有效性;
精简结构,继续减少参数量而不失效果;
与multi-head联系,研究分组与multi-head之间的相关性,甚至对其中hierarchical的部分进行解释;
……
附录
下面是不同层的堆叠方法。