dqn系列梳理_[莫烦 PyTorch 系列教程] 4.5 – DQN 强化学习 (Reinforcement Learning)

这篇博客介绍了如何使用 PyTorch 实现 DQN(Deep Q-Network)强化学习算法,通过对比与 TensorFlow 的实现,强调 PyTorch 的简洁性。文章详细讲解了超参数设置、神经网络结构、DQN 体系,并提供了一个简单的 CartPole 游戏环境示例。作者还推荐了一个DQN 动画短片和强化学习教程,帮助理解 DQN 工作原理。
摘要由CSDN通过智能技术生成

Torch 是神经网络库, 那么也可以拿来做强化学习, 之前我用另一个强大神经网络库 Tensorflow来制作了这一个 从浅入深强化学习教程, 你同样也可以用 PyTorch 来实现, 这次我们就举 DQN 的例子, 我对比了我的 Tensorflow DQN 的代码, 发现 PyTorch 写的要简单很多. 如果对 DQN 或者强化学习还没有太多概念, 强烈推荐我的这个DQN动画短片(如下), 让你秒懂DQN. 还有强推这套花了我几个月来制作的强化学习教程!

模块导入和参数设置

这次除了 Torch 自家模块, 我们还要导入 Gym 环境库模块.

import torch

import torch.nn as nn

from torch.autograd import Variable

import torch.nn.functional as F

import numpy as np

import gym

# 超参数

BATCH_SIZE = 32

LR = 0.01 # learning rate

EPSILON = 0.9 # 最优选择动作百分比

GAMMA = 0.9 # 奖励递减参数

TARGET_REPLACE_ITER = 100 # Q 现实网络的更新频率

MEMORY_CAPACITY = 2000 # 记忆库大小

env = gym.make(\'CartPole-v0\') # 立杆子游戏

env = env.unwrapped

N_ACTIONS = env.action_space.n # 杆子能做的动作

N_STATES = env.observation_space.shape[0] # 杆子能获取的环境信息数

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18importtorch

importtorch.nnasnn

fromtorch.autogradimportVariable

importtorch.nn.functionalasF

importnumpyasnp

importgym

# 超参数

BATCH_SIZE=32

LR=0.01# learning rate

EPSILON=0.9# 最优选择动作百分比

GAMMA=0.9# 奖励递减参数

TARGET_REPLACE_ITER=100# Q 现实网络的更新频率

MEMORY_CAPACITY=2000# 记忆库大小

env=gym.make(\'CartPole-v0\')# 立杆子游戏

env=env.unwrapped

N_ACTIONS=env.action_space.n# 杆子能做的动作

N_STATES=env.observation_space.shape[0]# 杆子能获取的环境信息数

神经网络

DQN 当中的神经网络模式, 我们将依据这个模式建立两个神经网络, 一个是现实网络 (Target Net), 一个是估计网络 (Eval Net).

class Net(nn.Module):

def __init__(self, ):

super(Net, self).__init__()

self.fc1 = nn.Linear(N_STATES, 10)

self.fc1.weight.data.normal_(0, 0.1) # initialization

self.out = nn.Linear(10, N_ACTIONS)

self.out.weight.data.nor

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值