Q-Learning, Double DQN与 Dueling DQN算法详解

DuelingDQN:提高QLearning鲁棒性 DuelingDQN:提高Q-Learning鲁棒性 作者:禅与计算机程序设计艺术 1. 背景介绍 强化学习作为一种有效的机器学习方法,在诸多领域都有着广泛的应用,如游戏AI、机器人控制、自动驾驶等。其中,基于价值函数的Q-Learning算法是强化学习中最 阅读详情

参考学习课程

David Silver Reinforcement Learning
李宏毅教授强化学习


Value-based

Value-based 与 Policy-based的区别在上一篇文章有介绍,而Q-learning 是 value-based 的方法。在这种方法中我们不是要训练一个 policy,而是要训练一个critic网络。critic 并不直接采取行为,只是对现有的 actor π \pi π,评价它的好坏。

Q-Learning

算法思想

Q Q Q即为 Q ( s , a ) Q(s,a) Q(s,a)就是在某一时刻的 s ( s ∈ S ) s(s\in S) s(s∈S)状态下,采取动作 a ( a ∈ A ) a (a\in A) a(a∈A)动作能够获得收益的期望,环境会根据agent的动作反馈相应的回报reward r r r。算法的主要思想就是将State与Action构建成一张Q-table来存储 Q Q Q值,然后根据 Q Q Q值来选取能够获得最大的收益的动作。

Value Function

critic 给出了一个 value function V π ( s ) V^\pi(s) Vπ(s),代表在遇到游戏的某个 state 后,采取策略为 π \pi π的actor一直玩到游戏结束,所能得到的 reward 之和。

计算 V π ( s ) V^\pi(s) Vπ(s)有两种方式

  1. Monte-Carlo (MC) based approach
    请添加图片描述
    将 S a S_{a} Sa​作为 V π V^{\pi} Vπ的输入并输出 V π ( S a ) V^{\pi}(S_{a}) Vπ(Sa​),而实际上应该得到的cumulative reward是 G a G_{a} Ga​。我们的目标就是通过训练让 V π ( S a ) V^{\pi}(S_{a}) Vπ(Sa​)越来越接近 G a G_{a} Ga​。
    MC 方法的问题在于最后得到的 G a G_{a} Ga​的方差很大。 G a G_{a} Ga​是在遇到 S a S_{a} Sa​的情况下使用策略 π \pi π的actor一直玩游戏直到结束得到的实际 reward,是一个随机变量,因为游戏是有随机性的,所以每一次得到 G a G_{a} Ga​是不一样的。
  2. Temporal-difference (TD) approach
    请添加图片描述
    MC-based的方法要求遇到 S a S_{a} Sa​后把游戏玩到结束,如果游戏太长的话,那就可能收集不到多少数据去让网络去拟合 G a G_{a} Ga​。而TD-based只需要从 S t S_{t} St​玩到 S t + 1 S_{t+1} St+1​就行。
    在TD中, V π ( S t ) = V π ( S t + 1 ) + r t V^{\pi}(S_{t})=V^{\pi}(S_{t+1})+r_{t} Vπ(St​)=Vπ(St+1​)+rt​,我们的目标就是通过训练让 V π ( S t ) − V π ( S t + 1 ) V^{\pi}(S_{t})-V^{\pi}(S_{t+1}) Vπ(St​)−Vπ(St+1​)越来越接近 r t r_{t} rt​。
    T方法f中有随机性的部分是 r t r_{t} rt​,它的方差比较小。但TD的问题在于 V π ( S t + 1 ) V^\pi(S_{t+1}) Vπ(St+1​)可能不准确。

Q Function

请添加图片描述
Q π ( s , a ) Q^{\pi}(s, a) Qπ(s,a)的输入是一对 ( s , a ) (s, a) (s,a),然后输出一个cumulated reward的期望值。如果action可以穷举,则可以使用下图右边的写法;否则,使用左边的写法。
请添加图片描述
Q-learning的基本学习步骤是:

  1. 使用一个初始的actor π \pi π与环境进行互动
  2. 学习该actor对应的 Q function
  3. 一定存在另外一个表现更好的 π ′ \pi' π′,用这个更好的 π ′ \pi' π′来替代原来的 π \pi π
  4. 重复上述步骤

更好的 π ′ \pi' π′的定义是:面对所有 state s s s时,使用 π ′ \pi' π′得到的value一定比使用策略 π \pi π得到的大,即 V π ′ ( s ) ≥ V π ( s ) V^{\pi'}(s)\geq V^{\pi}(s) Vπ′(s)≥Vπ(s)
更新Q Function的公式:
Q ( s t , a t ) = Q ( s t , a t ) + a ( R t + 1 + λ m a x a ′ Q ( s t + 1 , a ′ ) − Q ( s t , a t ) ) Q(s_t, a_t)=Q(s_t, a_t)+a(R_{t+1}+\lambda max_{a'}Q(s_{t+1}, a')-Q(s_t, a_t)) Q(st​,at​)=Q(st​,at​)+a(Rt+1​+λmaxa′​Q(st+1​,a′)−Q(st​,at​))
其中

  1. a a a参数用来表示新的值对更新后值所造成的影响大小
  2. γ \gamma γ是一个discount值

Q-learning的三个个小技巧

Target network

请添加图片描述
Q-function的训练,参考了TD的方法,即 Q π ( s t , a t ) = Q π ( s t + 1 , π ( s t + 1 ) ) + r t Q^{\pi}(s_{t}, a_{t})=Q^{\pi}(s_{t+1},\pi(s_{t+1}))+r_{t} Qπ(st​,at​)=Qπ(st+1​,π(st+1​))+rt​。但由于在训练的过程中, s t + 1 s_{t+1} st+1​和 π ( s t + 1 ) \pi(s_{t+1}) π(st+1​)是不断变化的,训练会比较困难。
所以:

  1. 将以 s t + 1 s_{t+1} st+1​、 a t + 1 a_{t+1} at+1​作为输入的网络(Target network)固定住,这样 r t + Q π ( s t + 1 , π ( s t + 1 ) ) r_{t} + Q^\pi(s_{t+1},\pi(s_{t+1})) rt​+Qπ(st+1​,π(st+1​))也变成一个固定的值,然后让以 s t s_t st​、 a t a_t at​作为输入的网络去拟合这个固定的值。
  2. 经过N次训练后,将左边的网络的参数覆盖掉Target network,形成新的Target network

Exploration

对于Q Function,它是policy的基础,这会导致actor每次都会选择具有更大Q值的行动action,对于收集数据而言是一个弊端,因为有可能有一个概率比较小的action其实具有更大的reward,我们可以采用以下方法解决:

Epsilon Greedy

在采取action的时候,actor会有 1 − ϵ 1-\epsilon 1−ϵ的概率选择使得Q值最大的 a a a,随着训练时间变长, ϵ \epsilon ϵ的值逐渐减小,在后期actor选择最大Q值对应的 a a a才会变大。
请添加图片描述

Boltzmann Exploration

根据概率分布进行采样
请添加图片描述

Replay Buffer

流程:

  1. 用 π \pi π和环境互动
  2. 将步骤1中互动得到的经验 ( s t , a t , r t , s t + 1 ) (s_t,a_t,r_t,s_{t+1}) (st​,at​,rt​,st+1​)放入一个 buffer (放在buffer里面的经验来自不同的policy,当buffer满了的时候,移除旧的经验。)
  3. 在每一次迭代中,学习并更新 Q π ( s , a ) Q^\pi (s,a) Qπ(s,a)(每次从buffer里面sample一个batch出来训练)
  4. 找到一个比 π \pi π更好的 π ′ \pi' π′
  5. 重复上述步骤

因为buffer里有采取不同policy的actor的exp,所以导致这个训练过程变成off-policy的。但是因为我们只用一个exp训练,并不是整个trajectory,所以off-policy也没关系。
这样的好处有:

  1. 训练过程中与环境交互很耗时间,而Replay Buffer可以使得之前的actor的exp被反复利用到,减少很Env互动次数;
  2. 增加数据多样性,降低batch内相关性,提高泛化性能,训练效果更好。

完整的Q-Learning

请添加图片描述

Double DQN

由于Q值总是基于使得Q最大的action得出的,因此会趋向于被高估,于是引入double DQN:

我们使用两个 Q Q Q function,一个用来选择行动action,另外一个用来计算Q值,通常会选择target network来作为另外一个用于计算 Q Q Q值的 Q ′ Q' Q′ function.
请添加图片描述

  1. 如果 Q Q Q高估了 a a a而被选择,Q’会给这个被选择的a一个合适的$Q值
  2. 如果 Q ’ Q’ Q’会高估某个action a a a,这个action并不会被Q选择到

Dueling DQN

Dueling DQN做得唯一一件事就是改变了network的架构 。
请添加图片描述
其中:

  1. V ( s ) V(s) V(s): 表示静态环境,状态 s s s所具有的价值.
  2. A ( s , a ) A(s,a) A(s,a): 表示在状态 s s s下采取行动 a a a时的Advantage Function

通常,在计算 A ( s , a ) A(s,a) A(s,a)时,使用单个行动对应的Advantage Value减去在该状态下采取所有行动所获得的Advantage Value的平均值,因此,对于一个状态下的所有action,具有零和特征。(normalise 在和 V ( s ) V(s) V(s)相加之间进行) 。同时,如果只需要通过改变 V ( s ) V(s) V(s)的值就能改变某个状态下所有的 Q Q Q

小技巧

Prioritized Experience Replay

之前在buffer中sample数据去训练network的时候,是无差别地sample每一笔数据,就是说没有偏向于sample哪些数据。

这样做的不足是:有时候因为sample到的某一笔训练数据质量不好,造成 Q ( s t , a t ) Q(s_t,a_t) Q(st​,at​)估测的值和 r t + Q ( s t + 1 , a t + 1 ) r_t + Q(s_{t+1},a_{t+1}) rt​+Q(st+1​,at+1​)的差距比较大(即TD error)。如果接下去还是无差别地sample每一笔数据,就会导致这些TD error比较大的情况没有得到更多更好的训练,就会导致Q network 在有些情况估值不准确。

使用Prioritized Reply后,对于那些会造成TD error的情况,就会倾向于sample更多相关的数据来训练network,使得network克服这个TD error。
请添加图片描述

N step bootstraping

MC是计算的在 s t s_t st​之后直到episode结束的所有reward,TD是计算 s t s_t st​到 s t + 1 s_{t+1} st+1​的reward。

Multi-step这个方法结合了MC和TD各自的特点,将TD改为计算 s t s_t st​到 s t + n s_{t+n} st+n​,即由原来跳到下一个状态,改为跳到之后 n n n个状态。
请添加图片描述

Noisy Net:

Noise on Action

请添加图片描述

Noise on Parameters

请添加图片描述

这个技术是为了改进exploration的。之前的exploration(epsilon greedy)是在action上做noise。而Noisy Net是在Q-function的参数上做noise。

在action上加noise,即epsilon-greedy,就算给出同一个state s s s,也会做出不同的action a a a,可能是按照Q-function的结果,也可能是以random得到的结果。这不符合实际的情况,因为实际上我们希望给出同一个state,都会做出同样的action。

而在Q-function的参数上加noise,因为在这个方法规定了只在一个episode开始前添加noise,不会在episode中途再增加noise,所以在episode中遇到同一个state都会做出同样的action。比如在一个episode中,遇到状态都采取 a 1 a_1 a1​的action,在另一个episode遇到状态都采取 a 2 a_2 a2​的action。

Distributional Q-function

使用同一policy的actor在同一个state采取同一个action,得到的cumulated reward是不同的,因为后续state具有随机性。它会呈现一个特定distribution,而Q-value就是这些分布取mean的结果。
请添加图片描述
缺点:即便mean相同,但是可能实际的分布是完全不同的。然而因为Q-function只输出Q-value,所以看不到实际的分布。

解决方法:可以输出Q值的分布,当具有相同的均值时,选择具有较小方差(风险)的那一个,从而降低不稳定

比如下图右侧是Distributional Q-function,三种颜色代表三种action。同一颜色不同柱子代表在同一state下采取同一action产生的reward落在分布里的几率,具体来说,在绿色柱子里,5个柱子的X轴代表5种不同reward,Y轴代表在某一state采取某一action得到的reward落在此处的几率。
请添加图片描述

【强化学习】11 —— Double DQN算法与Dueling DQN算法 可以看到由于数据点的分布,使得拟合出的价值函数无法与真实的价值函数吻合,甚至在部分区域产生了明显的偏差。Dueling DQN 是 DQN 另一种的改进算法,它在传统 DQN 的基础上只进行了微小的改动,但却能大幅提升 DQN 的表现。这样,即使其中一套神经网络的某个动作存在比较严重的过高估计问题,由于另一套神经网络的存在,这个动作最终使用的值不会存在很大的过高估计问题。.在同一个状态下,所有动作的优势值之和为 0,因为所有动作的动作价值的期望就是这个状态的状态价值。环境的状态包括倒立摆角度的正弦值。 阅读详情

相关推荐

深度强化学习4:Q-learning更高阶的算法

【李宏毅深度强化学习笔记】4、Q-learning更高阶的算法 ...

qq_38888209的博客 692

强化学习《基于价值 - Dueling Q-Learning》

和前面所讲的各种DQN算法不同,Dueling DQN将整个模型结构分成了两个部分,一个为状态值函数V,一个为优势函数A 式子如下: 考虑到具体参数 W是公共部分的网络参数,α是V网络的参数,β是A网络的参数。 Dueling DQN中,输出结果变成Q=V+A,因为有时候在某种state,无论做什么动作,对下一个state都没有多大的影响,所以将Q-function分解为两部分。比如,在一个好的state,无论做什么action,都能得到很高的value;在一个很差的state,无论做什么action

qq_29367075的博客 611

强化学习DQN系列小结

文章目录DQN前言基本模型DQN数学记号公式推导算法流程Nature DQN优化思想算法流程三大优化Double DQN优化思想算法流程Dueling DQN优化思想Prioritized Replay DQN优化思想总结参考文献 DQN 前言 DQN 作为 value-based 的强化学习方法,擅长处理离散情境下的强化学习问题。其本质是 deep learning 版本的 Q-learning,所以其基本模型和 Q-learning 类似,基于TD时间差分设置目标函数,并 ϵ−greedy\epsilo

qq_42778110的博客 1246

深度探索:机器学习中的Dueling DQN算法原理及其应用

Dueling DQN通过引入独特的Dueling Network架构,成功地将Q值分解为状态值函数和优势函数,有效提升了深度强化学习在复杂环境下的学习效率和性能。尽管存在一些局限性,如对特定Q值分解假设的依赖、优势函数估算难度等,但其在众多实际应用中展现出的强大能力,证明了该算法的有效性和实用性。未来的研究可进一步探究如何优化Dueling架构,适应更多样化的环境和任务,以及与其他强化学习技术(如元学习、模仿学习等)结合,推动深度强化学习的边界。

qq_51320133的博客 2245

王树森深度强化学习DRL(四)TD-Learning(Q学习&Sarsa)+ 价值学习进阶技巧(检验回放 + double DQN + Dueling Network)

本文系统梳理了深度强化学习中价值学习的核心算法与进阶技巧。从 TD-Learning 出发,对比了异策略 Q-Learning 与同策略 Sarsa 的原理,并以倒立摆任务为例,展示了表格型 Sarsa 的高效训练与可视化效果。随后深入讲解多步 TD Targets 的优化思路,以及经验回放、目标网络、Double DQN、Dueling DQN 等关键进阶技巧以及实验,并介绍了 Fisher-Yates Shuffle 在经验回放中的作用。为深度价值学习的实践提供了清晰的技术路径。

nju_spy的博客 1740

深度Qlearning核心算法详解

深度Q-learning核心算法详解 1. 背景介绍 深度强化学习是近年来人工智能领域最为活跃和前沿的研究方向之一。其中,深度Q-learning算法作为深度强化学习的核心算法之一,在各类复杂环境下智能体决策制定中发挥着关键作用。本文将深入解析深度Q-learning算法的原理和实现细节,以期为读者提供一份权威而全面的技术参考。

AI天才研究院 461

10天速通强化学习-006--DQN、Double DQN、Dueling DQN

Double DQN :缓解了DQN中对Q值的过高估计Dueling DQN:能够很好地学习到不同动作的差异性,动作空间大时非常有效这可以作为创新点来发掘,记住从DQN到Double DQN (解决现有问题Q值过高)和 Dueling DQN(解决不同动作模式的差别)的转变。r+r+r+%5Ceta。

m0_72169557的博客 2349

DuelingDQN:分离状态价值和优势函数

1. 背景介绍 1.1 强化学习与深度强化学习 强化学习(Reinforcement Learning,RL)是机器学习的一个重要分支,其目标是让智能体(Agent)通过与环境的交互学习到最优的行为策略。智能体在环境中执行动作,并根据环境的反馈(奖励或惩罚)来调整其策略,以最大化累积奖励。

AI天才研究院 1022

强化学习(Double/Prioritised Replay/Dueling DQN)

Q_Learning和Sarsa中都是利用了Q表来记录Q值,小规模场景状态往往比较少,便可以方便的用表存储再查询更新,但很多现实问题状态和动作都很复杂,而且如果出现连续值的状态则需要等距离分割离散,存储量往往太大,比如像下围棋如果还用Q表来存状态是不可能的事情。那么如果不用Q表存取,怎么得到价值函数呢? 近似表示 那么就来拟合吧!即近似表示学习价值函数。v(S)≈v^(S,w)v(S) \app...

nakaizura 5047

DQN系列算法详解

Q-Learning是一种强化学习算法,目的是通过选择能带来最大长期收益的行为来完成任务。做事包含瞬时奖励和记忆经验奖励:瞬时奖励:记忆经验奖励:DQN的引入:(1)状态定义:(2)Q和R的初始化 (3)迭代过程第一轮迭代 在得到最终 Q 表后,智能体可以通过选择 Q 值最高的路径,找到从任意状态出发,到达出口(状态5)的最优逃脱路径。 目录1. Q-learning1.1 概述 1.2 核心流程1.3 案例:密室逃脱2. DQN2.1 DQN的工作原理2.2 DQN的特点3. D

qq_52053775的博客 293

【Lammps】MS将cif通过msi2lmp.exe转为data文件

在Materials Studio中打开cif文件,在Modules工具行选择Forcite>calculation>Energy中选用cvff力场,点击more,不要运行run,在more中取消勾选calculate automatically,点击calculate,然后叉掉后在file>export导出car文件,同步生成了mdf文件。对于MS中没有的立场,选择之后点calculate会报错,右键选择label,然后根据Forcite选择原子,会发现有力场的有标号,没有力场的MS没有对选择标号。

zhangguoliang624的博客 3673

从Q-learning到PPO大全 深度强化学习总结和理解

强化学习总结和理解,都是自己最近学习的总结 ,如果有不对的地方还请指出 这一周一直在学强化学习,总结了常见经典算法,强化学习的资源很少,2015年alphago的成功才火起来。不知道未来会不会继续有突破,学完感觉比深度学习难了很多,资源也非常少,对数学要求极高,还需要提高数学和实践能力,以下为自己看了几十遍算法总结的心得。 强化学习分为在线学习和离线学习 Off-policy:q-learning...

weixin_43167121的博客 5665

Linux SMP系统多核启动机制详解

对称多处理(SMP)是现代操作系统支持多核并行计算的基础架构。其核心原理是通过引导处理器(BSP)初始化系统环境后,通过处理器间中断(IPI)机制唤醒应用处理器(AP)。在x86架构中,AP启动时处于实模式,需要特殊的trampoline代码完成保护模式切换和分页设置。这种设计既保证了系统初始化的正确性,又实现了多核并行处理的性能优势。理解SMP启动流程对优化系统启动速度和调试多核问题至关重要,特别是在云计算和嵌入式系统中,高效的SMP初始化能显著提升系统响应能力。本文以Linux内核为例,深入解析了从BS

weixin_35006125的博客 290

强化学习进阶——DQN

目录 预备知识 基本概念 目标和约束条件 MDP马尔可夫决策过程 假设 基本概念 计算价值函数 Action-Value Function动作价值函数 Optimal value function最优价值函数 策略迭代和值迭代 Q-Learning Q-Learning算法 EE问题 DQN Q-Learning神经网络化 DQN算法及其改进 NIPS DQN ...

baymax_007的博客 3154

ADS1293心电图模块实战:从电极贴片到信号采集的全流程指南

本文提供了一份基于TI ADS1293芯片的心电图采集系统全流程实战指南。文章深入探讨了从电极贴片选择与皮肤预处理、ADS1293前端配置(包括PGA、RLD和威尔逊网络),到PCB布局、电源去耦以及固件滤波与运动伪影处理等关键环节,旨在帮助硬件工程师和嵌入式开发者构建稳定可靠的可穿戴心电监测设备。

weixin_29201313的博客 384

德国冯哈勃 Faulhaber2342L012空心杯减速电机带编码器

为了制作平衡车,我在淘宝上面买了一个 Faulhaber2342L012空心杯减速电机电机,具体参数如下: 一:电机参数 型    号:德国冯哈勃Faulhaber带编码器空心杯减速电机2342L012  12V每分 钟 120转 工作电压: 12V 空载转速:8100RPM(转每分钟) 减速后速:120RPM(转每分钟) 直     径:30mm

u011511430的专栏 1万+

【强化学习】Q Learning

原文链接:https://www.yuque.com/yahei/hey-yahei/rl-q_learning 参考: 机器学习深度学习(李宏毅) - Q Learning 机器学习深度学习(李宏毅) - Q Learning Advanced Tips 机器学习深度学习(李宏毅) - Q Learning Continuous Action 基本形式 Q Learning是一种value-based的RL算法,value-based算法旨在训练一个Critic(记为VπV^\piVπ),它与某个Ac

hey-yahei 715

【全开源】教育培训微信小程序源码(FastAdmin+ThinkPHP+Unipp)

教育培训微信小程序源码以其便捷性、互动性、安全性等优势,成为了教育培训行业的新宠。随着移动互联网技术的不断发展,教育培训微信小程序源码将继续引领未来学习趋势,为学员提供更加优质、高效的学习体验。同时,教育培训机构也应积极拥抱小程序技术,利用源码打造具有自身特色的学习平台,提升品牌影响力和市场竞争力。

2401_84414018的博客 2100

【深度强化学习 DRL 快速实践】Deep Q-learning

Q-learning 快速实践:model-free, off-policy, Value-based

哒哒哒哒 哒哒 1207

宝塔面板+pbootCMS建站全流程:从服务器选购到上线优化(附常见问题排查)

本文提供了一份详尽的宝塔面板与pbootCMS建站实战指南。内容涵盖从云服务器选购、宝塔面板部署与安全加固,到pbootCMS安装、权限配置、数据库连接等核心步骤。同时深入讲解了PHP环境优化、Nginx伪静态设置、缓存开启等性能与SEO优化技巧,并附有常见问题排查与后期维护建议,帮助用户高效、稳健地完成专业网站构建。

e4f5g6h的博客 660

详解账务核心,从入门到精通

本文系统阐述了账务体系的设计原理与实现方法,围绕支付交易的基础设施——账务系统展开深入探讨。文章首先从账务实现原理出发,强调从客户场景中抽象能力的重要性,详细解析了账务总架构及其与外围系统的协同关系。随后重点剖析了账户子系统的设计,包括账户生态、主体管理、结构设计等核心要素,并针对热点账户问题提出了多种创新解决方案。此外,文章还深入探讨了会计日切原理、营销类账务处理等专业领域,最后以支付机构场景为例,全面解析了清结算业务的账务实现模型。全文通过理论结合实践的方式,为构建高效、可靠的账务系统提供了系统性的方法

银行信息系统应用架构详解 531

强化学习开发环境搭建与入门实验——CliffWalking与CartPole

本文讲解了强化学习的环境配置+服务器特殊配置+CliffWalking和CartPole的代码解析

亦梦亦醒乐逍遥的博客 6615

UniRx之基本语法格式

想要更好的去学习UniRx,我们最好是先理解UniRx 的语法格式。就像我们去学习英语或者汉语一样,理解了基本的语法规则后,再学其他的就信手拈来了。

TxNet 924

【李宏毅机器学习课程笔记】深度强化学习(三)——Q-Learning

文章目录Q-Learning简介Tips for Q-LearningTypical Q-Learning AlgorithmQ-Learning for Continous Action Q-Learning简介 Q-Learning是强化学习中一种Value-Based的方法,它所学习的不是一个Policy,而是一个Critic,Critic并不直接采取行为,而是评价当前的行为是好的或者不好的; 相关术语: State value function Vπ(s){V^\pi }(s)Vπ(s) 这个f

weixin_42770354的博客 1449

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

Q-learning算法及其衍生算法Dyna-Q、DQN

当环境的奖励函数和状态转移函数未知时,我们需要直接使用和环境交互的过程中采样到的数据来学习。 根据状态价值函数的定义。我们可以分别列出当状态s被访问k次以及被访问k+1次时的状态价值函数。 Vk(s)=1k∑i=1kGi(1.1)V_k(s)=\frac{1}{k}\sum_{i=1}^{k}G_i\text{(1.1)}Vk​(s)=k1​i=1∑k​Gi​(1.1) Vk+1(s)=1k+1∑i=1k+1Gi(1.2)V_{k+1}(s)=\frac{1}{k+1}\sum_{i=1}^{k+1}G_i

Young Doro 846

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

强化学习组队学习task04—— DQN 算法及 Actor-Critic 算法

文章目录一、DQN1.状态价值函数的估计方法2.Q函数3.DQN网络中的tips(1)目标网络(2)Exploration(3)Experience Replay(经验回放)4.DQN算法总结二、Q-learning进阶三、连续行为的Q-learning四、Actor-critic 一、DQN 在 Q-learning 中,我们使用表格来存储每个状态 s 下采取动作 a 获得的奖励,即状态-动作值函数 。然而,这种方法在状态量巨大甚至是连续的任务中,会遇到维度灾难问题,往往是不可行的。因此,DQN 是指基于

weixin_45325331的博客 1980

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

上一篇: Policy Gradient (PG)与Proximal Policy Optimization (PPO)算法详解
下一篇: 基于stable-baselines3的PPO和DQN训练LunarLander-v2
Ceder1c
博客等级 码龄7年 268粉丝 44原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值