[论文解读] Sparse evolutionary Deep Learning with over one million artificial neurons on commodity hardware
本文提出了一种用于多层感知机(MLP)的真正稀疏的稀疏进化训练(SET)实现,使在无GPU加速的通用CPU上端到端训练包含超过一百万个神经元的模型成为可能。通过利用稀疏数据结构和Cython优化的操作,该方法在高维微阵列数据集上实现了99.9%的稀疏度,且在样本极少的情况下,其性能优于密集模型和剪枝模型。
Artificial Neural Networks (ANNs) have emerged as hot topics in the research community. Despite the success of ANNs, it is challenging to train and deploy modern ANNs on commodity hardware due to the ever-increasing model size and the unprecedented growth in the data volumes. Particularly for microarray data, the very-high dimensionality and the small number of samples make it difficult for machine learning techniques to handle. Furthermore, specialized hardware such as Graphics Processing Unit (GPU) is expensive. Sparse neural networks are the leading approaches to address these challenges. However, off-the-shelf sparsity inducing techniques either operate from a pre-trained model or enforce the sparse structure via binary masks. The training efficiency of sparse neural networks cannot be obtained practically. In this paper, we introduce a technique allowing us to train truly sparse neural networks with fixed parameter count throughout training. Our experimental results demonstrate that our method can be applied directly to handle high dimensional data, while achieving higher accuracy than the traditional two phases approaches. Moreover, we have been able to create truly sparse MultiLayer Perceptrons (MLPs) models with over one million neurons and to train them on a typical laptop without GPU, this being way beyond what is possible with any state-of-the-art techniques.
研究动机与目标
- 解决在内存受限的通用硬件上无GPU加速训练大规模稀疏深度神经网络的挑战。
- 克服现有稀疏训练方法依赖二值掩码或预训练模型的局限性,这些方法会阻碍实际训练效率。
- 通过高效的稀疏数据结构,实现在CPU上直接端到端训练高度稀疏、大规模MLP(超过100万个神经元)的能力。
- 在高维、小样本微阵列数据集上展示优越性能,这些数据集因维度灾难而使传统方法难以奏效。
- 为表格数据和非网格化数据(如基因表达数据)提供一种可扩展、内存高效的深度网络训练解决方案。
提出的方法
- 提出一种真正稀疏的稀疏进化训练(SET)实现,通过使用SciPy原生稀疏数据结构并结合Cython优化内核,避免使用二值掩码。
- 设计保持参数数量和稀疏度恒定的稀疏矩阵运算,从而实现高效的内存和计算资源利用。
- 采用自适应稀疏连接:在训练过程中,根据适应度准则动态重构连接,避免剪枝与微调的循环。
- 将SET-MLP实现为使用压缩稀疏行(CSR)格式存储的稀疏权重矩阵,从而实现高效的前向与反向传播。
- 将稀疏SET-MLP集成到纯Python/Cython管道中,仅使用标准库(SciPy、Python 3),避免依赖深度学习框架。
- 在样本少、高维的场景下应用Dropout正则化以缓解过拟合,尤其在仅含85个样本的GLI-85数据集上表现显著。
实验结果
研究问题
- RQ1能否在无GPU的普通笔记本电脑上,高效训练一个真正稀疏、可端到端训练、含超过一百万个神经元的MLP?
- RQ2在高维、小样本微阵列数据集上,所提出的稀疏SET实现是否在准确率和效率上优于密集模型和剪枝模型?
- RQ3该方法能否有效缓解在极低样本量的高维表格数据中出现的过拟合和数据分布偏移问题?
- RQ4稀疏实现能在多大程度上减少参数数量和内存占用,同时保持或提升模型性能?
- RQ5当在CPU核心上并行化时,稀疏SET方法是否可扩展至数千万个神经元,即使没有GPU支持?
主要发现
- 所提出的稀疏SET-MLP在白血病数据集上达到88.12%的准确率,且在两层隐藏层结构下优于密集模型和剪枝模型。
- 在CLL-SUB-111数据集上,两层隐藏层的SET-MLP达到81.11%的准确率,而单层或三层结构的模型表现较差。
- 在仅含85个样本的GLI-85数据集上,两层隐藏层的SET-MLP初始准确率达到100%,但在200个周期后下降至约80%,表明存在过拟合。
- 应用Dropout正则化(丢弃率0.5)后,性能得以稳定,准确率未出现下降,证实了对过拟合的强鲁棒性。
- 单层隐藏层的SET-MLP无法达到100%准确率,表明高维输入需要足够的模型容量。
- 该方法在大型MLP中实现了约99.9%的稀疏度,同时在四个微阵列数据集上保持或超越了当前最先进性能。
更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。