深度学习训练过程中的问题集锦

Q1 训练过程中loss为负数

【原因】输入的训练数据没有归一化造成
【解决方法】把输入数值通过下面的函数过滤一遍,进行归一化

#数据归一化
def data_in_one(inputdata):
    inputdata = (inputdata-inputdata.min())/(inputdata.max()-inputdata.min())
    return inputdata

Q2 怎么看loss和acc的变化

  • train loss 不断下降,test loss不断下降,说明网络仍在学习;
  • train loss 不断下降,test loss趋于不变,说明网络过拟合;
  • train loss 趋于不变,test loss不断下降,说明数据集100%有问题;
  • train loss 趋于不变,test loss趋于不变,说明学习遇到瓶颈,需要减小学习率或批量数目;
  • train loss 不断上升,test loss不断上升,说明网络结构设计不当,训练超参数设置不当,数据集经过清洗等问题。

未完待续

参考:【Keras情感分类】训练过程中出现的问题汇总

你可能感兴趣的:(深度学习)