神经网络训练时间?

数据挖掘 神经网络
2022-02-14 09:51:16

我构建了一个相当标准的反向传播算法,并且仅使用包含 39 个变量的 10,000 次观察的数据集通过 5 层 x 5 节点网络进行前向传播的过程需要近 5 分钟进行一次迭代。

使用这种大小的数据集训练神经网络通常需要花费数小时吗?我的初始数据集是 10 倍长,但我不能等待一个小时来完成一次前向传递。

2个回答

这是相当标准的训练时间。这取决于您对代码进行了多少优化。处理单元的速度,通常使用 GPU 比使用 CPU 更好。GPU 进行数学运算的速度要快得多。此外,您应该尽可能使用并行计算,对于 NN,您绝对可以。

训练机器学习算法只需要完成一次。让它运行一整夜,然后你将准备好做一些非常好的预测。

当您增加数据集中的特征或列的数量以及增加隐藏层的数量时,神经网络通常需要更长的时间来运行。tensorflow 或 Theano 等框架使您能够在 GPU 上运行神经网络代码,特别是利用反向传播算法典型的大型数组乘法的并行编程能力。我在 kaggle 中为 Dogs vs Cats 问题训练 ConvNet 的代码花了 50 分钟来训练 24000 张图像。你可以在这里查看我在 CIFAR10 数据集上的实验