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

济南住建局官方网站找国外人做网站

济南住建局官方网站,找国外人做网站,中国最大的企业培训公司,怎样修改静态公司网站页面电话强化学习笔记之【DDPG算法】 文章目录 强化学习笔记之【DDPG算法】前言#xff1a;原论文伪代码DDPG算法DDPG 中的四个网络代码核心更新公式 前言#xff1a; 本文为强化学习笔记第二篇#xff0c;第一篇讲的是Q-learning和DQN 就是因为DDPG引入了Actor-Critic模型#x…强化学习笔记之【DDPG算法】 文章目录 强化学习笔记之【DDPG算法】前言原论文伪代码DDPG算法DDPG 中的四个网络代码核心更新公式 前言 本文为强化学习笔记第二篇第一篇讲的是Q-learning和DQN 就是因为DDPG引入了Actor-Critic模型所以比DQN多了两个网络网络名字功能变了一下其它的就是软更新之类的小改动而已 本文初编辑于2024.10.6 CSDN主页https://blog.csdn.net/rvdgdsva 博客园主页https://www.cnblogs.com/hassle 博客园本文链接 真 · 图文无关 原论文伪代码 上述代码为DDPG原论文中的伪代码 DDPG算法 需要先看 Deep Reinforcement Learning (DRL) 算法在 PyTorch 中的实现与应用【DDPG部分】【没有在选择一个新的动作的时候给policy函数返回的动作值增加一个噪音】【critic网络与下面不同】 深度强化学习笔记——DDPG原理及实现pytorch【DDPG伪代码部分】【这个跟上面的一样没有加噪音】【critic网络与上面不同】 【深度强化学习】(4) Actor-Critic 模型解析附Pytorch完整代码【选看】【Actor-Critic理论部分】 如果需要给policy函数返回的动作值增加一个噪音实现如下 def select_action(self, state, noise_std0.1):state torch.FloatTensor(state.reshape(1, -1))action self.actor(state).cpu().data.numpy().flatten()# 添加噪音上面两个文档的代码都没有这个步骤noise np.random.normal(0, noise_std, sizeaction.shape)action action noisereturn action DDPG 中的四个网络 注意这个图只展示了Critic网络的更新没有展示Actor网络的更新 Actor 网络策略网络 作用决定给定状态 ss 时应该采取的动作 aπ(s)aπ(s)目标是找到最大化未来回报的策略。更新基于 Critic 网络提供的 Q 值更新以最大化 Critic 估计的 Q 值。 Target Actor 网络目标策略网络 作用为 Critic 网络提供更新目标目的是让目标 Q 值的更新更为稳定。更新使用软更新缓慢向 Actor 网络靠近。 Critic 网络Q 网络 作用估计当前状态 ss 和动作 aa 的 Q 值即 Q(s,a)Q(s,a)为 Actor 提供优化目标。更新通过最小化与目标 Q 值的均方误差进行更新。 Target Critic 网络目标 Q 网络 作用生成 Q 值更新的目标使得 Q 值更新更为稳定减少振荡。更新使用软更新缓慢向 Critic 网络靠近。 大白话解释 ​ 1、DDPG实例化为actor输入state输出action ​ 2、DDPG实例化为actor_target ​ 3、DDPG实例化为critic_target输入next_state和actor_target(next_state)经DQN计算输出target_Q ​ 4、DDPG实例化为critic输入state和action输出current_Q输入state和actor(state)【这个参数需要注意不是action】经负均值计算输出actor_loss ​ 5、current_Q 和target_Q进行critic的参数更新 ​ 6、actor_loss进行actor的参数更新 action实际上是batch_actionstate实际上是batch_state而batch_action ! actor(batch_state) 因为actor是频繁更新的而采样是随机采样不是所有batch_action都能随着actor的更新而同步更新 Critic网络的更新是一发而动全身的相比于Actor网络的更新要复杂要重要许多 代码核心更新公式 t a r g e t ‾ Q c r i t i c ‾ t a r g e t ( n e x t ‾ s t a t e , a c t o r ‾ t a r g e t ( n e x t ‾ s t a t e ) ) t a r g e t ‾ Q r e w a r d ( 1 − d o n e ) × g a m m a × t a r g e t ‾ Q . d e t a c h ( ) target\underline{~}Q critic\underline{~}target(next\underline{~}state, actor\underline{~}target(next\underline{~}state)) \\target\underline{~}Q reward (1 - done) \times gamma \times target\underline{~}Q.detach() target ​Qcritic ​target(next ​state,actor ​target(next ​state))target ​Qreward(1−done)×gamma×target ​Q.detach() 上述代码与伪代码对应意为计算预测Q值 c r i t i c ‾ l o s s M S E L o s s ( c r i t i c ( s t a t e , a c t i o n ) , t a r g e t ‾ Q ) c r i t i c ‾ o p t i m i z e r . z e r o ‾ g r a d ( ) c r i t i c ‾ l o s s . b a c k w a r d ( ) c r i t i c ‾ o p t i m i z e r . s t e p ( ) critic\underline{~}loss MSELoss(critic(state, action), target\underline{~}Q) \\critic\underline{~}optimizer.zero\underline{~}grad() \\critic\underline{~}loss.backward() \\critic\underline{~}optimizer.step() critic ​lossMSELoss(critic(state,action),target ​Q)critic ​optimizer.zero ​grad()critic ​loss.backward()critic ​optimizer.step() 上述代码与伪代码对应意为使用均方误差损失函数更新Critic a c t o r ‾ l o s s − c r i t i c ( s t a t e , a c t o r ( s t a t e ) ) . m e a n ( ) a c t o r ‾ o p t i m i z e r . z e r o ‾ g r a d ( ) a c t o r ‾ l o s s . b a c k w a r d ( ) a c t o r ‾ o p t i m i z e r . s t e p ( ) actor\underline{~}loss -critic(state,actor(state)).mean() \\actor\underline{~}optimizer.zero\underline{~}grad() \\ actor\underline{~}loss.backward() \\ actor\underline{~}optimizer.step() actor ​loss−critic(state,actor(state)).mean()actor ​optimizer.zero ​grad()actor ​loss.backward()actor ​optimizer.step() 上述代码与伪代码对应意为使用确定性策略梯度更新Actor c r i t i c ‾ t a r g e t . p a r a m e t e r s ( ) . d a t a ( t a u × c r i t i c . p a r a m e t e r s ( ) . d a t a ( 1 − t a u ) × c r i t i c ‾ t a r g e t . p a r a m e t e r s ( ) . d a t a ) a c t o r ‾ t a r g e t . p a r a m e t e r s ( ) . d a t a ( t a u × a c t o r . p a r a m e t e r s ( ) . d a t a ( 1 − t a u ) × a c t o r ‾ t a r g e t . p a r a m e t e r s ( ) . d a t a ) critic\underline{~}target.parameters().data(tau \times critic.parameters().data (1 - tau) \times critic\underline{~}target.parameters().data) \\ actor\underline{~}target.parameters().data(tau \times actor.parameters().data (1 - tau) \times actor\underline{~}target.parameters().data) critic ​target.parameters().data(tau×critic.parameters().data(1−tau)×critic ​target.parameters().data)actor ​target.parameters().data(tau×actor.parameters().data(1−tau)×actor ​target.parameters().data) 上述代码与伪代码对应意为使用策略梯度更新目标网络 Actor和Critic的角色 Actor负责选择动作。它根据当前的状态输出一个确定性动作。Critic评估Actor的动作。它通过计算状态-动作值函数Q值来评估给定状态和动作的价值。 更新逻辑 Critic的更新 使用经验回放缓冲区Experience Replay从中采样一批经验状态、动作、奖励、下一个状态。计算目标Q值使用目标网络critic_target来估计下一个状态的Q值target_Q并结合当前的奖励。使用均方误差损失函数MSELoss来更新Critic的参数使得预测的Q值target_Q与当前Q值current_Q尽量接近。 Actor的更新 根据当前的状态state从Critic得到Q值的梯度即对Q值相对于动作的偏导数。使用确定性策略梯度DPG的方法来更新Actor的参数目标是最大化Critic评估的Q值。 个人理解 DQN算法是将q_network中的参数每n轮一次复制到target_network里面 DDPG使用系数 τ \tau τ来更新参数将学习到的参数更加soft地拷贝给目标网络 DDPG采用了actor-critic网络所以比DQN多了两个网络
http://www.hkea.cn/news/14357335/

相关文章:

  • 最经典最常用的网站推广方式巩义关键词优化推广
  • 网站空间申请企业网站建设合同书
  • 做网站是做广告吗软件生成器下载
  • html5做静态网站建站行业的乱象
  • 国外注册机网站动画设计专业就业前景和就业方向
  • 域名注册的网站个人网页设计作品欣赏图片
  • 如何做网站词库wordpress调用自定义分类标题
  • 新建的网站百度多久才会收录国内创意网站界面设计
  • 查看网站注册信息网站开发工具中的三剑客
  • 网站使用功能介绍是用什么软件做的怎么开一个网站平台
  • 合肥网站建设政务区电脑做视频的网站吗
  • 唐山网站主页制作新网站如何做推广软文
  • 淳安网站建设制作福州网站建设哪家好
  • 响应式培训网站模板下载昆明网站制作的教程
  • 竞赛网站建设风险评估网页设计图片轮播
  • 微信做模板下载网站有哪些内容企业内网 网站建设的解决方案
  • 快速网站空间代做标书网站
  • 网站开发百度云哪些人不适合学计算机
  • 2018年做网站如何选择商城网站建设
  • 合肥网站推广电话360优化大师下载官网
  • 2017网站备案抽查安庆经济开发区人才网
  • 网站是什么字体网站建设 前期资料
  • 网站开发 入门wordpress数据库修改后台密码
  • 威县做网站哪里便宜简述什么是网络营销
  • 做招标网站 如何绍兴网站制作工具
  • 做网站卖东西流程网络推广seo怎么弄
  • 深圳响应式网站制作本地使用宝塔安装wordpress
  • 阿里云网站建设的实训报告网站名称去哪里注册
  • 天翼云主机 网站服务器生产企业erp系统开发
  • 闵行网站建站多少钿深圳网站优化公司