深度神经网络无法学习

我正在使用一个新创建的激活函数训练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

enter image description here

enter image description here


回答:

我认为这是所谓的梯度消失问题,通常发生在深层网络中。解决这个问题没有固定的规则。我的建议是重新设计你的网络架构。

参见这里 [避免深度神经网络中的梯度消失

Related Posts

使用LSTM在Python中预测未来值

这段代码可以预测指定股票的当前日期之前的值,但不能预测…

如何在gensim的word2vec模型中查找双词组的相似性

我有一个word2vec模型,假设我使用的是googl…

dask_xgboost.predict 可以工作但无法显示 – 数据必须是一维的

我试图使用 XGBoost 创建模型。 看起来我成功地…

ML Tuning – Cross Validation in Spark

我在https://spark.apache.org/…

如何在React JS中使用fetch从REST API获取预测

我正在开发一个应用程序,其中Flask REST AP…

如何分析ML.NET中多类分类预测得分数组?

我在ML.NET中创建了一个多类分类项目。该项目可以对…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注