【问题标题】:What is the concept of mini-batch for FCN (semantic segmentation)?FCN(语义分割)的 mini-batch 是什么概念?
【发布时间】:2017-07-30 11:40:29
【问题描述】:

当我们将一张图像发送到 FCN 进行语义分割时,mini-batch 的概念是什么?

数据层中的默认值为batch_size: 1。这意味着每次前向和后向传递,都会将一张图像发送到网络。那么小批量的大小是多少?是图片的像素数吗?

另一个问题是,如果我们将几张图片一起发送到网上怎么办?会不会影响收敛?在一些论文中,我看到了20 图像的数量。

谢谢

【问题讨论】:

  • batch_size 等于 1 表示最小批量大小也为 1。
  • @MatiasValdenegro 非常感谢。

标签: deep-learning caffe pycaffe matcaffe


【解决方案1】:

批量大小是在单个训练操作中通过网络发送的图像数量。在图形卡或 cpu 集群上训练时,将一举计算所有样本的梯度,从而通过并行性获得巨大的性能提升。

批量大小对训练有多种影响。首先,它通过对批次中的梯度进行平均来提供更稳定的梯度更新。这可能是有益的,也可能是有害的。根据我的经验,它的益处大于有害,但其他人报告了其他结果。

为了利用并行性,批量大小主要是 2 的幂。所以是 8、16、32、64 或 128。最后,批量大小受显卡中 VRAM 的限制。卡片需要存储图的所有节点中的所有图像和结果,以及所有梯度。

这可能会爆炸得非常快。在这种情况下,您需要减小批量大小或网络大小。

【讨论】:

  • 感谢您的回复,图片segmentationclassification之间的小批量概念有什么区别吗?
  • 并非如此。在我看来,它在分割中更重要,因为类内差异通常更大。但在概念上没有区别
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-03-31
  • 2011-10-26
  • 1970-01-01
  • 2018-10-18
  • 2018-12-22
  • 2019-07-02
相关资源
最近更新 更多