每次只选取1个样本,然后根据运行结果调整参数,这就是著名的随机梯度下降(SGD),而且可称为批大小(batch size)为 1 的 SGD
  批大小,就是每次调整参数前所选取的样本(称为mini-batchbatch)数量:

  • 如果批大小为N,每次会选取N个样本,分别代入网络,算出它们分别对应的参数调整值,然后将所有调整值取平均,作为最后的调整值,以此调整网络的参数。
  • 如果批大小N很大,例如和全部样本的个数一样,那么可保证得到的调整值很稳定,是最能让全体样本受益的改变。
  • 如果批大小N较小,例如为1,那么得到的调整值有一定的随机性,因为对于某个样本最有效的调整,对于另一个样本不一定最有效(就像对于识别某张黑猫图像最有效的调整,不一定对于识别另一张白猫图像最有效)。

  那么批大小是否越大越好?绝非如此,很多时候恰好相反。合适的批大小对于网络的训练很重要。
  训练中的另一个重要概念是epoch。每学一遍数据集,就称为1个epoch。
  举例,若数据集中有1000个样本,批大小为10,那么将全部样本训练1遍后,网络会被调整1000/10=100次。但这并不意味着网络已达到最优,我们可重复这个过程,让网络再学1遍、2遍、3遍数据集。
  注意每一个epoch都需打乱数据的顺序,以使网络受到的调整更具有多样性。同时,我们会不断监督网络的训练效果。通常情况下,网络的性能提高速度会越来越慢,在几十到几百个epoch后网络的性能会趋于稳定,即性能基本不再提高。

最新文章

  1. c++内置函数---7
  2. dns 服务器配置
  3. apache-commons-net Ftp 进行文件、文件夹的上传下载及日志的输出
  4. vss使用详解
  5. 页面mask css
  6. Xcode8 注释快捷键无效, 解决方案
  7. svn笔记4属性Properties
  8. JAVA Struts2 搭建
  9. Web开发,浏览器通讯原理及流程那点事,你应该听说下
  10. Chapter 4 Invitations——11
  11. java,桶排序,冒泡排序,快速排序
  12. anaconda + VSCode + 生产环境配置
  13. go 单元测试时读取配置文件
  14. PC_android通信之传输图片并显示在手机端【转】
  15. CentOS6.5把MySQL从5.1升级到5.6后,MySQL不能启动
  16. 57. 三数之和 &&
  17. 微信扫码支付.net版本
  18. 无法获得锁 /var/lib/apt/lists/lock - open (11 资源临时不可用)
  19. C#连接SQL Server测试
  20. delphi 取json中数组的值(ISuperArray)

热门文章

  1. Docker入门第一章
  2. springboot整合javafx
  3. Http协议中的CharacterEncoding、Content-Encoding和Transfer-Encoding
  4. Pikachu-Over Permission模块
  5. 当Atlas遇见Flink——Apache Atlas 2.2.0发布!
  6. 分享一份【饿了么】Java面试专家岗面试题,欢迎留言交流哦!
  7. 分布式文件系统FastDFS搭建实操
  8. wpf 中的DataTemplate 绑定控件
  9. .Net Core 配置系统解析
  10. 参数化SQL