TensorFlow笔记之常见七个参数
2017-06-02 10:41
183 查看
对TensorFlow深度学习中常见参数的总结分析
神经网络中常见的参数有:初始学习率、学习率衰减率、隐藏层节点数量、迭代轮数、正则化系数、滑动平均衰减率、批训练数量
不同参数模型的效果比较
以前提到过,设计神经网络时候的
总结一下的话,激活函数和隐藏层对模型的效果带来质的飞跃;滑动平均模型、学习率衰减率、正则化项对最终正确率的提升效果不明显,但是需要解决的问题和使用的神经网络更加复杂时,这些优化方法将更有可能对训练效果产生更大的影响。
神经网络中常见的参数有:初始学习率、学习率衰减率、隐藏层节点数量、迭代轮数、正则化系数、滑动平均衰减率、批训练数量
七个参数。 对这七个参数,大部分情况下,神经网络的参数选优是通过
实验来调整的。 一个想法是,通过测试数据来评判参数的效果,但是这种方法会导致过拟合测试数据,失去评判未知数据的意义。而我们训练神经网络的目的,恰恰是为了预测未知数据。 所以,为了评判各种参数的效果,一般会从训练数据中抽取一部分作为验证数据。 验证数据的选取方法也是非常重要的,一般来说选取的验证数据分布越接近测试数据分布,模型在验证数据上的表现越可以体现模型在测试数据上的表现。
不同参数模型的效果比较
以前提到过,设计神经网络时候的
5种优化方法。一个是神经网络结构设计上,需要使用激活函数和多层隐藏层;另一个是,神经网路优化时,可以使用指数衰减的学习率、加入正则化的损失函数、滑动平均模型。 影响最大的是:调整神经网络的结构,包括隐藏层和激活函数。这说明,
神经网络的结构对最终模型的效果有本质影响。 另外的,滑动平均模型、指数衰减率和正则化项对正确率的提升并不是特别明显。这是因为
滑动平均模型和指数衰减的学习率在一定程度上都是限制神经网络中参数更新的速度。如果模型的收敛速度很快,这两种优化对最终模型的影响不大。 这两个个优化手段,能否说优化作用不大呢? 其实不是的。
当问题更加复杂时,迭代不会这么快接近收敛,这时候滑动平均模型和指数衰减的学习率可以发挥更大的作用。 还有一个正则化项,对模型效果带来的提升要相对显著。使用了正则化项损失函数的神经网络模型可以降低大约6%的错误率。 只优化交叉熵的模型可以更好的拟合训练数据(交叉熵损失更小),但是却不能很好的挖掘数据中潜在的规律来判断未知的测试数据,所以在测试数据上正确率低。
总结一下的话,激活函数和隐藏层对模型的效果带来质的飞跃;滑动平均模型、学习率衰减率、正则化项对最终正确率的提升效果不明显,但是需要解决的问题和使用的神经网络更加复杂时,这些优化方法将更有可能对训练效果产生更大的影响。
相关文章推荐
- TensorFlow笔记之常见七个参数
- Tensorflow使用笔记(1) 怎么保存和使用训练好的参数和模型
- 常见优化算法 (tensorflow对应参数)
- 常见优化算法 (caffe和tensorflow对应参数)
- tensorflow 学习笔记(九)- 参数初始化(initializer)
- Tensorflow 常见参数
- tensorflow 笔记12:函数区别:placeholder,variable,get_variable,参数共享
- tensorflow 学习笔记(十)- 参数和特征的提取
- VB打印参数笔记
- 可变参数学习笔记
- [MDX学习笔记之一]MDX中一些常见的计算
- Shell 编程学习笔记:脚本输入参数
- shell编程笔记(一)--shell参数
- [Remoting FAQ]传递Remoting参数时遇到的两种常见错误
- 学习笔记:[Microsoft][ODBC Microsoft Access Driver] 参数不足,期待是 1。
- 可变参数学习笔记
- “UNIX系统开发-gcc参数详解学习笔记
- linux学习笔记--常见问题解决方法
- C#学习笔记一--C#中的参数传递
- asp常见错误参数1