神经网络的权重不变

时间:2018-06-18 13:24:19

标签: tensorflow machine-learning neural-network deep-learning reinforcement-learning

我正在研究张量流项目,其中我在强化学习系统中有一个神经网络,用于预测Q值。我有50个输入和10个输出。有些输入在30-70范围内,其余输入在0-1之间,所以我只使用这个公式对第一组进行标准化:

  

x_new =(x - x_min)/(x_max - x_min)

虽然我知道神经网络的数学基础,但我没有在实际情况下应用它们的经验,所以我真的不知道我使用的超参数是否被正确选择。我目前的是:

  • 2个隐藏层,每个隐藏层有10个和20个神经元
  • 学习率0.5
  • 批量大小为10(我尝试了不同的值,直到256获得相同的结果)

我无法解决的问题是这个神经网络的权重仅在前两次或三次迭代中发生变化,之后保持不变。

我在其他帖子中读到的是该算法正在寻找局部最优,并且输入的归一化是解决它的好主意。但是,在对输入进行标准化后,我仍处于相同的状态。所以,我的问题是,如果有人知道问题可能在哪里,以及是否有任何其他技术(如规范化)我应该添加到我的管道。

我还没有在问题中添加任何代码,因为我认为我的问题相当概念化。但是,如果需要更多细节,我会插入它。

1 个答案:

答案 0 :(得分:0)

您可以查看一些指示:

  1. 有10个班级的50个输入数据点?...如果是这样的话,数据太小,以至于netowrk根本无法学习任何东西

  2. 您使用的是哪种激活功能。尝试ReLU而不是sigmoid或tanh: activation functions

  3. 您的网络有多深?也许你所有的偶像都消失或爆炸: vanishing or exploding gradients

  4. 检查您的训练数据是否过度。如果不是你的网络没有学习任何东西