深度学习中number of training epochs中的,epoc h到底指什么?
首先复习下神经网络的概念。
神经网络由一些相互链接的“神经元”组成。每个“神经元”有相应的权重。
神经网络的神奇之处就在于权重是通过训练自动得出的。所谓训练,就是让神经网络在训练数据集上跑一遍,看看损失函数的值怎么样。如果损失函数的值足够小,小到符合我们的需求,那就说明神经网络拟合得很好了,训练大功告成了(实际上并非如此,因为仅仅知道拟合得很好并不够,我们还要知道神经网络是不是拟合得太好了,也就是过拟合。所以还需要用测试数据集来测试是否过拟合。不过这里就姑且就当训练完成了把。)反之,如果损失函数的值不够小,那就还需要继续训练。
神经网络在训练数据集上跑一遍,称为一次迭代(iteration)。
那么epoch又是怎么回事?
我们知道,简单来说,深度学习就是很深很深的神经网络(这一说法并不准确,但姑且让我们这么说),也就是说,有很多层,每层可能有很多神经元,结构也可能比较复杂。然后相应的,数据集也可能比较大。那跑一遍(迭代)会比较慢。所以人们就想出了一个变通的办法,就是每次只使用数据集中的部分样本,这个数目就称为batch size。
虽然只使用了部分样本,但很多时候已经足以优化权重,降低损失函数了。这样训练效率高很多,训练时间也能缩短不少。
不过这样一来,一次迭代就不一定完整跑遍数据集中的所有样本了。那在比较的时候,就不太方便直接比较迭代次数了。
比如,假设深度神经网络A经过32次迭代损失函数的值足够低了,而深度神经网络B经过16次迭代损失函数的值足够低了,但实际上,A的batch size可能是256,而B的batch size可能是2048。所以直接比较A和B的迭代次数并没有什么意义。
所以就又提出了epoch这个概念,指数据集中的所有样本都跑过一遍。
那对于每次迭代都跑遍数据集中的样本的情况,epoch和迭代是一样的。否则的话,epoch就要换
算。上面的例子中,假设数据集的样本总数是4096,那A的1个epoch就需要16次迭代,而B的1个epoch只需要2次。也就是说,A经过2个epoch就训练好了,而B需要8个epoch。
深度学习中number of training epochs中的,epoc h到底指什么?相关推荐
- 【深度学习浅尝】web自动化测试中识别图片算术验证码
本文参考实验楼课程:Python实现深度神经网络. 声明 我也是机器学习零基础,在本次实践中,仅仅是个人对机器学习的理解,由于水平有限,难免存在不对之处.因此对机器学习中涉及到的原理和概念还是建议参考 ...
- Angel:深度学习在腾讯广告推荐系统中的实践
分享嘉宾:郭跃超 腾讯 应用研究员 编辑整理:康德芬 出品平台:DataFunTalk 导读:Angel是腾讯自研的分布式高性能的机器学习平台,支持机器学习.深度学习.图计算以及联邦学习等场景.Ang ...
- 深度学习在小分子药物研发中的应用
一.深度学习在小分子药物研发中的应用 二.深度学习工具 TensorFlow Python https://www.tensorflow.org/ ...
- 深度学习在美团配送ETA预估中的探索与实践
1.背景 ETA(Estimated Time of Arrival,"预计送达时间"),即用户下单后,配送人员在多长时间内将外卖送达到用户手中.送达时间预测的结果,将会以&quo ...
- 深度学习技术在脑机接口中的应用
大家好! Rose给大家分享一下深度学习技术在脑机接口中的应用. 什么是脑机接口? 脑机接口(BCI)是一种系统,可将受试者(人类或动物)的大脑活动模式提取并转换为用于交互式应用程序的消息或命令.脑活 ...
- 深度学习在遥感图像目标检测中的应用综述
深度学习在遥感图像目标检测中的应用综述 1 人工智能发展 1.1 发展历程 1.2 深度学习的应用 2 深度学习 2.1 机器学习概述 2.2 神经网络模型 2.3 深度学习 2.4 深度学习主要模型 ...
- 【C语言进阶深度学习记录】五 C语言中变量的属性
上一篇文章学习了C语言中的类型转换,点击链接查看:[C语言进阶深度学习记录]四 C语言中的类型转换. 文章目录 1 C语言的变量属性 1.1 auto关键字 1.2 register关键字 1.3 s ...
- 深度学习在美团配送ETA预估中的探索与实践 1
1.背景 ETA(Estimated Time of Arrival,"预计送达时间"),即用户下单后,配送人员在多长时间内将外卖送达到用户手中.送达时间预测的结果,将会以&quo ...
- 机器学习(Machine Learning)、深度学习(Deep Learning)、NLP面试中常考到的知识点和代码实现
网址:https://github.com/NLP-LOVE/ML-NLP 此项目是机器学习(Machine Learning).深度学习(Deep Learning).NLP面试中常考到的知识点和代 ...
最新文章
- git钩子放服务器_如何在GitLab中添加服务器端的预接收钩子?
- Swift - 类型属性(类静态属性)和类方法(类静态方法)
- wxWidgets:wxFileDirPickerEvent类用法
- CMFCColorDialog弹不出来或者CMFCColorButton的Other按钮无效
- LeetCode 63. 不同路径 II(DP)
- golang select default continue_Golang+VSCode环境配置
- iOS 关于TouchID指纹解锁的实现
- Oracle中常用的to_Char用法详解(有FMT的详细列表)
- php接口前端,php 接口与前端数据交互实现示例代码
- linux脚本中sed -i,Linux Shell 脚本之sed命令详解
- 小工具:(求ASCII码值)
- js如何实现数组随机排序【附洗牌算法心得】
- 手机打印文件_Android 手机打印文件_Android 手机连接打印机_手机端打印wordExcelPPT_华为P20连接打印机_惠普M1213nf MFP打印机无线打印
- ANSYS有限元分析
- 宏碁电脑BIOS没有usb启动项怎么办?
- 什么是CDN加速服务器?
- 工作4年从美团、360、陌陌、百度、阿里、京东面试程序员的回来感想
- Python爬虫:Scrapy 框架快速入门及实战演练
- BLS 签名和基于 BLS 签名的门限签名
- Linux网卡限速下载,端口限速下载脚本,网卡流量监控脚本