我实现了this paper's神经网络,用于脑电图分类有一些区别(见下)。 train_on_batch
的性能出色,损耗极低-但是test_on_batch
的性能虽然在相同数据上却很差:网络似乎总是预测为'1',大多数情况下时间:
TRAIN (loss,acc) VAL (loss,acc)
'0' -- (0.06269842,1) (3.7652588,0)
'1' -- (0.04473557,1) (0.3251827,1)
一次将来自32个(= batch_size)数据集的30秒分段(12000个时间步)(每个数据集10分钟)作为数据馈入()
有什么补救办法吗?
其他详细信息:
BatchNormalization
reset_states()
在不同数据集之间应用
答案 0 :(得分:0)
我无意中把一个sigma=52
留在了一个非标准化样品中(每批32个),这严重破坏了BN
层;在标准化之后,我不再观察到训练模式和推理模式之间的巨大差异-如果有的话,很难发现任何差异。
此外,整个预处理过程都是非常错误的-正确地重做后,问题不再出现。作为调试提示,请尝试确定在推理期间是否有任何特定的训练数据集会急剧改变图层的激活。