人工智能教程

搜索

人工智能教程:任何卷积神经网络在GPU上训练6个小时是否正常?我在我的笔记本电脑上安装了GTX 1060 6GB,并且图像分类器CNN型号花费了太多时间。

[复制链接]
admin 发表于 2018-5-16 23:56:06 | 显示全部楼层 |阅读模式
admin 2018-5-16 23:56:06 19 0 显示全部楼层
人工智能教程:任何卷积神经网络在GPU上训练6个小时是否正常?我在我的笔记本电脑上安装了GTX 1060 6GB,并且图像分类器CNN型号花费了太多时间。第一个也是最明显的问题是您在CNN模型中使用哪些数据集进行训练。像ImageNet或Coil-100等数据集被用于构建通用模型,并且可能需要相当长的时间,并且在大多数情况下,时间可以跨越1-2天,而像mnist或nist这样的数据集应该不超过20分钟训练对于像GTX 1060这样的怪物来说。因此,如果数据集的大小超过2 GB,那么这里主要需要检查一下,如果训练阶段需要6个小时左右,但是如果小于那么那么几乎没有问题其他事情和调整模型,你可以做的,以减少时间跨度。

人工智能教程:任何卷积神经网络在GPU上训练6个小时是否正常?我在我的笔记本电脑上安装了GTX 1060 6GB,并且图像分类器CNN型号花费了太多时间。既然你使用的是CNN,你必须理解诸如训练/测试拆分,学习速度,减少高原时期,时代,数据增加,密集层和退出等条件。还有很多其他因素,但让我们主要关注这些因素以提高培训时间。训练/测试拆分:对于大型数据集,为了减少训练时间,选择拆分大小为0.3而不是0.2或0.1,这样,训练时间以模型性能为代价减少很多因素,但我们会谈到后来看看我们如何能够在培训的同时创造更多的数据。
学习率:这个因素并没有真正影响训练时间,而是我选择这个来指出不同的数据集要求不同的学习速率,所以使用一个常数值,如0.01或0.003或任何其他着名的学习速率值来训练你的模型不会真正帮助你,除非你找到最佳收敛,但是考虑到如果数据集太大,那么尝试不同的学习速度可能会变得非常麻烦,并且需要为相同的数据集重复尝试不同的学习速率耗时的。为此,我们在高原上有一些名为reduce lr的东西。我们将在下一点看到这一点。
降低高原上的lr - 当指标停止改进时,降低学习率。一旦学习停滞,模型通常会受益于将学习率降低2-10倍。这个回调监测数量,如果没有看到“耐心”数量的时期没有改善,则学习率降低。给你更好的融合。您将能够在Keras和Tensorflow中找到此回调函数。
数据扩充 - 为了获得更多数据,您只需对现有数据集进行小幅改动即可。轻微的变化,如翻转或翻译或旋转。无论如何,我们的神经网络会认为这些图像是截然不同一个卷积神经网络可以对对象进行鲁棒分类,即使它放置在不同的方向上也被称为具有称为不变性的属性。
密集层 - 在完成所有这些之后,您不需要在最后使用大量密集层,而是使用卷积和maxpooling,然后使用另一个卷积和最大池,然后紧接着输出层的密集层就足够了让您获得高于基准的准确度并缩短整体培训时间。
辍学 - 将辍学人数从0.2增加到0.25,以获得更好的训练时间并避免过度训练。
时代 - 将时代数量减少到30-35,以提高训练时间。这是我理想的数字。如果这不适合你,我很确定你会找到你的。
我们的优化目标是在模型损失较低的情况下追逐那个甜蜜点,当您的参数以正确的方式调整时发生。因此,不要增加层数来尝试设置超参数。此外,您需要的参数数量与您的模型必须执行的任务的复杂程度成正比。

还有其他一些因素,如批量标准化,随机采样,自然偏差,特征缩放,正则化术语,但除了特征缩放之外,这些都不是非常必要的,您需要几乎在任何地方都这样做。

训练所需的时间取决于许多因素。它取决于架构的种类,数据集的大小以及硬件。 6小时的训练时间并不算太长,但为了检查是否应该花费这么多时间,我建议您将时间与类似数据集上类似模型所用的时间进行比较。这可以粗略地了解一个粗略估计需要多少时间。再次,您可以查看超参数优化,通过缩短收敛时间来进一步缩短您的火车时间。

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则 返回列表 发新帖

admin当前离线
管理员

查看:19 | 回复:0

快速回复 返回顶部 返回列表