今天接着琢磨昨天的过拟合和参数选择问题。先查了资料,知道过拟合就是模型把训练数据学太死,记了很多没用的细节,导致测试数据不准。然后跟着教程加了个Dropout层,就是训练的时候随机让一部分神经元不工作,防止模型过度依赖某些特征,加完之后测试集准确率果然涨了一点,总算解决了小问题。
参数这块还是没头绪,昨天把卷积核数量从32改到64没效果,今天试了把卷积核尺寸从3×3换成5×5,训练更慢了,准确率反而掉了,又换回来。还调了池化窗口,发现2×2的效果就是比1×1好,具体为啥说不上来,纯靠试。
另外照着LeNet-5的完整结构搭了个模型,比之前多了一轮卷积池化,跑MNIST数据集准确率到了99%左右,比之前的简单模型强不少,总算有点成就感。