[论文解读] Faster learning of deep stacked autoencoders on multi-core systems using synchronized layer-wise pre-training
本文提出了一种用于深度堆叠自编码器的同步并行逐层预训练算法,通过在多核系统中并行训练各层并定期同步,显著加速了训练过程,减少了过拟合现象,并在MNIST数据集上实现了相比贪婪预训练26.17%的加速效果,同时保持了相同的重构精度。
Deep neural networks are capable of modelling highly non-linear functions by capturing different levels of abstraction of data hierarchically. While training deep networks, first the system is initialized near a good optimum by greedy layer-wise unsupervised pre-training. However, with burgeoning data and increasing dimensions of the architecture, the time complexity of this approach becomes enormous. Also, greedy pre-training of the layers often turns detrimental by over-training a layer causing it to lose harmony with the rest of the network. In this paper a synchronized parallel algorithm for pre-training deep networks on multi-core machines has been proposed. Different layers are trained by parallel threads running on different cores with regular synchronization. Thus the pre-training process becomes faster and chances of over-training are reduced. This is experimentally validated using a stacked autoencoder for dimensionality reduction of MNIST handwritten digit database. The proposed algorithm achieved 26\% speed-up compared to greedy layer-wise pre-training for achieving the same reconstruction accuracy substantiating its potential as an alternative.
研究动机与目标
- 为解决在大规模数据集和复杂架构下,深度堆叠自编码器贪婪逐层预训练方法存在的高时间复杂度问题。
- 降低因逐层贪婪训练导致的过拟合和层间不匹配风险。
- 通过在多核处理器上实现各层的并行执行并定期同步,加速预训练过程。
- 在显著缩短训练时间的同时,保持或提升重构精度。
- 提供一种可扩展的非贪婪替代方法,可与现有的微调阶段并行化技术良好集成。
提出的方法
- 该算法使用不同CPU核心上的独立线程并行训练堆叠自编码器的每一层。
- 在固定时间间隔进行同步,各层的训练数据基于前一层输出的成熟结果进行更新。
- 数据成熟度从一层传递到下一层,确保每一层均基于更新的、更高层次的表示进行训练。
- 使用受限玻尔兹曼机(RBMs)通过对比散度对每一层进行预训练,并监控重构误差以判断收敛性。
- 通过级联机制实现训练过程的同步,确保预训练期间各层间的数据一致性。
- 总预训练时间由最慢的层(例如第一层)决定,其余各层均与之同步更新。
实验结果
研究问题
- RQ1通过同步机制实现堆叠自编码器各层的并行预训练,是否能在不损失重构精度的前提下减少训练时间?
- RQ2与贪婪逐层预训练相比,同步预训练是否能有效降低过拟合和层间不匹配的风险?
- RQ3在MNIST数据集上,同步预训练在速度和重构误差方面与贪婪预训练相比表现如何?
- RQ4定期同步对最内层的泛化行为有何影响?
- RQ5所提出的方法是否能与现有的微调阶段并行化策略无缝集成?
主要发现
- 所提出的同步预训练算法相比贪婪逐层预训练实现了26.17%的加速,训练时间从3小时14分43秒缩短至1小时49分11秒。
- 在更短时间内达到了相同的重构精度,证实并行化未对性能造成损害。
- 第四层最初出现过拟合现象,表现为训练误差和验证误差均较高,但随着同步机制使参数能够适应成熟数据,该问题得以解决。
- 所有层的训练误差和验证误差随时间收敛,表明泛化能力良好且学习过程有效。
- 线程间通信开销可忽略不计——比单个RBMs周期的时间小5至6个数量级。
- 对更快的层延长预训练时间至20轮以上,并未提升最终准确率,证实总训练时间由最慢的层决定。
更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。