网络在形状N的网格上训练良好,但在评估任何变化时都会失败

问题描述 投票:1回答:1

对于训练,我随机生成一个形状N的网格,其值为0和1.有两个动作被定义为[0,1],我想教一个策略使用DQN在下一个数字为1时采取行动0并采取行动1当数组中的下一个数字为0时。

我正在使用DQN,与Keras一起创建我的网络

Example :
N=11
grid=[ 0,1,0,1,1,1,1,0,0,0,0]
Agent mark = 0.5
start point=0
current state =[ 0.5,1,0,1,1,1,1,0,0,0,0]
action=[0,1]

考虑我们只移动到数组的右侧:下一步应该采取VALID操作0,导致以下状态:

Next state=[ 0,0.5,1,0,1,1,1,1,0,0,0]

这是通过体验重播来实施的。它训练得很好,我达到100%的胜率(通过连续10次解决相同的迷宫来计算。现在是时候根据这个网格的变化来评估它了:

[0,0,0,0,1,0,1,1,0,1,0]

从...开始

[0.5,0,0,0,1,0,1,1,0,1,0] 

网络无法预测正确的有效操作,在这种情况下为1。

我的网络看起来像这样:

Dense
Relu
Dense
Relu
Dense (number_of_actions)
python tensorflow keras reinforcement-learning q-learning
1个回答
0
投票

它学会了通过更多的培训来更好地预测。第一次评估是在培训8小时后完成的。经过近36个小时的训练,它也可以更好地预测变化!

© www.soinside.com 2019 - 2024. All rights reserved.