Machine learning 深度学习:具有keras的小数据集:局部极小值
在我的论文中,我正在运行一个用于序列到序列翻译用例的4层深层网络 最后阶段150 x Conv(64,5)x GRU(100)x softmax激活,损失为class='classifical_crossentropy' 训练损失和准确性非常快地以最佳方式收敛 其中,as验证损失和准确性似乎停留在val_acc 97至98.2范围内,无法超过该范围 我的模型是不是太合适了 已尝试在层之间退出0.2Machine learning 深度学习:具有keras的小数据集:局部极小值,machine-learning,neural-network,deep-learning,keras,minima,Machine Learning,Neural Network,Deep Learning,Keras,Minima,在我的论文中,我正在运行一个用于序列到序列翻译用例的4层深层网络 最后阶段150 x Conv(64,5)x GRU(100)x softmax激活,损失为class='classifical_crossentropy' 训练损失和准确性非常快地以最佳方式收敛 其中,as验证损失和准确性似乎停留在val_acc 97至98.2范围内,无法超过该范围 我的模型是不是太合适了 已尝试在层之间退出0.2 Output after drop-out Epoch 85/250 [=====
Output after drop-out
Epoch 85/250
[==============================] - 3s - loss: 0.0057 - acc: 0.9996 - val_loss: 0.2249 - val_acc: 0.9774
Epoch 86/250
[==============================] - 3s - loss: 0.0043 - acc: 0.9987 - val_loss: 0.2063 - val_acc: 0.9774
Epoch 87/250
[==============================] - 3s - loss: 0.0039 - acc: 0.9987 - val_loss: 0.2180 - val_acc: 0.9809
Epoch 88/250
[==============================] - 3s - loss: 0.0075 - acc: 0.9978 - val_loss: 0.2272 - val_acc: 0.9774
Epoch 89/250
[==============================] - 3s - loss: 0.0078 - acc: 0.9974 - val_loss: 0.2265 - val_acc: 0.9774
Epoch 90/250
[==============================] - 3s - loss: 0.0027 - acc: 0.9996 - val_loss: 0.2212 - val_acc: 0.9809
Epoch 91/250
[==============================] - 3s - loss: 3.2185e-04 - acc: 1.0000 - val_loss: 0.2190 - val_acc: 0.9809
Epoch 92/250
[==============================] - 3s - loss: 0.0020 - acc: 0.9991 - val_loss: 0.2239 - val_acc: 0.9792
Epoch 93/250
[==============================] - 3s - loss: 0.0047 - acc: 0.9987 - val_loss: 0.2163 - val_acc: 0.9809
Epoch 94/250
[==============================] - 3s - loss: 2.1863e-04 - acc: 1.0000 - val_loss: 0.2190 - val_acc: 0.9809
Epoch 95/250
[==============================] - 3s - loss: 0.0011 - acc: 0.9996 - val_loss: 0.2190 - val_acc: 0.9809
Epoch 96/250
[==============================] - 3s - loss: 0.0040 - acc: 0.9987 - val_loss: 0.2289 - val_acc: 0.9792
Epoch 97/250
[==============================] - 3s - loss: 2.9621e-04 - acc: 1.0000 - val_loss: 0.2360 - val_acc: 0.9792
Epoch 98/250
[==============================] - 3s - loss: 4.3776e-04 - acc: 1.0000 - val_loss: 0.2437 - val_acc: 0.9774
不,这并不过分。过度拟合仅在训练损失较低且验证损失较高时发生。这也可以被视为培训和验证准确性之间的一个巨大差异(在分类的情况下)。您介绍的案例非常复杂。为了回答您的问题,如果您的案例中确实发生了过度装配,您需要回答两个问题:
0.5
treshold)因此,在检查了这两个问题后,如果您的模型过拟合,您可能会得到一个答案。您所展示的行为真的很好,而真正的原因可能是验证集中很少有模式没有在培训集中得到适当的涵盖。但是,在设计机器学习解决方案时,您应该始终考虑到这一点。花时间检查模型上的不同排列。您观察到网络正在使用部分能力来学习BAI是正确的。尝试了各种型号的容量减少百分比进行验证。在较低的容量下,训练acc和验证精度同步移动。您对具有唯一模式的验证集的第二次观察也是正确的,手动验证这两个数据集花了时间。我们可以使用什么参数来检查序列到序列用例的过度拟合?