小编Vir*_*rus的帖子

DQN Pytorch 损失持续增加

我正在使用 实现简单的DQN算法pytorch来解决来自 的 CartPole 环境gym。我已经调试了一段时间了,我不明白为什么模型没有学习。

观察结果:

  • 使用 的SmoothL1Loss性能比 差MSEloss,但两者的损失都会增加
  • 较小的LR不起作用Adam,我已经使用 0.0001、0.00025、0.0005 和默认值进行了测试

笔记:

  • 我已经单独调试了算法的各个部分,并且可以很有信心地说问题出在函数中learn。我想知道这个错误是否是由于我对detachpytorch 的误解或我犯的一些其他框架错误造成的。
  • 我试图尽可能接近原始论文(上面链接)

参考:

import torch as T
import torch.nn as nn
import torch.nn.functional as F

import gym
import numpy as np


class ReplayBuffer:
    def __init__(self, mem_size, input_shape, output_shape):
        self.mem_counter = 0
        self.mem_size = mem_size
        self.input_shape = input_shape

        self.actions = np.zeros(mem_size)
        self.states = …
Run Code Online (Sandbox Code Playgroud)

python machine-learning reinforcement-learning q-learning pytorch

6
推荐指数
1
解决办法
2376
查看次数