如何处理回声状态网络中的随机化问题?

时间:2015-05-13 14:49:54

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

我在强化学习任务中使用回声状态网络(ESN)作为Q函数。在特定油藏拓扑结构的测试阶段,我设法实现了高精度,平均90%(光谱半径= 0.9,正则化系数= 10,#输入单位= 2,#输出单位= 1,#储存单位= 8,没有泄漏率。)

在100集的训练之后,该系统在测试阶段实现了高准确度。但是当我用不同的随机种子初始化网络权重时,它的行为变得非常不稳定,并且无法像以前那样实现高性能。我想知道如何克服这个随机性问题,并且ESN对于其输入和储层权重的不同随机初始化是稳健的,并且可以很好地推广?

这里我是如何初始化我的网络的。从正态分布中采样的输入权重和储层权重(均值= 0且std = 1)。输入权重矩阵用统一方差归一化,储层权重通过除以最大绝对特征值并乘以谱半径进行归一化。

提前致谢

Ramin

1 个答案:

答案 0 :(得分:0)

我倾向于同意你的意见:你的水库需要更多的神经元才能增加捕获正确动态的概率。 但是,关于你的第二个问题,我说这个原理与传统的前馈NN没有太大的不同,你需要经验参数搜索。更具体地说,对于ESN,我做了以下事情:

  • 如果您的ESN适用于某些随机种子但不适用于其他种子,请增加水库的大小
  • 如果您的ESN过度拟合(高训练性能和低测试性能),请增加正则化参数(对于您的NN,我认为BTW已经相当高,但这取决于您的数据集)
  • 如果您的ESN是"忘记"太快,增加光谱半径。请注意,在某些情况下,即使是大于1的值也是可以接受的。如果光谱半径已经太高而你仍然得到一个非常短期的记忆,那就包括泄漏率
  • 请注意,您还可以调整水库重量的稀疏度(更多稀疏度=减少混乱行为)