Я попытался сделать модель DQN для простой игры Cartpole, но после обучения ее для почти 3000 эпизодов она создает действительно странный график вознаграждения, и я не уверен, что это даже правильно тренироваться. Я посмотрел и пытался решить все эти проблемы, и это то, что я получил.
:
cartpole1:
env_id: CartPole-v1
replay_memory_size: 100000
mini_batch_size: 32
epsilon_init: 1
epsilon_decay: 0.9995
epsilon_min: 0.05
network_sync_rate: 10
lr: 0.001
discount_factor_g: 0.99
stop_on_reward: 100000
hidden_layers: 10
enable_double_dqn: True
< /code>
I've tried playing around with the hyperparameters (even copying the parameters from stable-baselines3), but it still does the same thing.
If it is normal, this training does seem excessively slow, so what would I need to do for quicker training? Increasing network_sync rate, decreasing the epsilon decay or something else. I'm really unsure.
After experimenting some more with the hyperparameters, I was able to get something much more sensible:
.
I slowed down the epsilon decay, increased the learning rate and increased the number of hidden layers.
Я попытался сделать модель DQN для простой игры Cartpole, но после обучения ее для почти 3000 эпизодов она создает действительно странный график вознаграждения, и я не уверен, что это даже правильно тренироваться. Я посмотрел и пытался решить все эти проблемы, и это то, что я получил.[code]dqn.py[/code]: [code]import torch from torch import nn import torch.nn.functional as F
class DQN(nn.Module): def __init__(self, state_dim, action_dim, hidden_dim=256): super(DQN, self).__init__()
if args.train: dql.run(is_training=True) else: dql.run(is_training=False, render=True) < /code> hyperparameters.yml[/code]: cartpole1: env_id: CartPole-v1 replay_memory_size: 100000 mini_batch_size: 32 epsilon_init: 1 epsilon_decay: 0.9995 epsilon_min: 0.05 network_sync_rate: 10 lr: 0.001 discount_factor_g: 0.99 stop_on_reward: 100000 hidden_layers: 10 enable_double_dqn: True < /code> I've tried playing around with the hyperparameters (even copying the parameters from stable-baselines3), but it still does the same thing. If it is normal, this training does seem excessively slow, so what would I need to do for quicker training? Increasing network_sync rate, decreasing the epsilon decay or something else. I'm really unsure. After experimenting some more with the hyperparameters, I was able to get something much more sensible: [img]https://i.sstatic.net/Ikfh9CWk.png[/img] . I slowed down the epsilon decay, increased the learning rate and increased the number of hidden layers.
Я пытался создать модель DQN для простой игры с тележкой, но после обучения почти 3000 эпизодов она выдает действительно странный график вознаграждений, и я не уверен, правильно ли она вообще тренируется.
Я видел другие сообщения, в которых у людей...
как я могу изменить начальную точку появления тележки при сбросе окружения? Мне нужно использовать собственное вознаграждение при тестировании. Вознаграждение типа:
def new_reward(state, x0):
s = state
theta = state
max_reward = 500
min_reward =...
Как изменить начальную точку появления тележки при сбросе окружения? Мне нужно использовать собственное вознаграждение при тестировании. Вознаграждение типа:
def new_reward(state, x0):
s = state
theta = state
max_reward = 500
min_reward = 0...
Я реализовал PPO для среды Cartpole-VO. Однако в определенных итерациях игры это не сходится. Иногда он застревает в локальном оптимуме. Я реализовал алгоритм, используя преимущество TD-0, т.е.
A(s_t) = R(t+1) + \gamma V(S_{t+1}) - V(S_t)
Вот мой...
Итак, я пытался решить проблему с картерами. Это общая проблема при работе с обучением подкрепления. По сути, у вас есть тележка, которая уравновешивает шест. Тележка может двигаться влево или вправо. Эпизод заканчивается, когда полюс падает. Весь...