我正在使用一个新创建的激活函数训练MNIST数据集,该函数应用于一个8层(1568-784-512-256-128-64-32-10)全连接深度神经网络,如下图所示。这个函数看起来与ReLU有些相似,但在“拐点”处有一点曲线。
当我用它来训练5层、6层和7层的全连接神经网络时,运行良好。但问题出现在使用8层全连接神经网络时。网络仅在前几个epoch中学习,然后停止学习(测试损失显示为“nan”,测试准确率下降到9.8%)。为什么会发生这种情况?
我的其他配置如下:Dropout=0.5,权重初始化=Xavier初始化,学习率=0.1
回答:
我认为这是所谓的梯度消失问题,通常发生在深层网络中。解决这个问题没有固定的规则。我的建议是重新设计你的网络架构。
参见这里 [避免深度神经网络中的梯度消失