当前位置: 首页 > news >正文

网站建设模板简单百度知道首页官网

网站建设模板简单,百度知道首页官网,高邮城乡建设局 网站,编程课哪个机构最好DQN算法详解 一.概述 概括来说#xff0c;RL要解决的问题是#xff1a;让agent学习在一个环境中的如何行为动作(act)#xff0c; 从而获得最大的奖励值总和(total reward)。 这个奖励值一般与agent定义的任务目标关联。 agent需要的主要学习内容#xff1a;第一是行为策略…DQN算法详解 一.概述 概括来说RL要解决的问题是让agent学习在一个环境中的如何行为动作(act) 从而获得最大的奖励值总和(total reward)。 这个奖励值一般与agent定义的任务目标关联。 agent需要的主要学习内容第一是行为策略(action policy) 第二是规划(planning)。 其中行为策略的学习目标是最优策略 也就是使用这样的策略可以让agent在特定环境中的行为获得最大的奖励值从而实现其任务目标。 行为(action)可以简单分为 连续的如赛 车游戏中的方向盘角度、油门、刹车控制信号机器人的关节伺服电机控制信号。离散的如围棋、贪吃蛇游戏。 Alpha Go就是一个典型的离散行为agent。 DDPG是针对连续行为的策略学习方法。 二.DDPG的定义和应用场景 在RL领域DDPG主要从PG - DPG - DDPG 发展而来。 基本概念 PG R.Sutton 在2000年提出的Policy Gradient 方法是RL中学习连续的行为控制策略的经典方法其提出的解决方案是 通过一个概率分布函数 来表示每一步的最优策略 在每一步根据该概率分布进行action采样获得当前的最佳action取值即 生成action的过程本质上是一个随机过程最后学习到的策略也是一个随机策略(stochastic policy). DPG Deepmind的D.Silver等在2014年提出DPG Deterministic Policy Gradient 即确定性的行为策略每一步的行为通过函数μ 直接获得确定的值 这个函数μ即最优行为策略不再是一个需要采样的随机策略。 为何需要确定性的策略简单来说PG方法有以下缺陷 即使通过PG学习得到了随机策略之后在每一步行为时我们还需要对得到的最优策略概率分布进行采样才能获得action的具体值而action通常是高维的向量比如25维、50维在高维的action空间的频繁采样无疑是很耗费计算能力的在PG的学习过程中每一步计算policy gradient都需要在整个action space进行积分: DDPG Deepmind在2016年提出DDPG全称是Deep Deterministic Policy Gradient,是将深度学习神经网络融合进DPG的策略学习方法。 相对于DPG的核心改进是 采用卷积神经网络作为策略函数μ 和Q 函数的模拟即策略网络和Q网络然后使用深度学习的方法来训练上述神经网络。 Q函数的实现和训练方法采用了Deepmind 2015年发表的DQN方法 ,即 Alpha Go使用的Q函数方法。 1.DDQN解决问题方法 使用卷积神经网络来模拟策略函数和Q函数并用深度学习的方法来训练证明了在RL方法中非线性模拟函数的准确性和高性能、可收敛 而DPG中可以看成使用线性回归的机器学习方法使用带参数的线性函数来模拟策略函数和Q函数然后使用线性回归的方法进行训练。experience replay memory的使用actor同环境交互时产生的transition数据序列是在时间上高度关联(correlated)的如果这些数据序列直接用于训练会导致神经网络的overfit不易收敛。 DDPG的actor将transition数据先存入experience replay buffer, 然后在训练时从experience replay buffer中随机采样mini-batch数据这样采样得到的数据可以认为是无关联的。target 网络和online 网络的使用 使的学习过程更加稳定收敛更有保障。 四、 代码详解 import gym import paddle import paddle.nn as nn from itertools import count from paddle.distribution import Normal import numpy as np from collections import deque import random import paddle.nn.functional as F # 定义评论家网络结构 # DDPG这种方法与Q学习紧密相关可以看作是连续动作空间的深度Q学习。 class Critic(nn.Layer):def __init__(self):super(Critic, self).__init__()self.fc1 nn.Linear(3, 256)self.fc2 nn.Linear(256 1, 128)self.fc3 nn.Linear(128, 1)self.relu nn.ReLU()def forward(self, x, a):x self.relu(self.fc1(x))x paddle.concat((x, a), axis1)x self.relu(self.fc2(x))x self.fc3(x)return x# 定义演员网络结构 # 为了使DDPG策略更好地进行探索在训练时对其行为增加了干扰。 原始DDPG论文的作者建议使用时间相关的 OU噪声 # 但最近的结果表明不相关的均值零高斯噪声效果很好。 由于后者更简单因此是首选。 class Actor(nn.Layer):def __init__(self, is_trainTrue):super(Actor, self).__init__()self.fc1 nn.Linear(3, 256)self.fc2 nn.Linear(256, 128)self.fc3 nn.Linear(128, 1)self.relu nn.ReLU()self.tanh nn.Tanh()self.noisy Normal(0, 0.2)self.is_train is_traindef forward(self, x):x self.relu(self.fc1(x))x self.relu(self.fc2(x))x self.tanh(self.fc3(x))return xdef select_action(self, epsilon, state):state paddle.to_tensor(state,dtypefloat32).unsqueeze(0)with paddle.no_grad():action self.forward(state).squeeze() self.is_train * epsilon * self.noisy.sample([1]).squeeze(0)return 2 * paddle.clip(action, -1, 1).numpy()# 重播缓冲区:这是智能体以前的经验 为了使算法具有稳定的行为重播缓冲区应该足够大以包含广泛的体验。 # 如果仅使用最新数据则可能会过分拟合如果使用过多的经验则可能会减慢模型的学习速度。 这可能需要一些调整才能正确。 class Memory(object):def __init__(self, memory_size: int) - None:self.memory_size memory_sizeself.buffer deque(maxlenself.memory_size)def add(self, experience) - None:self.buffer.append(experience)def size(self):return len(self.buffer)def sample(self, batch_size: int, continuous: bool True):if batch_size len(self.buffer):batch_size len(self.buffer)if continuous:rand random.randint(0, len(self.buffer) - batch_size)return [self.buffer[i] for i in range(rand, rand batch_size)]else:indexes np.random.choice(np.arange(len(self.buffer)), sizebatch_size, replaceFalse)return [self.buffer[i] for i in indexes]def clear(self):self.buffer.clear()# 定义软更新的函数 def soft_update(target, source, tau):for target_param, param in zip(target.parameters(), source.parameters()):target_param.set_value(target_param * (1.0 - tau) param * tau)# 定义环境、实例化模型env gym.make(Pendulum-v1) actor Actor() critic Critic() actor_target Actor() critic_target Critic()# 定义优化器 critic_optim paddle.optimizer.Adam(parameterscritic.parameters(), learning_rate3e-5) actor_optim paddle.optimizer.Adam(parametersactor.parameters(), learning_rate1e-5)# 定义超参数 explore 50000 epsilon 1 gamma 0.99 tau 0.001memory_replay Memory(50000) begin_train False batch_size 32learn_steps 0#writer LogWriter(logs)# 训练循环 for epoch in count():state env.reset()episode_reward 0for time_step in range(200):action actor.select_action(epsilon, state)next_state, reward, done, _ env.step([action])episode_reward rewardreward (reward 8.1) / 8.1memory_replay.add((state, next_state, action, reward))if memory_replay.size() 1280:learn_steps 1if not begin_train:print(train begin!)begin_train Trueexperiences memory_replay.sample(batch_size, False)batch_state, batch_next_state, batch_action, batch_reward zip(*experiences)batch_state paddle.to_tensor(batch_state, dtypefloat32)batch_next_state paddle.to_tensor(batch_next_state, dtypefloat32)batch_action paddle.to_tensor(batch_action, dtypefloat32).unsqueeze(1)batch_reward paddle.to_tensor(batch_reward, dtypefloat32).unsqueeze(1)# 均方误差 y - Q(s, a) y是目标网络所看到的预期收益 而 Q(s, a)是Critic网络预测的操作值。# y是一个移动的目标评论者模型试图实现的目标这个目标通过缓慢的更新目标模型来保持稳定。with paddle.no_grad():Q_next critic_target(batch_next_state, actor_target(batch_next_state))Q_target batch_reward gamma * Q_nextcritic_loss F.mse_loss(critic(batch_state, batch_action), Q_target)critic_optim.clear_grad()critic_loss.backward()critic_optim.step()#writer.add_scalar(critic loss, critic_loss.numpy(), learn_steps)# 使用Critic网络给定值的平均值来评价Actor网络采取的行动。 我们力求使这一数值最大化。# 因此我们更新了Actor网络对于一个给定状态它产生的动作尽量让Critic网络给出高的评分。critic.eval()actor_loss - critic(batch_state, actor(batch_state))# print(actor_loss.shape)actor_loss actor_loss.mean()actor_optim.clear_grad()actor_loss.backward()actor_optim.step()critic.train()#writer.add_scalar(actor loss, actor_loss.numpy(), learn_steps)soft_update(actor_target, actor, tau)soft_update(critic_target, critic, tau)env.render()if epsilon 0:epsilon - 1 / explorestate next_state#writer.add_scalar(episode reward, episode_reward, epoch)if epoch % 10 0:print(Epoch:{}, episode reward is {}.format(epoch, episode_reward))if epoch % 200 0:paddle.save(actor.state_dict(), model/ddpg-actor str(epoch) .para)paddle.save(critic.state_dict(), model/ddpg-critic str(epoch) .para)print(model saved!)
文章转载自:
http://www.morning.hsrpr.cn.gov.cn.hsrpr.cn
http://www.morning.gmmyn.cn.gov.cn.gmmyn.cn
http://www.morning.nckjk.cn.gov.cn.nckjk.cn
http://www.morning.tfwsk.cn.gov.cn.tfwsk.cn
http://www.morning.wfbs.cn.gov.cn.wfbs.cn
http://www.morning.tjndb.cn.gov.cn.tjndb.cn
http://www.morning.fsqbx.cn.gov.cn.fsqbx.cn
http://www.morning.zpzys.cn.gov.cn.zpzys.cn
http://www.morning.dmwck.cn.gov.cn.dmwck.cn
http://www.morning.zkgpg.cn.gov.cn.zkgpg.cn
http://www.morning.nrgdc.cn.gov.cn.nrgdc.cn
http://www.morning.wttzp.cn.gov.cn.wttzp.cn
http://www.morning.ckdgj.cn.gov.cn.ckdgj.cn
http://www.morning.2d1bl5.cn.gov.cn.2d1bl5.cn
http://www.morning.nqbcj.cn.gov.cn.nqbcj.cn
http://www.morning.qdzqf.cn.gov.cn.qdzqf.cn
http://www.morning.clndl.cn.gov.cn.clndl.cn
http://www.morning.psgbk.cn.gov.cn.psgbk.cn
http://www.morning.ntqlz.cn.gov.cn.ntqlz.cn
http://www.morning.gdgylp.com.gov.cn.gdgylp.com
http://www.morning.tbqbd.cn.gov.cn.tbqbd.cn
http://www.morning.wbrf.cn.gov.cn.wbrf.cn
http://www.morning.mcqhb.cn.gov.cn.mcqhb.cn
http://www.morning.cthkh.cn.gov.cn.cthkh.cn
http://www.morning.rfwgg.cn.gov.cn.rfwgg.cn
http://www.morning.clyhq.cn.gov.cn.clyhq.cn
http://www.morning.kdjtt.cn.gov.cn.kdjtt.cn
http://www.morning.gyzfp.cn.gov.cn.gyzfp.cn
http://www.morning.hhmfp.cn.gov.cn.hhmfp.cn
http://www.morning.tpssx.cn.gov.cn.tpssx.cn
http://www.morning.ndcjq.cn.gov.cn.ndcjq.cn
http://www.morning.mkygc.cn.gov.cn.mkygc.cn
http://www.morning.hhfqk.cn.gov.cn.hhfqk.cn
http://www.morning.dhckp.cn.gov.cn.dhckp.cn
http://www.morning.mqfw.cn.gov.cn.mqfw.cn
http://www.morning.cytr.cn.gov.cn.cytr.cn
http://www.morning.tsqrc.cn.gov.cn.tsqrc.cn
http://www.morning.cmdfh.cn.gov.cn.cmdfh.cn
http://www.morning.qynpw.cn.gov.cn.qynpw.cn
http://www.morning.qkdcb.cn.gov.cn.qkdcb.cn
http://www.morning.gbfuy28.cn.gov.cn.gbfuy28.cn
http://www.morning.hmlpn.cn.gov.cn.hmlpn.cn
http://www.morning.nmngq.cn.gov.cn.nmngq.cn
http://www.morning.tstkr.cn.gov.cn.tstkr.cn
http://www.morning.glncb.cn.gov.cn.glncb.cn
http://www.morning.xsqbx.cn.gov.cn.xsqbx.cn
http://www.morning.ypbp.cn.gov.cn.ypbp.cn
http://www.morning.nfsrs.cn.gov.cn.nfsrs.cn
http://www.morning.ptwqf.cn.gov.cn.ptwqf.cn
http://www.morning.mkygc.cn.gov.cn.mkygc.cn
http://www.morning.rbrd.cn.gov.cn.rbrd.cn
http://www.morning.zynjt.cn.gov.cn.zynjt.cn
http://www.morning.sqmlw.cn.gov.cn.sqmlw.cn
http://www.morning.tsmxh.cn.gov.cn.tsmxh.cn
http://www.morning.bdtpd.cn.gov.cn.bdtpd.cn
http://www.morning.symgk.cn.gov.cn.symgk.cn
http://www.morning.gmswp.cn.gov.cn.gmswp.cn
http://www.morning.jfjfk.cn.gov.cn.jfjfk.cn
http://www.morning.htqrh.cn.gov.cn.htqrh.cn
http://www.morning.guangda11.cn.gov.cn.guangda11.cn
http://www.morning.ljdjn.cn.gov.cn.ljdjn.cn
http://www.morning.sjqml.cn.gov.cn.sjqml.cn
http://www.morning.mkpqr.cn.gov.cn.mkpqr.cn
http://www.morning.cxnyg.cn.gov.cn.cxnyg.cn
http://www.morning.nclps.cn.gov.cn.nclps.cn
http://www.morning.wyrkp.cn.gov.cn.wyrkp.cn
http://www.morning.lrflh.cn.gov.cn.lrflh.cn
http://www.morning.tnthd.cn.gov.cn.tnthd.cn
http://www.morning.lmrcq.cn.gov.cn.lmrcq.cn
http://www.morning.ltbwq.cn.gov.cn.ltbwq.cn
http://www.morning.skdhm.cn.gov.cn.skdhm.cn
http://www.morning.skksz.cn.gov.cn.skksz.cn
http://www.morning.qlwfz.cn.gov.cn.qlwfz.cn
http://www.morning.tzpqc.cn.gov.cn.tzpqc.cn
http://www.morning.kdfqx.cn.gov.cn.kdfqx.cn
http://www.morning.nwqyq.cn.gov.cn.nwqyq.cn
http://www.morning.pqchr.cn.gov.cn.pqchr.cn
http://www.morning.dnjwm.cn.gov.cn.dnjwm.cn
http://www.morning.cprls.cn.gov.cn.cprls.cn
http://www.morning.symgk.cn.gov.cn.symgk.cn
http://www.tj-hxxt.cn/news/279819.html

相关文章:

  • 下载浙江平安建设信息系统网站律师做网络推广最好的网站有哪些
  • 常州网站建设基本流程wordpress咋样
  • 有域名 空间如何建网站购票网站模板
  • 做图兼职网站有哪些网站首页制作公司
  • 网站建设顾问英语wordpress模板首页是哪个文件
  • 三水建设网站做简单的网站首页
  • 浙江省建设科技推广中心网站企业网页设计模板素材
  • 做电影网站什么后果wordpress 拍卖主题
  • 企业培训机构排名厦门seo招聘
  • 摄影网站介绍国外画册设计网站
  • 网站优化方案基本流程石家庄网站建设找汉狮
  • 搜索引擎推广网站wordpress 经典案例
  • 做电影网站违法北京seo加盟
  • 简述网站建设的基本特征网页设计图片位置怎么设置
  • 电子商务网站开发费用入账生活中的电子商务有哪些
  • crm网站下载sanitize_user wordpress
  • 开源网站后台替代wordpress 搜索引擎
  • 网站建设整体情况介绍网页优化
  • ssh框架做的网站问题广州网站建设报价单
  • 网站建设与推广方案模板杭州做网站怎么收费
  • 建设网站八大员成绩查询大转盘网站程序
  • 找百度公司做网站怎么样网站建设的7种流程图
  • 雪白丰腴做美妇网站seo排名培训公司
  • 做外贸女装有哪些网站有哪些网站建设方案平台架构
  • 哪家做网站最好wordpress西部
  • 瑞安专业网站建设帝国网站网站手机版怎么做
  • 如何网站建设团队阿里巴巴1688官网网页版
  • 高端论坛网站建设电商哪个平台好
  • 模板做的网站如何下载地址泰州网站建设设计
  • 专业的企业网站优化公司网上做推广有没有好一点的平台