ddpg/Continuous control with deep reinforcement learning

2023-12-30 16:58

本文主要是介绍ddpg/Continuous control with deep reinforcement learning,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

  • 总结
  • 细节

总结

融合dqn buffer+actor/critic分别2个网络,连续的action(更新时不是 ∇ θ π ( a ∣ s ) \nabla_\theta\pi(a|s) θπ(as)了,而是 ∇ θ μ ( s ) \nabla_\theta\mu(s) θμ(s) μ \mu μ是actor网络)、连续的states

细节

之前的方法action都是离散的,这里可以解决连续action的问题

在这里插入图片描述

对action和critic分别建了2个网络,actor网络 μ , μ ′ \mu, \mu' μ,μ,critic网络 Q , Q ′ Q, Q' Q,Q,更新步骤为:

  1. 根据当前actor μ \mu μ及噪音 N t \mathcal{N}_t Nt选动作: a t = μ ( s t ) + N t a_t = \mu(s_t) + \mathcal{N}_t at=μ(st)+Nt
  2. 执行动作 a t a_t at获得reward r t r_t rt以及新的state s t + 1 s_{t+1} st+1
  3. buffer
  4. 从buffer中sample N个trajectory
  5. 计算 y i = r i + γ Q ′ ( s i + 1 , μ ′ ( s i + 1 ) ) y_i = r_i + \gamma Q'(s_{i+1}, \mu'(s_{i+1})) yi=ri+γQ(si+1,μ(si+1))
  6. 更新critic网络: L = 1 N ∑ i ( y i − Q ( s i , a i ) ) 2 L = \frac{1}{N}\sum_i(y_i - Q(s_i, a_i))^2 L=N1i(yiQ(si,ai))2
  7. 更新actor网络: ∇ θ μ ≈ 1 N ∑ i ∇ a Q ( s , a ) ∇ θ μ μ ( s ) \nabla_{\theta_\mu} \approx \frac{1}{N}\sum_i \nabla_aQ(s, a)\nabla_{\theta_\mu}\mu(s) θμN1iaQ(s,a)θμμ(s),作为对比,之前的policy gradient更新时是 ∇ θ μ ≈ 1 N ∑ i ∇ a Q ( s , a ) ∇ θ π ( a ∣ s ) \nabla_{\theta_\mu} \approx \frac{1}{N}\sum_i \nabla_aQ(s, a)\nabla_{\theta}\pi(a|s) θμN1iaQ(s,a)θπ(as)
  8. 更新critic, actor的target网络:
    θ Q ′ ← τ θ Q + ( 1 − τ ) θ Q ′ θ μ ′ ← τ θ μ + ( 1 − τ ) θ μ ′ \theta^{Q'} \leftarrow \tau\theta^Q + (1 - \tau)\theta^{Q'} \\ \theta^{\mu'} \leftarrow \tau\theta^\mu + (1 - \tau)\theta^{\mu'} \\ θQτθQ+(1τ)θQθμτθμ+(1τ)θμ

这篇关于ddpg/Continuous control with deep reinforcement learning的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/553475

相关文章

vue解决子组件样式覆盖问题scoped deep

《vue解决子组件样式覆盖问题scopeddeep》文章主要介绍了在Vue项目中处理全局样式和局部样式的方法,包括使用scoped属性和深度选择器(/deep/)来覆盖子组件的样式,作者建议所有组件... 目录前言scoped分析deep分析使用总结所有组件必须加scoped父组件覆盖子组件使用deep前言

MFC中Spin Control控件使用,同时数据在Edit Control中显示

实现mfc spin control 上下滚动,只需捕捉spin control 的 UDN_DELTAPOD 消息,如下:  OnDeltaposSpin1(NMHDR *pNMHDR, LRESULT *pResult) {  LPNMUPDOWN pNMUpDown = reinterpret_cast(pNMHDR);  // TODO: 在此添加控件通知处理程序代码    if

简单的Q-learning|小明的一维世界(3)

简单的Q-learning|小明的一维世界(1) 简单的Q-learning|小明的一维世界(2) 一维的加速度世界 这个世界,小明只能控制自己的加速度,并且只能对加速度进行如下三种操作:增加1、减少1、或者不变。所以行动空间为: { u 1 = − 1 , u 2 = 0 , u 3 = 1 } \{u_1=-1, u_2=0, u_3=1\} {u1​=−1,u2​=0,u3​=1}

简单的Q-learning|小明的一维世界(2)

上篇介绍了小明的一维世界模型 、Q-learning的状态空间、行动空间、奖励函数、Q-table、Q table更新公式、以及从Q值导出策略的公式等。最后给出最简单的一维位置世界的Q-learning例子,从给出其状态空间、行动空间、以及稠密与稀疏两种奖励函数的设置方式。下面将继续深入,GO! 一维的速度世界 这个世界,小明只能控制自己的速度,并且只能对速度进行如下三种操作:增加1、减

2024年 Biomedical Signal Processing and Control 期刊投稿经验最新分享

期刊介绍 《Biomedical Signal Processing and Control 》期刊旨在为临床医学和生物科学中信号和图像的测量和分析研究提供一个跨学科的国际论坛。重点放在处理在临床诊断,患者监测和管理中使用的方法和设备的实际,应用为主导的研究的贡献。 生物医学信号处理和控制反映了这些方法在工程和临床科学的界面上被使用和发展的主要领域。期刊的范围包括相关的评论论文(review p

Deep Ocr

1.圈出内容,文本那里要有内容.然后你保存,并'导出数据集'. 2.找出deep_ocr_recognition_training_workflow.hdev 文件.修改“DatasetFilename := 'Test.hdict'” 310行 write_deep_ocr (DeepOcrHandle, BestModelDeepOCRFilename) 3.推理test.hdev

Learning Memory-guided Normality for Anomaly Detection——学习记忆引导的常态异常检测

又是一篇在自编码器框架中研究使用记忆模块的论文,可以看做19年的iccv的论文的衍生,在我的博客中对19年iccv这篇论文也做了简单介绍。韩国人写的,应该是吧,这名字听起来就像。 摘要abstract 我们解决异常检测的问题,即检测视频序列中的异常事件。基于卷积神经网络的异常检测方法通常利用代理任务(如重建输入视频帧)来学习描述正常情况的模型,而在训练时看不到异常样本,并在测试时使用重建误

Learning Temporal Regularity in Video Sequences——视频序列的时间规则性学习

Learning Temporal Regularity in Video Sequences CVPR2016 无监督视频异常事件检测早期工作 摘要 由于对“有意义”的定义不明确以及场景混乱,因此在较长的视频序列中感知有意义的活动是一个具有挑战性的问题。我们通过在非常有限的监督下使用多种来源学习常规运动模式的生成模型(称为规律性)来解决此问题。体来说,我们提出了两种基于自动编码器的方法,以

COD论文笔记 Adaptive Guidance Learning for Camouflaged Object Detection

论文的主要动机、现有方法的不足、拟解决的问题、主要贡献和创新点如下: 动机: 论文的核心动机是解决伪装目标检测(COD)中的挑战性任务。伪装目标检测旨在识别和分割那些在视觉上与周围环境高度相似的目标,这对于计算机视觉来说是非常困难的任务。尽管深度学习方法在该领域取得了一定进展,但现有方法仍面临有效分离目标和背景的难题,尤其是在伪装目标与背景特征高度相似的情况下。 现有方法的不足之处: 过于

One-Shot Imitation Learning

发表时间:NIPS2017 论文链接:https://readpaper.com/pdf-annotate/note?pdfId=4557560538297540609&noteId=2424799047081637376 作者单位:Berkeley AI Research Lab, Work done while at OpenAI Yan Duan†§ , Marcin Andrychow