tensorflow 学习笔记-- 深度学习中epochs batchsize iteration的概念

深度学习框架中涉及很多参数,如果一些基本的参数如果不了解,那么你去看任何一个深度学习框架是都会觉得很困难,下面介绍几个新手常问的几个参数。

batch

深度学习的优化算法,说白了就是梯度下降。每次的参数更新有两种方式。

第一种,遍历全部数据集算一次损失函数,然后算函数对各个参数的梯度,更新梯度。这种方法每更新一次参数都要把数据集里的所有样本都看一遍,计算量开销大,计算速度慢,不支持在线学习,这称为Batch gradient descent,批梯度下降。

另一种,每看一个数据就算一下损失函数,然后求梯度更新参数,这个称为随机梯度下降,stochastic gradient descent。这个方法速度比较快,但是收敛性能不太好,可能在最优点附近晃来晃去,hit不到最优点。两次参数的更新也有可能互相抵消掉,造成目标函数震荡的比较剧烈。

为了克服两种方法的缺点,现在一般采用的是一种折中手段,mini-batch gradient decent,小批的梯度下降,这种方法把数据分为若干个批,按批来更新参数,这样,一个批中的一组数据共同决定了本次梯度的方向,下降起来就不容易跑偏,减少了随机性。另一方面因为批的样本数与整个数据集相比小了很多,计算量也不是很大。

基本上现在的梯度下降都是基于mini-batch的,所以深度学习框架的函数中经常会出现batch_size,就是指这个。
关于如何将训练样本转换从batch_size的格式可以参考训练样本的batch_size数据的准备

iterations

iterations(迭代):每一次迭代都是一次权重更新,每一次权重更新需要batch_size个数据进行Forward运算得到损失函数,再BP算法更新参数。1个iteration等于使用batchsize个样本训练一次。

epochs

为了获得性能良好的神经网络,网络定型过程中需要进行许多关于所用设置(超参数)的决策。超参数之一是定型周期(epoch)的数量.

epochs被定义为向前和向后传播中所有批次的单次训练迭代。这意味着1个epoch是整个输入数据的单次向前和向后传递。简单说,epochs指的就是训练过程中数据将被“轮”多少次。 亦即应当完整遍历数据集多少次(一次为一个epoch)。

如果epoch数量太少,网络有可能发生欠拟合(即对于定型数据的学习不够充分);如果epoch数量太多,则有可能发生过拟合(即网络对定型数据中的“噪声”而非信号拟合)。

举个例子

训练集有1000个样本,batchsize=10,那么:
训练完整个样本集需要:
100次iteration,1次epoch。

具体的计算公式为:
one epoch = numbers of iterations = N = 训练样本的数量/batch_size

注:

在LSTM中我们还会遇到一个seq_length,其实
batch_size = num_steps * seq_length

(0)

相关推荐

  • 【连载17】GoogLeNet Inception V2

    公众号后台回复"python",立刻领取100本机器学习必备Python电子书 GoogLeNet Inception V2在<Batch Normalization: Ac ...

  • epoch什么意思中文

    最佳答案:(1)batchsize:批大小.在深度学习中,一般采用SGD训练,即每次训练在训练集中取batchsize个样本训练:(2)iteration:1个iteration等于使用batchsi ...

  • 机器学习博士带你入门|一文学会如何在Keras中开发LSTMs(附代码)

    LSTM是一种时间递归神经网络,适合于处理和预测时间序列中间隔和延迟相对较长的重要事件.在自然语言处理.语言识别等一系列的应用上都取得了很好的效果. <Long Short Term Memor ...

  • 深度学习三十问!一位算法工程师经历30+场CV面试后总结的常见问题合集(含答案)

    作者丨灯会 来源丨极市平台 编辑丨极市平台 极市导读 作者灯会为21届中部985研究生,凭借自己整理的面经,去年在腾讯优图暑期实习,七月份将入职百度cv算法工程师.在去年灰飞烟灭的算法求职季中,经过3 ...

  • 【AI初识境】如何增加深度学习模型的泛化能力

    这是专栏<AI初识境>的第9篇文章.所谓初识,就是对相关技术有基本了解,掌握了基本的使用方法. 今天来说说深度学习中的generalization问题,也就是泛化和正则化有关的内容. 作者 ...

  • 学习笔记 | 家庭训练中的情绪调整

    2020年春节前夕,"新型冠状病毒"爆发,线下培训机构被迫停课,更多的孤独症孩子家长将目光投向远程家庭干预. A-IFSP-ASD已经进行了数日,在过去的这段时间里,凭着对孩子的爱 ...

  • 基于TensorFlow的分布式深度学习技术

    随着各大企业和研究机构在TensorFlow上训练越来越多的机器学习模型,项目的数据和计算能力需求正在急剧增加.在大部分情况下,模型是可以在单个或多 GPU 平台的服务器上运行的,但随着数据集的增大和 ...

  • 【学习笔记】卫星通信中调制解调性能的研究

    0 引言 卫星移动通信系统能够支持用户通信终端在任何地方任何时间实现相互通信,它是移动通信和卫星通信技术相互结合.促进.发展的一个产物.由于陆地移动通信系统是不可能覆盖到地球上所有区域的,卫星移动通信 ...

  • 学习笔记:海外并购中的法律风险

    上篇<学习笔记:海外并购中的政治风险>. 除了政治风险,海外并购中还有一种需要重点关注的风险是法律风险. 一.先看一个案例 2004年,中化国际曾经拟以5.6亿美元独资收购韩国仁川炼油公司 ...

  • 学习笔记:海外并购中的政治风险

    学习笔记:海外并购中的政治风险

  • 从“几何深度学习”看深度学习江湖的统一

    水木番 发自 凹非寺 量子位 报道 | 公众号 QbitAI 你能想象某一天打开深度学习的词条,发现: 深度学习的江湖已经能够被统一了吗? 几何学上的对称性可以玩转整个深度学习吗? 通过对称性和的变换 ...

  • 学习笔记:学习刚上手,出现许多小毛病,都是不细心的原因?

    学习笔记:学习刚上手,出现许多小毛病,都是不细心的原因? 最近这些天,从学生上交的作业中可以看出,学生的许多作业都开始出现了一些问题. 首先,积木搭建缺少配合与互动.比如只设计了角色造型切换,没有设计 ...

  • 变式学习与深度学习

    变式学习是一种比较有效的促进深度学习的教与学的方式,变式学习的一种操作方式--变式训练在中国传统的教学中是被教师们经常运用的一种方法,而且是被教学实践证明有效的促进学生深度理解的学习方法. 关于变式学 ...

  • 深度学习的深度学习路程

    MyEncyclopedia 公众号主浙大本硕毕业后在BAT做资深工程开发,精通Java,算法和大数据开发,本可以靠着工程能力成为P9,但出于对AI的强烈兴趣,在业余时间,自学多年,从理论到实践,并最 ...