神经网络基础与TensorFlow实践
1. 神经网络参数调整实验总结
在手写数字识别的实验中,通过五种不同的改进方式,模型性能从90.71%提升到了97.82%。具体实验情况如下表所示:
| 模型 | 训练准确率 | 验证准确率 | 测试准确率 |
| — | — | — | — |
| 简单模型 | 89.96% | 90.70% | 90.71% |
| 两个隐藏层(128) | 90.81% | 91.40% | 91.18% |
| Dropout(30%) | 91.70% | 94.42% | 94.15% (200 epochs) |
| RMSProp | 97.43% | 97.62% | 97.64% (10 epochs) |
| Adam | 98.94% | 97.89% | 97.82% (10 epochs) |
然而,增加内部神经元数量和训练轮数,以及改变批量大小(BATCH_SIZE)的实验并没有带来显著的性能提升。增加内部神经元会使模型更复杂,计算成本更高,但收益甚微;增加训练轮数也有类似情况;改变BATCH_SIZE同样效果不明显。
1.1 隐藏神经元数量与准确率
需要注意的是,超过一定值后增加隐藏神经元数量可能会降低准确率,因为网络可能无法很好地泛化。
1.2 批量计算大小与准确率
梯度下降(GD)试图在训练集的所有示例和所有输入特征上最小化成本函数,而随机梯度下降(SGD)只考虑BATCH_SIZE个示例。在实验中,BATCH_SIZE = 64时达到了最佳准确率。
超级会员免费看
订阅专栏 解锁全文
1万+

被折叠的 条评论
为什么被折叠?



