7模型训练
7.1 次数的定义
在训练的过程中, 我们会遇到两个关于次数的定义。 一个是 epoch, 一个是 batch。 这里,我们说它是怎么做的,然后解释它背后的思路。
假设,你的训练数据集中收集到了 100 笔输入数据。 开始时,你把这些输入数据 一笔笔送到模型中,计算一下其最后的损失值。 (这里的「计算」一词,文献中被称 evaluate.) 接着,把刚刚得到的这 100 个损失值求个平均值。 然后根据最小化损失的 原则, 把模型中的参数都用梯度下降法更新一遍。 我们把刚才这个过程称为第 1 遍 epoch。 早期数据量小,epoch 和 batch 是一回事。 如果你阅读的文献出版时间早,可 能也会用 batch 这个词。
接下来重复一遍刚刚的动作: 再把输入的训练数据集中的这 100 个数据再送进去 算一遍损失值。 然后计算损失平均值,按最小化损失的原则更新模型中的参数。 这是 第 2 遍 epoch。 理论上,你可一直这样训练下去。 我们把所有训练数据集中的数据全 部算一遍损失值(有时也称为全量数据),就称为一次 epoch。
为什么可以反复地把相同的数据放到同一个模型中训练呢你可以这样想:还拿 估算房价的例子, 前面的例子中考试卷子上只有一道题,现在呢, 我们一张卷子上 有 100 道题。 当你更新了模型参数后,也意味着你找到了前一个人A推荐的下一位专 家B。 所以,因为换了一个新人,你不得不推倒重来, 让他把卷子上 100 道题都重新 做一遍, 才能更好地评估当前这个人的专业水平。 这是不得已而为之的,是被迫的。 当然这个办法也有其优点,就是每次的评估比较全面。
但是后来,大数据的时代来了。
文章知识点与官方知识档案匹配,可进一步学习相关知识算法技能树首页概览33834 人正在系统学习中
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!