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

钉钉如何做自己的网站做seo是什么意思

钉钉如何做自己的网站,做seo是什么意思,深圳品牌策划公司推荐,北京市建设资格注册中心网站文章目录 前言理论篇:为什么需要 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/303601/

相关文章:

  • 手游门户网站建设appstore关键词优化
  • 齐河网站开发seo服务内容
  • 北京微信网站建设费用想卖产品怎么推广宣传
  • 网站上线的步骤厦门网站推广公司哪家好
  • 网站做app的软件有哪些百度一下你就知道下载
  • 界面设计的重要性百度seo关键词排名推荐
  • 股票做T网站直播营销
  • 北京手机网站建设公司排名技术优化seo
  • wordpress可爱的主题seo优化教程
  • 自己可以申请网站做外卖吗网站描述和关键词怎么写
  • 公司网站网页设计seo站长工具推广平台
  • 重庆南岸营销型网站建设公司哪家专业真实的网站制作
  • 郑州企业网站建设兼职推广渠道
  • 网站哪些数据优化大师的作用
  • 政府网站集约化建设总结营销软文推广平台
  • 学网站开发跟那个专业最相近百度站长平台注册
  • 网站开发python电脑培训班有哪些科目
  • 惠州响应式网站哪家好云盘搜索
  • spring做网站合肥seo排名收费
  • 做58网站怎么赚钱二十个优化
  • 做企业手机网站北京seo网站开发
  • 关于网站建设中原创文章的一些想法体育热点新闻
  • 天河做网站开发免费留电话号码的广告
  • 成都市金堂县网站建设免费seo在线工具
  • 计算机培训中心网站高端网站建设的公司
  • 成都建设路小学网站大作设计网站
  • 桂林创新大厦网站今日十大热点新闻事件
  • 做网站空间哪家好windows7系统优化工具
  • 网站建设首选公司seo推广一个月见效
  • 微信做模板下载网站有哪些推广网站要注意什么