基于DQN强化学习的高速路决策控制

基于DQN强化学习的高速路决策控制

依赖包

gym == 0.21.0
stable-baselines3 == 1.6.2
highway-env == 1.5

环境测试

highway-env环境介绍:highway-env

import gym
import highway_env


# Create environment
env = gym.make('highway-fast-v0')

eposides = 10
rewards = 0
for eq in range(eposides):
    obs = env.reset()
    done = False
    while not done:
        action = env.action_space.sample()
        obs, reward, done, info = env.step(action)
        env.render()
        rewards += reward
print(rewards/eposides)

目标车辆随机选取动作,测试视频如下highway_fast_test:,由视频可知,随机选取的动作的平均奖励(Reward)为:9.800666098251863

DQN决策控制研究

模型训练

采用DQN算法进行目标车辆的决策控制,模型训练代码如下:

import gym
import highway_env
from stable_baselines3 import DQN


# Create environment
env = gym.make("highway-fast-v0")

model = DQN('MlpPolicy',
            env,
            policy_kwargs=dict(net_arch=[256, 256]),
            learning_rate=5e-4,
            buffer_size=15000,
            learning_starts=200,
            batch_size=32,
            gamma=0.8,
            train_freq=1,
            gradient_steps=1,
            target_update_interval=50,
            verbose=1,
            tensorboard_log="./logs")

model.learn(int(2e4))
model.save("highway_dqn_model")

模型测试

import gym
import highway_env
from stable_baselines3 import DQN
from stable_baselines3.common.evaluation import evaluate_policy


# Create environment
env = gym.make("highway-fast-v0")

# load model
model = DQN.load("highway_dqn_model", env=env)

mean_reward, std_reward = evaluate_policy(
    model,
    model.get_env(),
    deterministic=True,
    render=True,
    n_eval_episodes=10)

print(mean_reward)

模型测试视频如下highway_fast_valid:,可知训练后平均奖励为:18.4022157

后记

stable-baseline3: 手册
gym: 手册
highway-env: 手册

  • 2
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
Python 是一种脚本语言,广泛应用于各类编程和数据分析任务。在机器学习和人工智能领域,Python 也是一门常用的编程语言。基于 Python 的 gym-carracing 是 OpenAI Gym 的一个环境,用于模拟汽车驾驶场景。 这个自动驾驶项目的目标是让计算机通过机器学习算法来自动驾驶模拟的汽车。首先,我们需要安装 gym-carracing 环境及其相关依赖库。然后,我们可以使用强化学习算法,比如深度强化学习算法(如深度 Q 网络),训练一个智能驾驶代理程序。 在训练过程中,代理程序会不断与环境进行交互,获取当前的观测状态,然后根据某种策略选择一个动作作为响应。之后,代理程序会根据环境给予的反馈来调整自己的策略和动作选择,以逐步提升驾驶技能。 在 gym-carracing 环境中,汽车会在一个虚拟的赛道上行驶,玩家需要使用方向键控制汽车的转向,以应对各种道路和弯道情况。在自动驾驶项目中,我们的目标是通过训练智能代理程序,使它能够自动控制汽车,适应不同的道路和驾驶情景,并以高效、安全的方式行驶。 该项目的难点在于设计和实现一个合适的驾驶策略,并通过强化学习算法不断优化代理程序的决策能力。为了取得好的效果,我们可能需要进行大量的训练和参数调整,并结合一些技巧和经验,优化代理程序的性能。 总而言之,Python 和 gym-carracing 提供了一个有趣且实用的平台,可用于开发自动驾驶项目。通过合理的算法和大量的训练,我们希望能够训练出一个高效、智能的驾驶代理程序,使其能够在模拟环境中完成自动驾驶任务。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值