深度学习问答

Q:数据拆分时为什么最好拆分成训练集、验证集、测试集,而不是训练集和测试集?

A:因为在开发模型的时候总是需要调节模型超参数,比如层数或层的大小。在调节超参数的过程中会将模型在验证数据上进行测试,这个调节过程本身也是一种学习,如果基于模型在验证集上的性能来调节超参数,会很快导致模型在验证集上过拟合,即使没有在验证集上训练。这是因为每次基于在验证集上的性能来调节超参数的时候,关于验证集的一些信息会泄露到模型中,如果调节超参数的次数比较少,泄露也少,使用验证集依然可以可靠评估模型,但是如果这个过程重复次数太多,那么会有越来越多关于验证集的信息泄露到模型中。

Q:dropout是如何缓解过拟合的?

A:在每个样本中随机删除不同的部分神经元,可以减少数据内部的一些偶然关联,以此来降低过拟合,其核心思想是在层的输出值中引入噪声,打破数据内部的一些偶然关联,如果没有噪声的话,网络会记住这些偶然关联。

Q:dropout在测试时应该如何处理?

A:在模型训练过程中,为了缓解过拟合,会使用dropout随机将部分神经元丢弃,在测试的时候没有神经元被丢弃,因此输出值需要按dropout比率缩小,因为此时有更多的单元被激活,需要加以平衡。或者可以在训练时,dropout之后除以比率,测试时不变。

Q:为什么有时候损失值没有降低,但是精度却反而提高了?

A:我们看到的损失值其实是所有损失的平均值,但是影响精度的是损失值的分布,而不是平均值,因为精度是模型在预测结果概率上,使用二值阈值判断得出的结果。

Q:使用下采样有什么好处?

A:减少需要处理的特征图元素个数,并且通过让连续卷积层的观察窗口越来越大(窗口覆盖原始输入的比例越来越大),从而引入空间过滤器的层级结构。

Q:在微调模型的时候,为什么不微调更多的网络层?

A:网络中更靠近底部(也就是靠近输入的网络层)的编码的是更加通用的可复用特征,而更靠近顶部的是更专业化的特征。微调这些专业化的特征更有用,微调靠近底层的层得到的回报较少,并且当数据集较少时容易出现过拟合。

猜你喜欢

转载自blog.csdn.net/LXYTSOS/article/details/97540996
今日推荐