小数据集神经网络如何选择超参数和策略?

How to choose the hyperparameters and strategy for neural network witg small dataset?

我目前正在做语义分割,但是我的数据集非常小,

我只有大约 700 张带有数据增强的图像,例如,翻转可以

使其成为 2100 张图像。

不确定它是否足以完成我的任务(语义分割有四个

类).

我想使用批量归一化和小批量梯度下降

真正让我摸不着头脑的是,如果batch size太小,

批量归一化效果不佳,但批量较大时,

似乎相当于全批梯度下降

我想知道 #of samples 和 batch 之间是否有类似标准比率的东西 尺码?

让我先回答你问题的第二部分"strategy for neural network with small dataset"。您可能希望在较大的数据集上采用预训练网络,并使用较小的数据集微调该网络。例如,参见 this tutorial

其次,你问的是batch的大小。事实上,较小的批次会使算法在经典随机梯度下降中徘徊在最佳值附近,其标志是损失的嘈杂波动。而对于更大的批量大小,通常会有更多 "smooth" 轨迹走向最佳。无论如何,我建议您使用具有动量的算法,例如 Adam。这将有助于您训练的收敛。

启发式地,批大小可以保持在您的 GPU 内存可以容纳的大小。如果 GPU 内存量不足,则减少批处理大小。