神经网络越复杂 , 数据量越大 , 咱们须要在训练神经网络的过程上花费的时间也就越多. 缘由很简单, 就是由于计算量太大了. 但是每每有时候为了解决复杂的问题, 复杂的结构和大数据又是不能避免的, 因此咱们须要寻找一些方法, 让神经网络聪明起来, 快起来。那些能够加速神经网络训练的方法就叫作优化器(Optimizer) 推荐阅读:加速神经网络训练 (Speed Up Training)git
这个部分的理论知识实在太多了,我简单的整理了一点点,详见机器学习:各类优化器Optimizer的总结与比较 下面是TensorFlow中提供的相关优化器的APIgithub
tf.train.GradientDescentOptimizer
tf.train.AdadeltaOptimizer
tf.train.AdagradOptimizer
tf.train.AdagradDAOptimizer
tf.train.MomentumOptimizer
tf.train.AdamOptimizer
tf.train.FtrlOptimizer
tf.train.ProximalGradientDescentOptimizer
tf.train.ProximalAdagradOptimizer
tf.train.RMSPropOptimizer
复制代码
② 在收敛轨迹方面bash
其实从上述的两个可视化的例子中咱们就能够看到SGD的速度应该是最慢的,可是这并不影响他是咱们在实际使用中用到的最多的优化器。毕竟在实际使用中速度并非惟一决定因素,准确率才是。 因此说:网络