当我们将一个图像发送到FCN进行语义分割时,小批量的概念是什么?
数据图层中的默认值为batch_size: 1
。这意味着每次前进和后退传递,一个图像被发送到网络。那么迷你批量大小是多少?它是图像中的像素数吗?
另一个问题是如果我们将少量图像一起发送到网络会怎么样?它会影响收敛吗?在一些论文中,我看到20
图像的数量。
谢谢
答案 0 :(得分:3)
批量大小是在单个训练操作中通过网络发送的图像数量。一次性计算所有样本的梯度,在图形卡或cpu集群上进行训练时,通过并行性可以获得较大的性能提升。
批量大小对训练有多重影响。首先,它通过平均批次中的梯度来提供更稳定的梯度更新。这既有益又有害。根据我的经验,它更有益,然后有害,但其他人报告了其他结果。
为了利用并行性,批量大小通常为2的幂。因此,8,16,32,64或128.最后批量大小受图形卡中的VRAM限制。该卡需要将所有图像和结果存储在图形的所有节点以及所有渐变中。
这可能会非常快。在这种情况下,您需要减小批量大小或网络大小。