
摘要
神经手写识别(NHR)是指利用深度学习模型,如多维长短期记忆(MDLSTM)循环神经网络对手写文本进行识别。具有MDLSTM层的模型在手写文本识别任务中已达到最先进的水平。虽然多方向MDLSTM层在捕捉所有方向上的完整上下文方面具有无可比拟的能力,但这一优势限制了并行化的可能性,因此带来了较高的计算成本。在这项工作中,我们开发了高效的方法来构建基于MDLSTM的NHR模型,特别是提出了一种旨在消除因填充而产生的计算浪费的方法。该方法称为示例打包(example-packing),它用二维网格中的高效平铺替代了低效的填充示例堆叠。对于基于单词的NHR,这种方法比已经高效的每批最小填充基线提高了6.6倍的速度。对于基于行的NHR,尽管节省幅度较小,但仍具有重要意义。除了示例打包之外,我们还提出了:1)一种针对动态图定义框架(包括PyTorch)使用分组卷积优化并行化的技术;2)一种用于可变长度示例批次跨GPU并行化的方法。我们在自己重新实现的基于PyTorch的MDLSTM-NHR模型上对所有这些技术进行了彻底测试。对IAM数据集的详细评估表明,我们的模型性能与早期最先进的模型实现相当。我们的高效NHR模型以及讨论的一些可重用技术为实现深度学习中普遍存在的可变长度输入场景下的相对高效模型提供了途径。