论文部分内容阅读
近年来,基于深度学习的序列识别模型显著提升了光学字符识别(Optical Character Recognition,OCR)、自动语音识别(Automatic Speech Recognition,ASR)等任务的性能。然而,在取得优异识别性能的同时,这些模型的层数越来越多,结构越来越复杂,因此模型的参数量和计算量也越来越庞大。为了能够将模型部署到计算能力有限的机器上(如云端CPU服务器)以在产品中得到应用,需要对模型进行最大限度的压缩与加速。本文围绕两种在OCR、ASR任务上广泛使用的基于深度学习的序列识别模型,即结合了卷积神经网络(Convolutional Neural Network,CNN)、深度双向长短时记忆元网络(Deep Bidirectional Long Short-Term Memory,DBLSTM)的CNN-DBLSTM字符模型,和以连接时序分类(Connectionist Temporal Classification,CTC)为训练准则的 LSTM 声学模型,展开模型压缩方法的研究,实现运行时加速的目的。首先,针对CNN-DBLSTM字符模型,本文提出使用知识蒸馏和Tucker分解相结合的方法压缩与加速CNN-DBLSTM模型中的CNN部分。本文首先使用知识蒸馏方法,将老师模型中的知识转移到具有紧凑网络结构的学生模型中,然后使用Tucker分解进一步对学生模型进行压缩与加速。对于知识蒸馏方法,区别于传统基于交叉熵(CE)的蒸馏方法,针对CNN-DBLSTM的结构,本文提出一种新的蒸馏准则,在匹配老师与学生模型CNN部分输出特征时,引入与CNN部分相连接的LSTM层作为指导。对于Tucker分解方法,我们将卷积核视为4维张量,使用Tucker分解对卷积核进行低秩近似。实验结果表明,在大规模离线英文手写OCR和打印体英文OCR任务上,本文提出的压缩方法在基本上不损失识别性能的前提下,压缩后模型的参数量和CPU端运行时间分别只有基准CNN-DBLSTM字符模型的1/8和1/22。随后,本文提出使用神经网络结构搜索(Neural Architecture Search,NAS)方法寻找紧凑的CNN-DBLSTM字符模型结构。本文以FairNAS为搜索框架,同时搜索CNN-DBLSTM中的CNN部分和DBLSTM部分的结构。通过设计不同的搜索空间,本文研究了搜索空间的设计对NAS评估不同结构模型识别性能孰优孰劣时精确程度的影响。实验结果表明,通过设计合适的搜索空间,NAS能够搜索到更紧凑的CNN-DBLSTM字符模型结构,相比手动设计的CNN-DBLSTM字符模型,取得了更优的识别性能和运行时间的均衡。最后,针对以CTC为训练准则的LSTM声学模型,本文开展从DBLSTM老师模型到DBLSTM小模型和深度单向LSTM(DLSTM)学生模型的知识蒸馏研究。对于CTC模型,传统的基于CE的蒸馏准则强制学生模型遵循老师模型的对齐路径。然而,由于训练时缺乏输入序列与标签序列的帧级别对齐信息,CTC模型学到的对齐既不精确也不稳定。针对CTC模型对齐不精确不稳定的问题,本文从两种思路展开研究。一种思路为设计新的蒸馏准则,以适应CTC老师模型不精确的对齐。基于此本文提出两种准则:动态帧级别蒸馏(Dynamic Frame-wise Distillation,DFD)和分段 N-Best 模拟学习(Segment-wise N-Best Imitation,SegNBI)。另一种思路为为训练对齐更精确的老师模型。本文提出对齐一致性集成(Alignment Consistent Ensemble,ACE)方法,在训练 CTC 集成模型时,提出对齐一致性正则项,保证集成模中所有分支CTC模型的对齐路径保持一致。实验结果表明,在大词汇量连续语音识别(Large Vocabulary Continuous Speech Recognition,LVCSR)任务上,以单个DBLSTM作为老师模型,DBLSTM小模型做学生时,DFD和SegNBI取得比CE略好的蒸馏效果。以ACE模型作为老师模型时,由于ACE模型学到的对齐更精确、稳定,使得CTC模型的知识蒸馏更简单,因此简单的CE方法可以取得比其他精心设计的准则类似或者更好的蒸馏性能。另外针对DBLSTM和DLSTM对齐路径不一致的问题,本文提出目标延迟(Target Delay,TD)方法,实现以DBLSTM和ACE模型作为老师时,显著提升DLSTM学生模型的识别性能。