【发布时间】:2019-03-21 14:24:40
【问题描述】:
我目前正在做语义分割,但是我的数据集非常小,
我只有大约 700 张带有数据增强的图像,例如,翻转可以
制作 2100 张图片。
不确定它是否足以完成我的任务(四个语义分割
类)。
我想使用批量归一化和小批量梯度下降
真正让我头疼的是,如果批量太小,
批量归一化效果不佳,但批量较大,
似乎相当于全批梯度下降
我想知道#of 样本和批次之间是否存在标准比率之类的东西 尺寸?
【问题讨论】:
我目前正在做语义分割,但是我的数据集非常小,
我只有大约 700 张带有数据增强的图像,例如,翻转可以
制作 2100 张图片。
不确定它是否足以完成我的任务(四个语义分割
类)。
我想使用批量归一化和小批量梯度下降
真正让我头疼的是,如果批量太小,
批量归一化效果不佳,但批量较大,
似乎相当于全批梯度下降
我想知道#of 样本和批次之间是否存在标准比率之类的东西 尺寸?
【问题讨论】:
让我首先解决您问题的第二部分“具有小数据集的神经网络的策略”。您可能希望在较大的数据集上采用预训练网络,并使用较小的数据集微调该网络。例如,参见this tutorial。
其次,您询问批次的大小。实际上,较小的批次将使算法像经典随机梯度下降一样在最优值附近徘徊,其标志是损失的噪声波动。而对于较大的批量大小,通常会有一个更“平滑”的走向最优的轨迹。无论如何,我建议您使用具有动量的算法,例如Adam。这将有助于您的训练收敛。
启发式地,批量大小可以保持在您的 GPU 内存可以容纳的范围内。如果 GPU 内存量不足,则减少批大小。
【讨论】: