Tensorflow下对RNN中Batch-size的测试和理解
来源:互联网 发布:云计算是什么意思啊 编辑:程序博客网 时间:2024/06/16 01:49
这篇笔记是基于tensorflow1.4版本,小白级别。代码是在网上下载的一个做mnist手写数字分类的LSTM,修改了两个小地方。
x = tf.split(x, n_steps, 0) cost = tf.reduce_mean(tf.nn.softmax_cross_entropy_with_logits(labels=y, logits=pred))
- Batch-size
增大 Batch_Size 有何好处?
内存利用率提高了,大矩阵乘法的并行化效率提高。跑完一次 epoch(全数据集)所需的迭代次数减少,对于相同数据量的处理速度进一步加快。在一定范围内,一般来说 Batch_Size 越大,其确定的下降方向越准,引起训练震荡越小。
盲目增大 Batch_Size 有何坏处?
内存利用率提高了,但是内存容量可能撑不住了。跑完一次 epoch(全数据集)所需的迭代次数减少,要想达到相同的精度,其所花费的时间大大增加了,从而对参数的修正也就显得更加缓慢。Batch_Size 增大到一定程度,其确定的下降方向已经基本不再变化。
这是一个损失函数局部优有“多坑人”和局部优“数目太多好难选”之间的竞争,竞争平衡点才是你最终的训练值。故此,最终的训练值是一个分布,大伙们一般取平均来证明自己的模型多牛逼。
物理上,就是能量(坑好深)和熵(选择多)的竞争结果,而且复杂系统中,能量和熵一辈子都在竞争,讨论自由能最小值在非凸问题上的意义,比直接讨论损失函数的最小值更有意义。
测试了一下不同大小的batch_size对收敛速度的影响,也不一定准确,尤其是批处理数量较大的时候,前两三次梯度方向的选择对收敛速度至关重要,但是批处理数据又是随机选择的,下面的表格可以作为大致参考
阅读全文
0 0
- Tensorflow下对RNN中Batch-size的测试和理解
- TensorFlow/Keras中CNN和RNN数据结构的理解
- caffe 中 Batch Size、Iterations、epoch 的理解、设置
- 深度学习中Batch size对训练效果的影响
- TensorFlow中RNN网络的实现和关键参数选择
- 如何理解TensorFlow中的batch和minibatch
- 如何理解TensorFlow中的batch和minibatch
- 如何理解TensorFlow中的batch和minibatch
- 对Tensorflow中tensor的理解
- batch size的作用
- tensorflow 中batch normalize 的使用
- RNN递归神经网络的直观理解:基于TensorFlow的简单RNN例子
- 神经网络训练中,Epoch、Batch Size和迭代
- Tensorflow的Batch Normalization
- Caffe:深度学习中 epoch,[batch size], iterations的区别
- Caffe:深度学习中 epoch,batch size, iterations的区别
- Caffe:深度学习中 epoch,[batch size], iterations的区别
- 深度学习中常见的相关概念及TensorFlow中的batch和minibatch
- 文章标题
- 页面布局(圣杯,双飞翼)
- Retrofit 2.0 使用教程
- SSM整合shiro实现多用户表多Realm统一登录认证(大章附代码)
- 苹果审核4.3拒绝,这些细节你一定要注意!
- Tensorflow下对RNN中Batch-size的测试和理解
- Android Studio中NDK环境配置
- sonar 服务器搭建 遇到各种问题
- Linux全网站重要数据备份解决方案
- 成年人的思想还能进步么?
- There are unrecoverable errors which must be corrected first
- A Research Problem UVA
- Linux 部署mysql
- Leetcode 算法题13