深度学习网络模型训练---收敛速度慢

问题

网络训练收敛速度慢

主要原因

模型的问题,训练迭代时含大量参数

最佳解决办法

优化算法模型

有技巧的解决办法

网络模型的优化,通常是比较难的。但可以通过其他方式来加速收敛速度

  1. 增大学习率
  2. 减小迭代次数
  3. **在迭代次数不变的情况下,去调节batch_size和epoch间比例
  4. **微调SGD参数,动量、学习率
  5. 及时释放不必要的内存开销,中间变量及时释放
  6. 简化程序代码,例如 改掉for循环,用switch等简单程序替代循环

例如:
同等设备同等情况下

在epoch=20000 batch_size=64 学习率Ir=0.1 时
迭代次数为20000*(训练images/64) 一次epoch需要 6min
程序总耗时 20000 * 6min=83.4 days

保持迭代次数和学习率不变, batch_size=5 时
则epoch=1563(迭代次数为1563*训练images/5) 一次epoch需要 13min
程序总耗时 1563 * 13min = 14.1 days

当epoch=1563 batch_size=5 学习率Ir=0.15 时
一次epoch需要 7 min
程序总耗时 1563 * 7min=7.6 days

当epoch=1563 batch_size=5 学习率Ir=0.15 边运行边释放中间变量数组内存 时
一次epoch需要 6 min 30s
程序总耗时 1563 * 6min30s=7 days

当epoch=1400 batch_size=5 学习率Ir=0.15 边运行边释放数组内存 时
程序总耗时 1400 * 6min30s=6.3 days

当epoch=1400 batch_size=5 学习率Ir=0.15 边运行边释放中间变量数组内存 简化程序 时
一次epoch需要 6 min 10s
程序总耗时 1400 * 6min10s=6 days

  • 6
    点赞
  • 47
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
一直以为机器学习的重点在于设计精巧、神秘的算法来模拟人类解决问题。学了这门课程才明白如何根据实际问题优化、调整模型更为重要。事实上,机器学习所使用的核心算法几十年来都没变过。 什么是机器学习呢?以二类分类监督学习为例,假设我们已经有了一堆训练数据,每个训练样本可以看作n维空间里的一个点,那么机器学习的目标就是利用统计算法算出一个将这个n维空间分成两个部分(也就是把空间切成两半)的分界面,使得相同类别的训练数据在同一个部分里(在分界面的同侧)。而所用的统计算法无非是数学最优化理论的那些算法,梯度下降法等等。 在机器学习的模型,神经网络是一个比较特殊的模型。因为它比较万能。万能二字可不是随便说说的,有定理为证,万能近似定理说,当神经网络的隐藏单元足够多,它就能逼近任意函数。也就是说,只要提供的训练数据量充足,就一定能用一个隐藏单元够多的神经网络去拟合这些训练数据。然而神经网络也有一个很严重的缺点:收敛速度太慢。这一缺点导致很长时间以来神经网络基本上都只能当作理论的标杆而很少被应用于实际问题。 近年来神经网络的兴起得益于三点:1. 算法进展;2. 大数据;3. 硬件提升。这三点使得神经网络(特别是深层网络)的训练速度大幅度提升。前面有说到,模型优化调整过程对于模型的建立至关重要。使用机器学习解决实际问题是一个持续迭代探索优化的过程,需要不断地试错。就好比在走迷宫,你不可能一开始就知道正确的路线在哪,只能加快步伐,尽可能快,尽可能早地走过每一条死路,并祈祷出口是存在着的。优化调整需要反复地训练模型,观察结果。在以前,一次训练可能耗时几个月甚至几年,这种情况下进行迭代调优的时间成本是不可接受的。而现在一次迭代可能只需要很短的一段时间,同时并发技术也使得同时训练不同参数的模型的方案变得可行。快速迭代,优化调整,使神经网络能够越来越多的应用于各种实际问题。 吴恩达的课程数学上是比较基础的。课程前面部分讲解了神经网络相关的主要算法,后面则侧重于讲工程上如何使用各种策略来调整优化模型使之能够快速地拟合实际问题。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值