FastText.zip: compressing text classification models
作者
Armand Joulin,Edouard Grave, Piotr Bojanowski, Matthijs Douze, Hervé Jégou & Tomas Mikolov
单位
Facebook AI Research
关键词
text classification,compression,FastText
文章来源
Under review as a conference paper at ICLR 2017
问题
在不牺牲文本分类模型的准确度和速度的基础上如何生成压缩框架?
模型
通常一个文本分类的模型的损失函数为:
其中
xn
是one-hot表示的文本向量,
yn
是第n篇文章的标签;在大词汇量和大的输出空间情况下,矩阵A,B是很大的,非常浪费内存空间。
这篇论文主要讨论了如何平衡分类器准确率和模型尺寸的问题。通过feature Pruning、quantization、hashing和re-training处理,使生产的文本分类模型尺寸小于100KB。将模型在一些通用的数据集上训练,结果发现压缩过的模型准确率和速度上没有明显损失。
模型框架如下:
Product quantization
由于采用one-hot方法表示文本,当词汇表很大的情况下,模型将占用较大内存。
向量量化的目标是为了减少空间结构的复杂度。首先建立codebook,,然后将特征向量量化到codeword上。经过量化,任何空间中的点都可以用有限的几个codeword来表示。Product quantization允许将一个向量的各个部分进行分开量化。主要思想是在子空间中进行k-means,这样划分的空间比较密集,利用k-means中心点能够对数据进行较好的近似,能够有效压缩数据。
re-training
输入数据量化完成之后,还需要re-training来调整网络。论文采用自低而上的策略,首先量化输入矩阵,然后重训练和量化输出矩阵。当训练输出矩阵的时候,输入矩阵保存不变。
相关工作
该论文是对fasttext模型的扩展,如何利用一些方法降低模型内存占有量,使得模型又快又不占内存。
简评
论文主要就之前提出的fasttext模型提出压缩方法,使模型可以适应较大的数据集。对于工程应用而言,有参考价值;对于学术创新而言,指导意义不大。