专栏名称: 夕小瑶科技说
这里有自然语言处理、机器学习、算法的入门指导、科普与深度干货,有小夕的回忆与日常,还有最重要的:萌!气!
目录
相关文章推荐
混沌学园  ·  李善友:纯粹就是不藏私 ·  14 小时前  
上海家具展  ·  倒计时90天 | ... ·  昨天  
学习曾国藩  ·  曾国藩智慧:为人处世,要学会三不管! ·  4 天前  
混沌学园  ·  一文了解DeepSeek和OpenAI:企业 ... ·  2 天前  
淘卫周曝  ·  HIMARK汉玛克全球豪华体验馆落地成都,藏 ... ·  2 天前  
淘卫周曝  ·  HIMARK汉玛克全球豪华体验馆落地成都,藏 ... ·  2 天前  
51好读  ›  专栏  ›  夕小瑶科技说

训练神经网络时如何确定batch的大小?

夕小瑶科技说  · 公众号  ·  · 2017-07-07 23:18

正文

请到「今天看啥」查看全文


其实这两个做法就相当于:


第一种:

total = 旧参下计算更新值1+旧参下计算更新值2+...+旧参下计算更新值500 ;

新参数 = 旧参数 + total;

第二种:

新参数1 = 旧参数 + 旧参数下计算更新值1;

新参数2 = 新参数1 + 新参数1下计算更新值1;

新参数3 = 新参数2 + 新参数2下计算更新值1;

...

新参数500 =新参数500 + 新参数500下计算更新值1;

也就是说,第一种是将参数一次性更新500个样本的量,第二种是迭代的更新500次参数。当然是不一样的啦。

那么问题来了,哪个更好呢?

我们首先分析最简单的影响,哪种做法 收敛更快 呢?

我们假设每个样本相对于大自然真实分布的标准差为σ,那么根据概率统计的知识,很容易推出n个样本的标准差为 有疑问的同学快翻开概率统计的课本看一下推导过程)。


从这里可以看出,我们使用样本来估计梯度的时候,1个样本带来σ的标准差,但是使用n个样本区估计梯度 并不能让标准差线性降低 (也就是并不能让误差降低为原来的1/n,即无法达到σ/n),而n个样本的计算量却是线性的(每个样本都要平等的跑一遍前向算法)。







请到「今天看啥」查看全文