论文部分内容阅读
随着现代科技的飞速发展,数据成为各行各业不可或缺的宝贵资源。但是,随着数据量级的爆炸性增长,人工对数据进行分析与处理的难度与日俱增,人工智能与机器学习逐渐走入人们的视线。以深度学习为标志的机器学习技术,凭借其准确把握数据特征的优势,在图像处理、自然语言处理、语音识别等领域取得了令人瞩目的成绩。其中,自然语言处理(包含机器翻译、情感分析、语义识别等应用)由于与人们的日常生活密切相关,尤其受到学界和产业界的重视。在这一领域,循环神经网络(RNN,Recurrent Neural Network)扮演着重要的角色,受到了研究者的青睐。到目前为止,在机器翻译领域,基于循环神经网络的神经机器翻译模型已经形成了比较成熟的体系。但是,机器翻译应用往往需要相当大规模的语料数据进行训练,由此带来了大量的存储压力和运行成本,因此,神经机器翻译模型的压缩与优化成为了该领域的研究重点。为了缩短运行时间、降低存储消耗,学术界提出了多种模型压缩方法,目前较为主流的模型压缩方法包括数据量化、参数修剪以及知识蒸馏等。本文基于开源的神经机器翻译框架OpenNMT-py实现了目前较为主流的包含注意力机制的Seq2Seq模型,并在主流数据集上对其效果进行了评估验证;然后采用基于权值绝对值大小的剪枝方法对该模型进行了压缩优化,针对不同剪枝比例对模型精度的影响进行了实验分析,并对不同类型的权值对整个模型的重要性进行了探索,在此基础上,本文提出了分类剪枝的方法,使得剪枝后的模型具有接近未剪枝模型的精度效果;最后采用剪枝-重新训练的方法使得剪枝模型的精度恢复到剪枝前的基线水平,并探讨了重复迭代该过程对模型精度的影响。神经网络的剪枝压缩方法由于其压缩效果明显、实现方式简单,经常被应用于各种深度学习模型压缩,但是,较高比例的剪枝往往会带来较高的精度损失。本文针对权值剪枝带来的精度损失,探索了剪枝模型的精度恢复方法,根据不同类型权值对模型精度影响重要程度的不同,对不同类型的权值采取不同的剪枝比例,使得剪枝模型的精度达到接近未剪枝模型的水平,可以在模型大小压缩70%的基础上,精度仅损失20%,并采用剪枝-重新训练的方法使得任意比例的剪枝模型精度回归到未剪枝的基线水平,这为神经机器翻译模型实现更细粒度的压缩与优化提供了思路。