【RL】(task1)马尔科夫过程、动态规划、DQN

这篇具有很好参考价值的文章主要介绍了【RL】(task1)马尔科夫过程、动态规划、DQN。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

note

一、马尔科夫过程

  • 递归结构形式的贝尔曼方程计算给定状态下的预期回报,这样的方式使得用逐步迭代的方法就能逼近真实的状态/行动值。
    有了Bellman equation就可以计算价值函数了
  • 马尔科夫过程描述了一个具有无记忆性质的随机过程,未来状态只依赖于当前状态,与过去状态无关,类似于一个人在空间中的随机游走。

二、动态规划

动态规划:多阶段决策问题的方法,它将问题分解为一系列的子问题,并通过保存子问题的解来构建整体问题的解。

贝尔曼方程

\qquad 类比于回报公式 G t = R t + 1 + γ G t + 1 G_{t} = R_{t+1}+\gamma G_{t+1} Gt=Rt+1+γGt+1,也可以对状态价值函数和动作价值函数做一个类似的推导,如下:

V π ( s ) = E π [ G t ∣ S t = s ] = E π [ R t + 1 + γ R t + 2 + γ 2 R t + 3 + ⋯ ∣ S t = s ] = E [ R t + 1 ∣ s t = s ] + γ E [ R t + 2 + γ R t + 3 + γ 2 R t + 4 + ⋯ ∣ S t = s ] = R ( s ) + γ E [ G t + 1 ∣ S t = s ] = R ( s ) + γ E [ V π ( s t + 1 ) ∣ S t = s ] = R ( s ) + γ ∑ s ′ ∈ S P ( S t + 1 = s ′ ∣ S t = s ) V π ( s ′ ) = R ( s ) + γ ∑ s ′ ∈ S p ( s ′ ∣ s ) V π ( s ′ ) \begin{aligned} V_{\pi}(s) & =\mathbb{E}_{\pi}\left[G_t \mid S_t=s\right] \\ & =\mathbb{E}_{\pi}\left[R_{t+1}+\gamma R_{t+2}+\gamma^2 R_{t+3}+\cdots \mid S_t=s\right] \\ & =\mathbb{E}\left[R_{t+1} \mid s_t=s\right]+\gamma \mathbb{E}\left[R_{t+2}+\gamma R_{t+3}+\gamma^2 R_{t+4}+\cdots \mid S_t=s\right] \\ & =R(s)+\gamma \mathbb{E}\left[G_{t+1} \mid S_t=s\right] \\ & =R(s)+\gamma \mathbb{E}\left[V_{\pi}\left(s_{t+1}\right) \mid S_t=s\right] \\ & =R(s)+\gamma \sum_{s^{\prime} \in S} P\left(S_{t+1}=s^{\prime} \mid S_{t}=s\right) V_{\pi}\left(s^{\prime}\right)\\ & =R(s)+\gamma \sum_{s^{\prime} \in S} p\left(s^{\prime} \mid s\right) V_{\pi}\left(s^{\prime}\right) \end{aligned} Vπ(s)=Eπ[GtSt=s]=Eπ[Rt+1+γRt+2+γ2Rt+3+St=s]=E[Rt+1st=s]+γE[Rt+2+γRt+3+γ2Rt+4+St=s]=R(s)+γE[Gt+1St=s]=R(s)+γE[Vπ(st+1)St=s]=R(s)+γsSP(St+1=sSt=s)Vπ(s)=R(s)+γsSp(ss)Vπ(s)

\qquad 其中 R ( s ) R(s) R(s) 表示奖励函数, P ( S t + 1 = s ′ ∣ S t = s ) P(S_{t+1}=s^{\prime} \mid S_{t}=s) P(St+1=sSt=s)就是前面讲的状态转移概率,习惯简写成 p ( s ′ ∣ s ) p\left(s^{\prime} \mid s\right) p(ss),这就是贝尔曼方程(Bellman Equation)。贝尔曼方程的重要意义就在于前面所说的满足动态规划的最优化原理,即将前后两个状态之间联系起来,以便于递归地解决问题。

\qquad 类似地,动作价值函数贝尔曼方程推导为:

Q π ( s , a ) = R ( s , a ) + γ ∑ s ′ ∈ S p ( s ′ ∣ s , a ) ∑ a ′ ∈ A π ( a ′ ∣ s ′ ) Q π ( s ′ , a ′ ) Q_{\pi}(s,a) = R(s,a) + \gamma \sum_{s^{\prime} \in S} p\left(s^{\prime} \mid s,a\right) \sum_{a^{\prime} \in A} \pi\left(a^{\prime} \mid s ^{\prime} \right)Q_{\pi}\left(s^{\prime},a'\right) Qπ(s,a)=R(s,a)+γsSp(ss,a)aAπ(as)Qπ(s,a)

\qquad 前面我们提到状态价值函数的定义就是按照某种策略 π \pi π进行决策得到的累积回报期望,换句话说,在最优策略下,状态价值函数也是最优的,相应的动作价值函数也最优。我们的目标是使得累积的回报最大化,那么最优策略下的状态价值函数可以表示为:

V ∗ ( s ) = max ⁡ a E [ R t + 1 + γ V ∗ ( S t + 1 ) ∣ S t = s , A t = a ] = max ⁡ a ∑ s ′ , r p ( s ′ , r ∣ s , a ) [ r + γ V ∗ ( s ′ ) ] \begin{aligned} V^{*}(s)&=\max _a \mathbb{E}\left[R_{t+1}+\gamma V^{*}\left(S_{t+1}\right) \mid S_t=s, A_t=a\right] \\ &=\max_a \sum_{s',r}p(s',r|s,a)[r+\gamma V^{*}(s')] \end{aligned} V(s)=amaxE[Rt+1+γV(St+1)St=s,At=a]=amaxs,rp(s,rs,a)[r+γV(s)]

\qquad 这个公式叫做贝尔曼最优方程(Bellman optimality equation),它对于后面要讲的策略迭代算法具有一定的指导意义。对于动作价值函数也是同理,如下:
Q ∗ ( s , a ) = E [ R t + 1 + γ max ⁡ a ′ Q ∗ ( S t + 1 , a ′ ) ∣ S t = s , A t = a ] = ∑ s ′ , r p ( s ′ , r ∣ s , a ) [ r + γ max ⁡ a ′ Q ∗ ( s ′ , a ′ ) ] \begin{aligned} Q^{*}(s, a) & =\mathbb{E}\left[R_{t+1}+\gamma \max _{a^{\prime}} Q^{*}\left(S_{t+1}, a^{\prime}\right) \mid S_t=s, A_t=a\right] \\ & =\sum_{s^{\prime}, r} p\left(s^{\prime}, r \mid s, a\right)\left[r+\gamma \max _{a^{\prime}} Q^{*}\left(s^{\prime}, a^{\prime}\right)\right] \end{aligned} Q(s,a)=E[Rt+1+γamaxQ(St+1,a)St=s,At=a]=s,rp(s,rs,a)[r+γamaxQ(s,a)]

DQN算法

DQN算法的基本思想是使用一个深度神经网络作为智能体的Q函数近似器。Q函数表示在给定状态下采取某个动作的预期回报值。算法通过不断地在环境中与智能体的交互过程中,收集样本数据,然后使用这些数据来训练Q网络,使其能够预测最优的行动选择。

DQN算法的训练过程可以分为以下几个步骤:

  • 初始化一个深度神经网络作为Q函数的近似器。
  • 在每个时间步,智能体观察当前的状态,并根据当前状态选择一个动作。选择动作时可以使用ε-greedy策略,即以ε的概率随机选择动作,以1-ε的概率选择当前Q值最高的动作。
  • 智能体执行选择的动作,与环境进行交互,并观察得到的奖励和下一个状态。
  • 将当前状态、选择的动作、得到的奖励和下一个状态组成一个样本,存储在经验回放缓冲区中。
  • 从经验回放缓冲区中随机采样一批样本,用于训练Q网络。训练过程中使用目标Q网络和当前Q网络的差异来计算损失,并通过反向传播算法来更新网络参数。
  • 定期更新目标Q网络的参数,将当前Q网络的参数复制给目标Q网络。
  • 重复步骤2至步骤6,直到达到预先设定的停止条件或训练轮数。

通过这样的训练过程,DQN算法能够逐步优化Q网络的参数,使其能够更准确地预测每个状态下的最优动作,并实现智能体在环境中做出最优决策的能力。

时间安排

任务 天数 截止时间 注意事项
Task01: 马尔可夫过程、DQN算法 3天 1月15周一-17日周三
Task02: 策略梯度算法 3天 1月18日周四-20周六
Task03: A2C、A3C算法、JoyRL开源文档(关注多进程) 3天 1月21日周日-23日周二
Task04: DDPG、TD3算法 3天 1月24日周三-26日周五
Task05: PPO算法,JoyRL代码实践(选择任一算法任一环境,研究算法不同参数给实验结果带来的影响,也可以用JoyRL上没有跑过的环境尝试) 6天 1月27日周六-2月1号周四

Reference

[1] 开源内容https://linklearner.com/learn/detail/91
[2] https://github.com/datawhalechina/joyrl-book文章来源地址https://www.toymoban.com/news/detail-812903.html

到了这里,关于【RL】(task1)马尔科夫过程、动态规划、DQN的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【随机过程-学习笔记】(1)--马尔科夫链的定义与转移概率与绝对概率

    马尔科夫链的出现 具有马氏性,是指今天与昨天有关,但与前天无关(广义理解)。 p ( x t ∣ x t − 1 , x t − 2 , . . . x t − n ) = p ( x t ∣ x t − 1 ) p(x_t|x_{t-1},x_{t-2},...x_{t-n})=p(x_t|x_{t-1}) p ( x t ​ ∣ x t − 1 ​ , x t − 2 ​ , ... x t − n ​ ) = p ( x t ​ ∣ x t − 1 ​ ) , x t x_t x t ​

    2024年01月18日
    浏览(40)
  • 马尔科夫状态转移矩阵

    一、马尔科夫状态转移矩阵性质 1. 每个时间点处在某一个状态,时间是离散的。 2. 每次到下一个时间点时按照图进行随机状态转移。 3. 假如某时的状态是个统计分布(看做向量),那么用状态转移矩阵(权值)乘这个向量就得下一时刻的状态。马尔可夫链的状态数可以是有

    2024年02月13日
    浏览(47)
  • 马尔科夫链(Markov Chain)

    马尔可夫性(Markov Property)是指系统的下一个状态 仅与当前状态有关,而与以前的状态无关 (即无记忆性(memorylessness),系统不记得当前状态以前的状态,仅仅基于当前状态来决定下一个时刻转移到什么状态) 如果指标集(index set)是连续的,则称为连续时间马尔可夫链(Continuou

    2024年02月05日
    浏览(34)
  • 初识马尔科夫模型(Markov Model)

    马尔科夫模型(Markov Model)是一种概率模型,用于描述随机系统中随时间变化的概率分布。马尔科夫模型基于马尔科夫假设,即当前状态只与其前一个状态相关,与其他状态无关。 马尔科夫模型具有如下几个性质: ① 马尔科夫性 :即马尔科夫模型的下一个状态只与当前状态

    2024年02月04日
    浏览(29)
  • 机器学习基础 HMM模型(隐马尔科夫)

    推荐参考:https://juejin.cn/post/6844903891834781703 在机器学习算法中,马尔可夫链(Markov chain)是个很重要的概念。马尔可夫链(Markov chain),又称离散时间马尔可夫链(discrete-time Markov chain),因俄国数学家安德烈·马尔可夫(俄语:Андрей Андреевич Марков)得名。 马尔科

    2024年02月02日
    浏览(71)
  • python之马尔科夫链(Markov Chain)

    马尔可夫链(Markov Chain)是一种随机过程,具有“马尔可夫性质”,即在给定当前状态的条件下,未来状态的概率分布仅依赖于当前状态,而与过去状态无关。马尔可夫链在很多领域都有广泛的应用,包括蒙特卡洛方法、统计物理学、自然语言处理等。 马尔可夫链的一般定义

    2024年02月21日
    浏览(45)
  • 8.(Python数模)(预测模型一)马尔科夫链预测

    马尔科夫链是一种进行预测的方法,常用于系统未来时刻情况只和现在有关, 而与过去无关 。 用下面这个例子来讲述马尔科夫链。 如何预测下一时刻计算机发生故障的概率? 当前状态只存在0(故障状态)和1(正常状态)两种,每种状态下各存在两个未来状态(00,01,11,10)

    2024年02月09日
    浏览(47)
  • 语音识别的进展:从隐马尔科夫模型到Transformers

    语音识别,也称为语音转文本,是一种将人类语音信号转换为文本的技术。它在人工智能领域具有重要的应用价值,例如语音助手、语音密码等。语音识别技术的发展历程可以分为以下几个阶段: 早期语音识别技术(1950年代至1970年代):这一阶段的语音识别技术主要基于隐

    2024年02月03日
    浏览(53)
  • 15、条件概率、全概率公式、贝叶斯公式、马尔科夫链

    定义:设A、B是两个事件,且,P(A) 0 则称 为事件A发生的条件下事件B的条件概率 对这个式子进行变形,即可得到概率的乘法公式: P(A) 0 时,则 P(B) 0 时,则 乍一看,这个式子不就是把除法形式写成了乘法形式嘛,不然不然,这个区别是本质的,分母不为0很关键,而且看法也

    2024年02月13日
    浏览(47)
  • 【线性代数07】马尔科夫矩阵和傅里叶矩阵

      本篇可以看作对行列式和特征值应用的举例。但我会谈些我感兴趣的部分,即离散信源信道模型和循环矩阵的对角化。 这个矩阵从概率论中概率的定义生发,因此 各元素实际上就是非负的概率值 。马尔科夫矩阵(Markov matrix)又称概率矩阵(probability matrix)、转移概率矩

    2024年02月04日
    浏览(40)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包