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

Deep learning 如何选择小数据集神经网络的超参数和策略?,deep-learning,batchsize,Deep Learning,Batchsize,我目前正在做语义分割,但是我的数据集非常小 我只有大约700张带有数据增强功能的图像,例如,翻转可以 让它成为2100张图片 不确定这是否足以完成我的任务(语义分段和四个 课程) 我想使用批量标准化和小批量梯度下降 真正让我抓狂的是如果批量太小 批量规范化不太好,但如果批量较大 它似乎相当于全批量梯度下降 我想知道样品和批次之间是否有类似的标准比率 大小?首先让我谈谈你问题的第二部分“小数据集神经网络策略”。您可能希望在较大的数据集上建立一个预训练的网络,并使用较小的数据集对该网络进行微调。例如

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

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

让它成为2100张图片

不确定这是否足以完成我的任务(语义分段和四个

课程)

我想使用批量标准化和小批量梯度下降

真正让我抓狂的是如果批量太小

批量规范化不太好,但如果批量较大

它似乎相当于全批量梯度下降

我想知道样品和批次之间是否有类似的标准比率
大小?

首先让我谈谈你问题的第二部分“小数据集神经网络策略”。您可能希望在较大的数据集上建立一个预训练的网络,并使用较小的数据集对该网络进行微调。例如,请参见

第二,您询问批次的大小。事实上,较小的批次将使算法在最优值附近徘徊,就像经典的随机梯度下降一样,其标志是损失的噪声波动。而对于较大的批量,通常会有一个更“平滑”的轨迹走向最佳。在任何情况下,我建议您使用具有动量的算法,例如。这将有助于你的训练的衔接


试探性地说,批量大小可以保持在GPU内存可以容纳的范围内。如果GPU内存不足,那么批量大小就会减少。

是的,第一部分我还有一个问题,我听说人们冻结了预先训练好的网络,我不明白他们为什么这样做,对整个模型进行微调不是会产生更好的结果吗?第二,我很感激你的建议,我会用它的!感谢您给予的良好反馈!冻结预先训练的网络的一部分就是所谓的迁移学习。另一方面,微调允许修改权重。根据上下文的不同,这两种方法都是可以接受的。好的,我同意,非常感谢。