当前位置: 首页 > news >正文

惠州app网站建设排行榜湖南建设信息网站

惠州app网站建设排行榜,湖南建设信息网站,网站建设知名企业,网站搭建的流程及费用是多少?一.batch(批次) 在计算微分时,不是对所有的数据算出来的Loss值做微分,而是将所有的数据分成一个一个的batch。一个batch是一个B,在更新参数时,拿B的资料计算Loss,计算gradient,再更新…

一.batch(批次)

在计算微分时,不是对所有的数据算出来的Loss值做微分,而是将所有的数据分成一个一个的batch。一个batch是一个B,在更新参数时,拿B的资料计算Loss,计算gradient,再更新参数;另一组参数也是类似,拿B的资料计算Loss,计算gradient,再更新参数,以此类推。不会将所有的数据计算loss,而是将资料分成一个一个的batch。

  • 所有的batch计算过一遍就叫做一个epoch。在每一个epoch开始前,会分一次batch。
  • 每一个epoch分的batch都不一样。在把所有的资料分成一个一个的batch时,这个过程就叫做Shuffle

Small batch v.s. Large Batch

假设现在有20个训练资料,左边是没有用batch的(batch size就是全部的训练资料)、右边的batch size为1。左边的需要把所有的资料看过一次,才能计算loss值,计算gradient,然后更新一次参数。右边的更新一次参数只要一个B的batch资料,在一个epoch里面,就需要更新20次参数。

  • 比较1:Speed for one update:Large Batch的蓄力时间较长,因为需要把所有的资料都看过一遍。Small batch的蓄力时间短,每看到一笔资料就需要更新一次参数。
  • 比较2:Gredient:Large batch比较稳, Small Batch的就比较noisy。

  •  比较3:Time for one epoch:batch size 比较大的训练资料计算loss、gradient、更新参数的时间不一定比batch size 小的时间长

 以识别数字为例,在batch size为1-1000时相差不大(GPU可以做平行运算,所以计算1000个资料的时间并不是1个资料的1000倍),但是batch size超过一定界限,计算的时间会随着batch size的增大而增大。

 因为有平行运算的能力,当 batch size 小的时候,跑完一个epoch花费的时间比大的batch size的多。例如:batch size为1的时候与batch size为1000的时候时间差不多,但是,batch size为1的时候跑完一个epoch的时间为350+,batch size为1000的时候跑完一个epoch的时间只要20。这个时候 batch size 为1000的时间更短,更有效率。所以考虑平行运算时,batch size比较大的一个epoch花费的时间更少。

 综上来说,batch size 大的似乎更好,比较batch size 大小的好坏还需要考虑到稳定还是陡,比较陡的gradient反而可以帮助训练。

例如:左边为MNISTY的影像辨识例子、右边为CIFAR-10的影像辨识例子。横轴为batch size的大小,纵轴为正确率。batch size越大,validation上的结果就越差。在training上也是如此。这是optimization不理想所导致的问题。

  •  比较4:optimization:小的batch size更有利于训练

因为如果是full batch的话,沿着loss function更新参数,遇到local minima、saddle point时就无法用gradient decent的方法更新了。

如果是small batch的话,因为每次用一个batch来计算loss,根据loss来更新参数。每次更新参数用到的loss function都是有差异的,第一次用L1、第二次用L2。假设第一次更新时用L1计算gradient为0,这就卡住了。但是L2的gradient不一定为0,可以继续更新,所以比较陡的反而更有利于训练。

  •  比较5:Generalization:小的batch size对测试资料有帮助:

假8

为什么 小的batch size对测试资料有帮助呢?

 在Training loss上可能有很多的local minima,loss值趋近于0,如果一个local minima两边斜率很大,则这个local minima为sharp minima;如果一个local minima两边斜率很小,则这个local minima为flat minima。在Testing loss上,flat minima在Training loss和Testing loss上不会差很多;但是sharp minima在Training loss和Testing loss上会差很多。大的batch size会更容易得出sharp minima;小的batch size会更容易得出flat minima。

总结

在没有平行运算的情况下,Small Batch比 Large Batch更有效率;

在有平行运算的情况下,Small Batch与Large Batch运算时间没有太大差距,除非大的超出一定界限;

在一个epoch时间内,Large Batch比Small Batch更快,Large Batch更有效率;

Small Batch比较陡,Large Batch比较稳定;

比较noisy的batch size比比较stable 的batch size在训练和测试时占有优势。

2. momentum

Gradient Descent:

计算Gradient,沿着Gradient的反方向更新参数;再计算下一个位置的Gradient,沿着Gradient的反方向更新参数,以此类推。

 Gradient Descent + Momentum:

不是沿着Gradient的反方向更新参数,而是沿着Gradient的反方向加上前一步移动的方向的结果来更新参数。初始参数为 θ ,前一步的movement为0,计算 θ 的gradient,移动的方向为gradient的方向加上前一步的方向,以此类推。

http://www.yayakq.cn/news/668929/

相关文章:

  • 广东网站建设设计服务网站改版重新备案
  • 什么是网站前台静态化中企动力网站方案
  • 公司建设网站的好处山西城乡和住房建设厅网站首页
  • 内蒙古建设住房与城乡厅官方网站网站网页设计的要求
  • 哪些网站做的比较好看的图片做视频网站一般多少钱
  • 遵义市做网站公司能在线做英语题目的网站
  • 免费asp公司网站模板自学做网站需要学会哪些
  • 精美化妆品网站模板大型网站系统解决方案
  • 专业网站设计第三方江苏金安建设公司网站
  • 个人工作室网站上海建设银行网站转账记录查询
  • 怎么让公司网站显示官网万网怎么建设网站
  • 深圳自适应网站建设吕子乔做网站吹的语录
  • wordpress自动上传外链图片大连知名的seo外包
  • 防水网站建设国外服务器地址ip
  • 手机网站被自动跳转网站编辑没有经验可以做吗
  • 钟村免费建站公司网站首页调用网站标题
  • 印刷网站模板下载千页网素材官网入口
  • 手机网站刷排名wordpress user_activation_key
  • 最新网站建设视频wordpress主题透明
  • 免费建站的方法潍坊网站制作报价
  • 网站获取qq号码 代码游戏网页设计模板图片
  • 贸易公司网站建设价格推广注册app拿佣金平台
  • 广东省路桥建设发展有限公司网站网络维护与故障解决
  • 网站建设服务器要求上海门户网站制
  • 广州网站开发 英诺科技门户网站指的是什么
  • 查询成绩的网站怎么做一个网站如何做推广方案设计
  • 网站的建设费 账务处理网站后台无法上传图片
  • 专业商城网站制作免费广告投放平台
  • 网站ui升级怎么做网站备案帐号是什么情况
  • 怎么知道一个网站是哪家公司做的阿里万网怎么做网站