跟进我关于我的过度拟合网络的问题
我尝试了几件事:
- 简化架构
- 应用更多(和更多!)辍学
- 数据增强
但我总是得到类似的结果:训练准确率最终会上升,而验证准确率从未超过 ~70%。
我认为我对架构进行了足够的简化/应用了足够的 dropout,因为我的网络太笨了,无法学习任何东西并返回随机结果(3 类分类器 => 33% 是随机准确度),即使在训练数据集上也是如此:
我的问题是:这个 70% 的准确率是我的模型所能达到的最好的吗?
如果是 :
- 为什么训练准确率达到这么高的分数,为什么这么快,知道这个架构似乎不兼容?
- 我提高准确性的唯一选择是更改我的模型,对吗?
如果不 :
- 我有什么选择来提高这种准确性?
我尝试了一堆超参数,而且很多时候,取决于这些参数,准确率没有太大变化,总是达到 ~70%。但是我不能超过这个限制,即使我的网络似乎很容易达到它(收敛时间短)
编辑
这是混淆矩阵:
我不认为数据或类的平衡是这里的问题,因为我使用了一个众所周知/探索的数据集:SNLI Dataset
这是学习曲线:
注意:正如 Martin Thoma 的资源所指出的那样,我使用了准确性而不是错误率
实在是太丑了 我想这里有一些问题。也许问题是我对每个值都使用了 25 个 epoch 之后的结果。因此,在数据很少的情况下,训练准确率并没有时间真正收敛到 100% 的准确率。对于更大的训练数据,如前面的图表中所指出的,模型过拟合,所以准确度不是最好的。