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

免费网站如何做推广方案2022今天刚刚发生地震了

免费网站如何做推广方案,2022今天刚刚发生地震了,泸州市规划建设局网站,网站建设创意广告文章目录 前言理论篇:为什么需要 Double DQN?代码实现篇:构建一个 Double DQN 智能体2.1 项目设置与辅助函数2.2 环境 (Environment)2.3 DQN 的核心组件2.3.1 Replay Buffer (经验回放池)2.3.2 Q-Network (Q网络)2.3.3 The Double DQN Agent (Double DQN 智能体)训练与结果3…

文章目录

  • 前言
  • 理论篇:为什么需要 Double DQN?
  • 代码实现篇:构建一个 Double DQN 智能体
    • 2.1 项目设置与辅助函数
    • 2.2 环境 (Environment)
    • 2.3 DQN 的核心组件
      • 2.3.1 Replay Buffer (经验回放池)
      • 2.3.2 Q-Network (Q网络)
      • 2.3.3 The Double DQN Agent (Double DQN 智能体)
  • 训练与结果
    • 3.1 训练主循环
    • 3.2 超参数设置与执行
    • 3.3 结果分析
  • 总结


前言

欢迎来到“从代码学习深度强化学习”系列!在强化学习(RL)的世界里,Deep Q-Network (DQN) 算法无疑是一个里程碑,它巧妙地将深度学习的强大感知能力与Q-Learning的决策能力相结合,解决了许多之前无法攻克的复杂问题。

然而,经典的DQN算法并非完美无瑕。它存在一个众所周知的问题——Q值过高估计 (Overestimation)。这个问题会导致智能体的学习过程不稳定,甚至无法收敛到最优策略。为了解决这一挑战,研究者们提出了Double DQN,一个对原始DQN的优雅而高效的改进。

本篇博客旨在带领大家深入理解Double DQN的核心思想,并通过一个完整的、带有详细注释的PyTorch代码实例,从零开始构建、训练并评估一个Double DQN智能体。我们将以经典的Pendulum-v1环境为例,一步步揭开Double DQN如何通过解耦“动作选择”与“价值评估”来缓解过高估计问题,最终实现更稳定、更高效的学习。

无论您是RL的初学者,还是希望深化对DQN家族算法理解的实践者,相信通过本文的理论讲解和代码剖析,您都能对Double DQN有一个更透彻的认识。让我们开始吧!

完整代码:下载链接


理论篇:为什么需要 Double DQN?

在深入代码之前,我们首先需要理解Double DQN所要解决的核心问题。普通的DQN算法在更新Q值时,通常会系统性地高估动作的价值,这个问题在动作空间较大的任务中尤为严重。

让我们通过下面这张图文并茂的理论讲解来一探究竟。

普通DQN算法通常会导致对Q值的过高估计 (overestimation)。传统DQN优化的TD误差目标为:

其中 max ⁡ a ′ Q ω − ( s ′ , a ′ ) \max_{a^{\prime}}Q_{\omega^{-}}\left(s^{\prime},a^{\prime}\right) maxaQω(s,a)由目标网络 (参数为ω⁻) 计算得出,我们还可以将其写成如下形式:

换句话说,max操作实际上可以被拆解为两部分:首先选取状态s’下的最优动作 a ∗ = arg ⁡ max ⁡ a ′ Q ω − ( s ′ , a ′ ) a^*=\arg\max_{a^{\prime}}Q_{\omega^-}\left(s^{\prime},a^{\prime}\right) a=argmaxaQω(s,a),接着计算该动作对应的价值 Q ω − ( s ′ , a ∗ ) Q_{\omega^-}\left(s^{\prime},a^*\right) Qω(s,a)。当这两部分采用同一套Q网络进行计算时,每次得到的都是神经网络当前估算的所有动作价值中的最大值。

问题在于,神经网络的估算值本身在某些时候会产生正向或负向的误差。在DQN的更新方式下,神经网络会正向误差累积。因为max操作会倾向于选择那些被“偶然”高估了价值的动作。因此,当我们用DQN的更新公式进行更新时,用于计算目标值的max Q本身就可能被高估了。同理,我们拿这个被高估的值来作为更新目标来更新上一步的值时,同样会过高估计,这样的误差将会逐步累积。对于动作空间较大的任务,DQN中的过高估计问题会非常严重,造成DQN无法有效工作。

为了解决这一问题,Double DQN算法提出利用两个独立训练的神经网络估算 max ⁡ a ′ Q ∗ ( s ′ , a ′ ) \max_{a^{\prime}}Q_*(s^{\prime},a^{\prime}) maxaQ(s,a)。具体做法是将原有的 max ⁡ a ′ Q ω − ( s ′ , a ′ ) \max_{a^{\prime}}Q_{\omega^{-}}\left(s^{\prime},a^{\prime}\right) maxaQω(s,a)更改为 Q ω − ( s ′ , arg ⁡ max ⁡ a ′ Q ω ( s ′ , a ′ ) ) Q_{\omega^-}\left(s^{\prime},\arg\max_{a^{\prime}}Q_\omega\left(s^{\prime},a^{\prime}\right)\right) Qω(s,argmaxaQω(s,a))

这个公式的核心思想是解耦(Decoupling)

  1. 动作选择 (Action Selection): 利用主网络(参数为ω)的输出来选取价值最大的动作,即 arg ⁡ max ⁡ a ′ Q ω ( s ′ , a ′ ) \arg\max_{a^{\prime}}Q_\omega\left(s^{\prime},a^{\prime}\right) argmaxaQω(s
http://www.hkea.cn/news/978612/

相关文章:

  • 北京住房投资建设中心网站首页快速排名怎么做
  • 中国网站制作 第一个佛山网站优化
  • thinkphp做的教育网站微商引流推广
  • 做特卖网站手机版电商最好卖的十大产品
  • 怎样做网站平叿trinseo公司
  • 北京大兴最专业的网站建设公司如何推广一个项目
  • 网页设计最牛的网站建设宁波网站优化公司哪家好
  • 建设通查询如何做网站推广及优化
  • 城乡建设网站首页百度seo收录软件
  • 永久免费建个人网站培训网站建设
  • 如何使用jq做弹幕网站好用的磁力搜索引擎
  • 南充营销型网站建设高端品牌网站建设
  • 制作小程序和网站的公司搜狗收录提交入口网址
  • 手机站电影基础建站如何提升和优化
  • 江苏 网站备案百度贴吧官网app下载
  • 网站制作三站湖南网站seo公司
  • 简单做任务赚钱网站企业管理培训课程报名
  • 零点研究咨询集团官方网站建设相似图片在线查找
  • 网站开发需要什么软件关键词app
  • 360全景网站建设做了5天游戏推广被抓了
  • 政府网站建设经验典型材料河源今日头条新闻最新
  • 为什么要进行网站备案佛山市人民政府门户网站
  • 摄影网站开发背景百度app交易平台
  • 吉林网站建设石家庄百度快照优化排名
  • 大学生网站开发总结报告app推广接单发布平台
  • 自己做的网站怎么推广seo顾问培训
  • 怎么做业务网站百度搜索提交入口
  • 网页设计网站图片西安百度推广运营公司
  • 济南网站开发推广网络服务包括
  • 五星级酒店网站建设关键词歌词表达的意思