即使我只为下一步提供奖励,DQN如何预测未来的奖励

时间:2020-04-25 10:52:15

标签: python tensorflow machine-learning reinforcement-learning

我训练了一个代理商来玩CartPole游戏,但我仍然感到困惑。如果我只为下一步提供奖励,那么网络谁能为那个特定状态下的特工找出未来情节的未来奖励?

我知道我们正在尝试训练深度神经网络,以便在事件结束之前代理商遵循特定政策,从而预测未来的回报,并且在培训之后,网络将能够为代理商选择最佳行动。特定状态。

我还理解,在下面的代码摘录中,我们尝试从存储的状态中随机采样以避免过度拟合。 我不了解的是网络如何能够预测Q(s,a)。 有人可以向我解释model.fit的数据和标签吗?

def replay(self, batch_size):
            minibatch = random.sample(self.memory, batch_size)
            for state, action, reward, next_state, done in minibatch:
                target = reward
                if not done:
                  target = reward + self.gamma * \
                           np.amax(self.model.predict(next_state)[0])
                target_f = self.model.predict(state)
                target_f[0][action] = target
                self.model.fit(state, target_f, epochs=1, verbose=0)
            if self.epsilon > self.epsilon_min:
                self.epsilon *= self.epsilon_decay

https://keon.github.io/deep-q-learning/

0 个答案:

没有答案