[论文解读] A comprehensive study of batch construction strategies for recurrent neural networks in MXNet
本文提出了一种用于循环神经网络训练中批量构建的交替排序策略,其中将打乱的序列分段后以交替顺序排序,以减少零填充并提高训练效率。在 CHiME-4 ASR 任务上的评估显示,该方法在识别性能上与随机打乱相当(WER ~8.9%),同时达到了与排序批量处理相当的速度,为 MXNet 的桶状处理方法提供了一种更简单、更有效的替代方案。
In this work we compare different batch construction methods for mini-batch training of recurrent neural networks. While popular implementations like TensorFlow and MXNet suggest a bucketing approach to improve the parallelization capabilities of the recurrent training process, we propose a simple ordering strategy that arranges the training sequences in a stochastic alternatingly sorted way. We compare our method to sequence bucketing as well as various other batch construction strategies on the CHiME-4 noisy speech recognition corpus. The experiments show that our alternated sorting approach is able to compete both in training time and recognition performance while being conceptually simpler to implement.
研究动机与目标
- 为解决由于序列长度可变导致 RNN 小批量训练中零填充低效的问题。
- 通过减少填充帧带来的计算浪费,提升训练速度和识别性能。
- 提出一种比 MXNet 中现有桶状方法更简单、更直观的批量构建策略。
- 评估不同批量构建策略对训练时间和 ASR 系统性能的影响。
- 证明随机交替排序方法可在速度和准确率上优于标准桶状处理。
提出的方法
- 首先对序列进行随机打乱,以打破长度顺序偏差。
- 将打乱后的序列划分为固定大小的段。
- 对每个段在全训练集中以交替顺序排序——奇数段按递增顺序,偶数段按递减顺序。
- 该方法在减少批内长度方差的同时保持了批间多样性。
- 通过在每个段内将长度相近的序列分组,最小化零填充。
- 该方法在 MXNet 中实现,并与随机打乱、排序批量处理以及 MXNet 原生桶状策略进行比较。
实验结果
研究问题
- RQ1批量构建策略如何影响基于 RNN 的 ASR 的训练时间和识别性能?
- RQ2更简单的批量构建方法是否能在 MXNet 中超越标准桶状处理方法?
- RQ3对打乱序列段进行交替排序是否能减少零填充并提高训练效率?
- RQ4不同批量构建策略在训练速度与 ASR 准确率之间的权衡如何?
- RQ5批内长度变异性如何影响模型收敛性和性能?
主要发现
- 所提出的交替排序方法实现了 9.5% 的词错误率(WER),训练速率为每秒 10.0 个语音段,与随机打乱方法(WER ~8.9%,约 7.0 个语音段/秒)的性能非常接近。
- 排序批量处理的训练速度最快(10.2 个语音段/秒),但识别性能最差(WER 10.2%),表明固定长度排序存在显著负面影响。
- MXNet 的桶状处理方法内存消耗更高(6.3 GB),训练速度更慢(9.5 个语音段/秒),而所提方法的内存消耗为 4.8–6.0 GB,训练速度为 8.8–10.1 个语音段/秒,具体取决于桶的数量。
- 所提方法在使用 256 个桶时,WER 为 9.1%,优于 MXNet 的桶状处理(9.6%),并接近随机打乱的性能。
- 交替排序策略在训练速度与识别准确率之间的平衡优于桶状处理和排序批量处理。
- 该方法比桶状处理更易于实现和参数化,因为它避免了需要调整桶大小和分布的复杂性。
更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。